ãUnity1ãã¦ããã£ã¡ãããèªåã§ç§»åï¼Spriteç»å, velocityãã¦ããã£ã¡ãã縦ã¹ã¯ãã¼ã«1ã
Unity5.1.1f1 Personal(2015å¹´6æ)
Â
Â
ä»åããUnityã使ã£ã¦ã2Dã®ããã²ã¼ã ãä½ã£ã¦ããããã¨æãã¾ãï½
縦ã«ã¹ã¯ãã¼ã«ãã¦ããã¢ã¯ã·ã§ã³ã²ã¼ã ãä½ããã¨æãã®ã§ãããä»åã¯ã¾ããã£ã©ã¯ã¿ã¼ã§ããã¦ããã£ã¡ããããèªåã§ç§»åãããå¦çãå®è£ ããã¨ããã¾ã§é²ãã¦ããããã¨æãã¾ãã
ãç®æ¨ããã£ã©ã¯ã¿ã¼ãèªåã§ç§»åãããï¼
Â
ã¨ãããã以ä¸ã¨ãã»ã³ã¹ãåç §ããProjectã¨Sceneãä½æãã¾ããããSceneåã¯ãMainãã«ãã¾ãã
Â
 Â
ãã¦ãé ã追ã£ã¦è¦ã¦ããã¾ãããã
Â
â ã¦ããã£ã¡ãããã²ã¼ã ç»é¢ã«è¡¨ç¤ºããã
ã¾ãã¯ãã£ã©ã¯ã¿ã¼ãã²ã¼ã ç»é¢ã«è¡¨ç¤ºããããã¨æãã¾ãã
ãã£ã©ã¯ã¿ã¼ã¯ã¦ããã£ã¡ããã使ãããã¦é ãã¾ãï½Unityéããã¹æ§ã®ãã¦ããã£ã¡ããã®2D横ã¹ã¯ãã¼ã«ã¢ã¯ã·ã§ã³ï¼ãã®1ï¼ãã£ã©é ç½®ï¼ããã¥ã¼ããªã¢ã«ããããã¦ã³ãã¼ãã§ãã¾ãããããã¨ããããã¾ãï¼
Â
ã¾ãã¯ãã¦ã³ãã¼ãããããã±ã¼ã¸ï¼Unity-chan Dot(Co89) .unitypackageï¼ããProjectæ¬ã¸ãã©ãã°ï¼ãããããã¦Importãã¾ãããã
Â
ãã©ãã°ï¼ããããï¼
Â
Importãã¿ã³ãæ¼ã
Â
Importããç»åã¯Spritesã¨ããååã®ãã©ã«ããä½æããããã«ä¿åãã¦ããã¾ãããã
Â
Spritesãã©ã«ããä½æãä¿å
Â
 次ã«ã¦ããã£ã¡ãããé ç½®ãã¾ããããImportãããã©ã«ãã®ä¸ã®ã¦ããã£ã¡ãã_å¾ æ©ã¨ããSpriteç»åãé¸æãã¦ä¸ããï¼
Â
Â
TextureTypeã¯ããã ã®ç»åã¨ãã¦æ±ãã(Texture)ãUnity2Dã®æ©è½ãå©ç¨ããã(2D and UI)é¸æã§ãã¾ããä»åã¯2D and UIã«ãã¾ããããã©ã«ãã§ãªã£ã¦ããã¯ãã§ãï¼
Â
SpriteModeã¯Spriteç»åã1æã®ç»åã¨ãã¦æ±ãã(Single)ãè¤æ°ã®ç»åã«åãé¢ãã¦ä½¿ãã(Multiple)é¸æã§ãã¾ããä»åã¯ããã©ã«ãã§Multipleã¨ãªã£ã¦ãããå¾ æ©ç»åã¯0ã7ã¾ã§æ¢ã«åãé¢ãã¦ããã¾ãã®ã§ããã®ã¾ã¾ä½¿ãããã¦é ãã¾ãããã
Â
Sprite ModeãMultipleã«ããæã«ç»åã®åãé¢ããããã«ã¯ãSprite Editorç»é¢ããè¡ãã¾ããï¼ç¹ä¿®æ£ãããã®ã§ãã¡ãã£ã¨è¦ã¦ã¿ã¾ãããã
Â
Sprite Editorãã¿ã³ãã¯ãªãã¯
Â
Sprite Editorç»é¢ããã®ç»é¢ã§ç»åãåãé¢ã
Â
å·¦ä¸ã«ããSliceãã¿ã³ãæ¼ãã¦ãå®éã«ç»åã®åãé¢ãä½æ¥ãè¡ãã¾ããä»åã¯PivotãCenterããBottomã«å¤æ´ãããã®ã§ã以ä¸ã®ãããªè¨å®ã«ãSliceãã¿ã³ãæ¼ãã¦ä¸ããã
Â
Â
PivotãCenterããBottomã«å¤æ´ãã¦ããã¨ãå¾ã ã¸ã£ã³ãæ©è½ãå®è£ ããæã«ã¦ããã£ã¡ãããå°é¢ã«æ¥ãã¦ãããå¤å®ããæã«å½¹ç«ã¡ã¾ãã®ã§ãããã§å ã«è¨å®ãã¦ããã¾ãã
Â
Inspectorãã¥ã¼ã«æ»ãã¾ãã¦ãFilterModeã¯ããã©ã«ãã®Bilinearãããã¯Trilinearã ã¨ãã©ã¼ããããããããã§è¦ããããã«ãªãã¾ããä»åã¯ãããçµµãªã®ã§Pointã«ãã¦ããããããã£ããã¨è¡¨ç¤ºããã¾ãããã
Â
 2DSpriteç»åã«ã¤ãã¦ã¯ä»¥ä¸ã¨ãã»ã³ã¹ã§ã詳ããç´¹ä»ãã¦ãã¾ãã®ã§ããåç §ä¸ããã
Â
Â
ã¦ããã£ã¡ããå¾ æ©_0ã¨ããSpriteç»åããHierarchyæ¬ã¸ãã©ãã°ï¼ããããããååãPlayerã«å¤æ´ãã¾ãããã
Â
ãã©ãã°ï¼ããããï¼
Â
ã¤ãã§ã«Cubeã¨Directional Lightãä½æãã¦ãå°é¢ãä½ã£ã¦ããã¾ãã
Â
å°é¢ã¨ã©ã¤ããä½æãã¦ãã
Â
â¡ã¦ããã£ã¡ãããå°é¢ã«ç«ããã
Unityå ¥éæ¸ãèªãã¨ã ãããããã§ãã¦ããã£ã¡ããã«RigidBodyã¨BoxColliderã®ã³ã³ãã¼ãã³ããä»ãã¦éåããããã®ã§ããã2Dç¨ç»åã§ããSpriteãæ±ãå ´åã¯AddComponent>Physics2DãããRigidBody2Dã¨BoxCollider2Dãã¤ãã¾ãã
Â
ããã¦ãå°é¢ã§ããCubeã«ä»ãã¦ããBoxColliderãåãé¤ããBoxCollider2Dãã¤ãã¾ãã
Â
Colliderã¯2Dãªã2Då士ã3Dï¼ç¡å°ï¼ãªã3Då士ã§ããè¡çªå¤å®ãããªãããã§ãã
Â
Playerã«ã¯RigidBody2Dã¨BoxCollider2D(Colliderã®Offsetã¨Sizeã¯è¦å¤æ´)
Â
Cubeã«ã¯BoxCollider2Dãã¤ãã
Â
ãã®ç¶æ ã§ã²ã¼ã ãå®è¡ããã¨ãéåã§ã¦ããã£ã¡ãããå°é¢ã«çé¸ãã¾ãã
Â
çé¸ï¼ç«ã£ãï¼
Â
â¢ã¦ããã£ã¡ãããèªåã§æ¨ªã«åããÂ
ããã§ã¯ãããããã¦ããã£ã¡ãããåããPlayerScriptãæ¸ãã¦ããã¾ãï½ä»¥ä¸ã½ã¼ã¹ã§ãã
Â
Â
Startã¡ã½ããã«ã¦rbã¨ããå¤æ°ã«GetComponent<Rigidbody2D>()ã¨ããå¦çãæ ¼ç´ãã¦ãã¾ãã
Â
ã¹ã¯ãªããå ã§Rigidbody2Dã«é¢ããå¦çãè¡ãå ´åãäºãGetComponentã«ããæ示çã«ã³ã³ãã¼ãã³ããåå¾ãã¦ãããªãã¨ãããªãã«ã¼ã«ãªã®ã§ããããã®ããã«Startã¡ã½ããã§äºãå¤æ°ã«åå¾ãã¦ããã¦ãå¤æ°ã使ãã¾ããã°ãæ¯åGetComponentãè¡ãå¿ è¦ããªããªãã¾ãã
Â
ãã®æä½ããã£ãã·ã¥ããã¨è¨ããä½åº¦ãGetComponentãè¡ããªãã®ã§å¦çã軽ããªãã¾ãã
Â
Unity4ã¾ã§ã¯rigidBody2Dï¼é æåãå°æåï¼ã¨æ¸ãã ãã§æé»çã«GetComponent<RigidBody2D>()ãè¡ã£ãã®ã¨åãå¹æã ã£ãã®ã§ãããUnity5ããã¯æ示çã«å®£è¨ããªãã¨ä½¿ããªããªã£ã¦ãã¾ãã¾ããã
Â
velocityã¯é度ãæå³ããæå®ããæ¹åã¸æå®ããæ°å¤åãªãã¸ã§ã¯ãã移åããã¾ãã
ä»åmoveSpeedã«2ãæå®ãã¦ããã®ã§ãX軸æ¹åã«2ã®åãæ¯ãã¬ã¼ã ããç¶ãã¦ããã¨ããæå³ã§ãã
ã¡ãªã¿ã«Yã«ã¯velocity.yãæå®ãã¦ãã¾ãããããã¯ä»ã®é度ããã®ã¾ã¾å ¥ãã¦ããã ããªã®ã§ãéåã®å½±é¿ããã®ã¾ã¾ãªãã¸ã§ã¯ãã«åæ ãã¾ãã
 ãçµæã
ã¹ã£ã¼ã³
ç¡äºåãããã¨ãã§ãã¾ããï½
ã¾ã ã¾ã ä½ãåãããªãç¶æ
ã§ãããå°ããã¤åå¼·ãã¦ãããã¨æãã¾ãã
ãããã¨ããããã¾ããï½Â
Â
ï¼ï¼ï¼è£è¶³ï¼ï¼ï¼
PlayerScriptã«Updateã¡ã½ããã§ã¯ãªãFixedUpdateã使ããã¦ãã¾ãã
Â
Updateã®å ´åã¯ç«¯æ«ã®å¦çè½åã«ããããã¬ã¼ã æ°ï¼1ç§éã«ä½åUpdateãè¡ãããfpsã¨è¨ãã¾ãï¼ãå¤ãã£ã¦ãã¾ãã¾ããããããFixedUpdateã使ãã°ã©ã®ç«¯æ«ã§ãåãfpsã§å¦çãè¡ã£ã¦ããã¾ãã
Â
ãã¿ã³å ¥åçã®ä¸ç¬ã®å¦çã¯Updateã¡ã½ããã§ã移åå¦ççã®ç«¯æ«ã«ãã£ã¦å·®ç°ãåºããããªãå®éçãªå¦çã¯FixedUpdateã¡ã½ããã使ãããã«ãã¾ãããã
Â
ã¡ãªã¿ã«FixedUpdateã¯ããã©ã«ãã§ã¯50fpsã«è¨å®ããã¦ãã¾ãããEdit>ProjectSettings>Timeã«ããFixedTimestepã®å¤ãå¤æ´ãããã¨ã§èª¿æ´ã§ãã¾ãã
Â
Timeãã
Â
FixedTimestepã«ã¦èª¿æ´
Â