ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ04·î22Æü(¶â) 14:01:02ÍúÎò
¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¼ê½ç£´¡¡¡¼¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°µ¡Ç½¤Î¼ÂÁõ¡¼
¡¡¡¦SerializeField °À ¡¡¡¦TryGetComponent ¥á¥½¥Ã¥É¤È out ¥¡¼¥ï¡¼¥ÉÀë¸À ¡¡¡¦Input.GetAxis ¥á¥½¥Ã¥É ¡¡¡¦FixedUpdate ¥á¥½¥Ã¥É ¡¡¡¦Rigidbody.velocity ÊÑ¿ô
¡¡¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¤Ë¤Ä¤¤¤Æ¤Ï¡¢¤Þ¤º¤Ïº¸±¦Êý¸þ¤Î¤ß¤Î°ÜÆ°¤ò¹Ô¤¦·Á¤Ç¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡È¯Å¸ÊԤǤϡ¢»ØÄꤷ¤¿¥ì¡¼¥ó¾å¤òº¸±¦°ÜÆ°¤µ¤»¤ë¤³¤È¤Ç¡¢¥²¡¼¥à²èÌ̤αü¹Ô¤òÍøÍѤ·¤¿º¸±¦°ÜÆ°¤ò¹Ô¤¨¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£
¡¡¤Þ¤º¤ÏºÇ½é¤Ë¥×¥ì¥¤¥ä¡¼¤Îʬ¿È¤È¤Ê¤ë£³£Ä¥¥ã¥é¥¯¥¿¡¼¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥²¡¼¥à²èÌ̤ËÇÛÃÖ¤·¤Þ¤¹¡£
¤½¤Î¸å¡¢°ÜÆ°ÍѤΥ¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¤ò¼ÂÁõ¤·¤Þ¤¹¡£
¡¡¥×¥ì¥¤¥ä¡¼ÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
¡¡¥¢¥»¥Ã¥È¥¹¥È¥¢¤ä¡¢ÌµÎÁ¤Î£³£Ä¥â¥Ç¥ë¥µ¥¤¥È¤Ê¤É¤«¤é¥²¡¼¥à¤ËÍøÍѤ·¤¿¤¤¥¥ã¥é¥¯¥¿¡¼¤Î¥â¥Ç¥ë¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ¡¢Unity ¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤Þ¤¹¡£
¡¡º£²ó¤ÎÀ©ºîÎã¤Ç¤Ï¡¢Unity ¸ø¼°¥¥ã¥é¥¯¥¿¡¼¤Ç¤¢¤ë UnityChan ¤Î¥Ç¡¼¥¿¤òÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¤½¤Á¤é¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï¡¢²¼µ¤Î¸ø¼°¥µ¥¤¥È¤è¤ê¡¢É¬Íפʥǡ¼¥¿¤ò¥À¥¦¥ó¥í¡¼¥É¤·¤Æ Unity ¤Ø¥¤¥ó¥Ý¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤¡£
UNITY-CHAN! OFFICIAL WEBSITE
https://unity-chan.com/
¡¡
¡¡¿§¡¹¤Ê¼ïÎà¤Î Unity ¤Á¤ã¤ó¤Î¥â¥Ç¥ë¤ä¡¢Â¾¤Î¥¥ã¥é¥¯¥¿¡¼¤Î¥â¥Ç¥ë¤â¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¼«Ê¬¤ÎÀ¤³¦´Ñ¤Ë¸«¹ç¤Ã¤¿¤â¤Î¤òÍøÍѤ·¤Þ¤·¤ç¤¦¡£
¥Î¡¼¥Þ¥ë

¥Ç¥Õ¥©¥ë¥á

¥í¡¼¥Ý¥ê

¡¡Â³¤¤¤Æ¡¢Scene¥Ó¥å¡¼ Æâ¤Ë¥¤¥ó¥Ý¡¼¥È¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤ÆÇÛÃÖ¤·¤Þ¤¹¡£
¥Ò¥¨¥é¥ë¥¡¼¤ËÀßÃÖ¤·¤Æ¤â¤¤¤¤¤Ç¤¹¡£
¡¡Unity ¤Á¤ã¤ó¤Î¾ì¹ç¤Ë¤Ï¡¢Prefabs ¥Õ¥©¥ë¥ÀÆâ¤Ë¤¢¤ë Unitychan ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¤¯¤À¤µ¤¤¡£
¤½¤ì°Ê³°¤Î¥¢¥»¥Ã¥È¤Î¾ì¹ç¤Ë¤âÂçÂÎ Prefabs ¥Õ¥©¥ë¥À¤¬¤¢¤ê¡¢¤½¤ÎÃæ¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¥â¥Ç¥ë¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÍøÍѤ¹¤ë¤È¤¤¤¤¤Ç¤·¤ç¤¦¡£
¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹
Assets/UnityChan/Prefabs/unitychan.prefab
¡¡
¥Õ¥©¥ë¥À²èÁü

¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ç¥×¥ì¥¤¥ä¡¼ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ë¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£
ʪÍý±é»»¤òÍøÍѤ¹¤ë¤¿¤á¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Î°ìÈÖ²¼¤Ë¤¢¤ë Add Component ¥Ü¥¿¥ó¤ò²¡²¼¤·¤Æ¡¢Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤È CapsuleCollider ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄɲä·¤Þ¤¹¡£
»²¹ÍÎã¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¡¡¾åµ²èÁü¤ÎÊä¤Ȥ·¤Þ¤·¤Æ¡¢Unitychan ¤Î¥â¥Ç¥ë¤Ë¤è¤Ã¤Æ¤Ï SpringManager ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ä¡¢Auto Blink ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤È¤¤¤Ã¤¿¤â¤Î¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤â¤¢¤ê¤Þ¤¹¤¬¡¢
¤³¤ì¤é¤Ï¤Ê¤¯¤Æ¤âÌäÂꤢ¤ê¤Þ¤»¤ó¡£¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢¤½¤Î¤Þ¤Þ½é´üÀßÄê¤Î¤Þ¤Þ¤ÇÌäÂꤢ¤ê¤Þ¤»¤ó¡£
¡¡¤Þ¤¿¡¢Transform ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î Position ¤ÎÃͤˤĤ¤¤Æ¤Ï¡¢¼«Ê¬¤¬¥²¡¼¥àÆâ¤ËÇÛÃÖ¤·¤¿°ÌÃÖ¾ðÊó¤¬ÀßÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢
¤³¤Î²èÁü¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ÎÃͤˤ¹¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£(¤¢¤¯¤Þ¤Ç¤â»²¹ÍÎã¤Ç¤¹¡£)
¡¡Â³¤¤¤Æ¡¢Äɲä·¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥ÈÆâ¤Ë¤¢¤ë Constraints ¤ÎÀßÄê¤ò¹Ô¤¤¡¢ÊªÍý±é»»»þ¤Ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬¼«Ê¬¤ÎÎϤDz󞤷¤Æ¤·¤Þ¤ï¤Ê¤¤¤è¤¦¤Ë
Freeze Rotation ¤Î³Æ¹àÌÜ(X¡¢Y¡¢Z)¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¤Þ¤¹¡£Freeze Position ¤ÎÊý¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢µ¤¤òÉÕ¤±¤Æ¤¯¤À¤µ¤¤¡£
¡¡CapsuleCollider ¥³¥ó¥Ý¡¼¥Í¥ó¥ÈÆâ¤Î Edit Collider ¤Î¥Ü¥¿¥ó¤ò²¡¤¹¤È¡¢Scene¥Ó¥å¡¼ Æâ¤Ë¥³¥é¥¤¥À¡¼¤¬²Ä»ë²½¤µ¤ì¤Æ¡¢¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤Ç¥µ¥¤¥º¤òÊѹ¹½ÐÍè¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¥ã¥é¤Î¥â¥Ç¥ë¤Ë¹ç¤Ã¤¿·Á¾õ¤ËÄ´À°¤ò¹Ô¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¡¡¥×¥ì¥¤¥ä¡¼¤Î¾ðÊó¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥È¤È¤·¤Æ PlayerController ¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
¤³¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Ë°ÜÆ°¤Î½èÍý¤òµ½Ò¤·¡¢¥×¥ì¥¤¥ä¡¼¤òÀ©¸æ¤·¤Þ¤¹¡£
¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ¤¤¤¯ºÝ¤Ë¤Ï¡¢À衹¤Î¤³¤È¤ò¹Í¤¨¤Æ¡¢»öÁ°¤Ë¥Õ¥©¥ë¥À¤òºîÀ®¤·¡¢¤½¤ÎÃæ¤Ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Æ¤¤¤¯¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
¡¡Assets ¥Õ¥©¥ë¥ÀÆâ¤Ç±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¯¤È¡¢Create => Folder ¤È¤¤¤¦¥³¥Þ¥ó¥É¤¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤Ç¿·¤·¤¤¥Õ¥©¥ë¥À¤òºîÀ®¤Ç¤¤Þ¤¹¡£
Scripts ¤Î¤è¤¦¤Ê¤ï¤«¤ê¤ä¤¹¤¤¤Ç¥Õ¥©¥ë¥À¤òºîÀ®¤·¡¢¤½¤Î¥Õ¥©¥ë¥À¤ÎÃæ¤ÇºÆÅÙ±¦¥¯¥ê¥Ã¥¯¤ò¤·¤Æ¥á¥Ë¥å¡¼¤ò³«¤¡¢Create => C# Script ¤òÁªÂò¤·¤Æ
¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¡¢Ì¾Á°¤ò PlayerController ¤ËÊѹ¹¤·¤Æ¤¯¤À¤µ¤¤¡£
¥Õ¥©¥ë¥ÀºîÀ®

PlayerController.cs
¡¡ÊÑ¿ô¤ÎÀë¸À¤Ë¹ç¤ï¤»¤ÆÀë¸À¤Ç¤¤ë¡¢Â°À¾ðÊó¤È¸Æ¤Ð¤ì¤ë¤â¤Î¤Î£±¤Ä¤Ç¤¹¡£ÊÑ¿ô¤ÎÀë¸À¤ÎÁ°¤Ë [ ] ÉÕ¤¤Ç½ñ¤«¤ì¤¿ÆâÍƤ¬Â°À¾ðÊó¤È¤Ê¤ê¤Þ¤¹¡£
¡¡º£²óÍøÍѤ·¤Æ¤¤¤ë°À¤Ï SerializeField ¤È¤¤¤¦Â°À¾ðÊó¤Ç¤¹¡£¤³¤Îµ¡Ç½¤Ï¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤ËÊÑ¿ô¤òɽ¼¨¤µ¤»¤ë¡¢¤È¤¤¤¦¤â¤Î¤Ç¤¹¡£
¡¡¼ç¤Ë private ½¤¾þ»Ò¤È¥»¥Ã¥È¤ÇÍѤ¤¤é¤ì¡¢¥¢¥µ¥¤¥ó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¾å¤Ç²Äǽ¤Ë¤¹¤ë¤â¤Î¤Î¡¢ÊÑ¿ô¤Î»²¾ÈÀ褬³°Éô¤Î¥¹¥¯¥ê¥×¥È¤Ë¤Ê¤¤(public¤ÎɬÍפ¬¤Ê¤¤)¾ì¹ç¤ËÍøÍѤ·¤Þ¤¹¡£
¡¡¤¿¤È¤¨¤Ð Button¥³¥ó¥Ý¡¼¥Í¥ó¥È¤äText¥³¥ó¥Ý¡¼¥Í¥ó¥È¤È¤¤¤Ã¤¿¡¢¥¢¥µ¥¤¥ó¤Ï¤¹¤ë¤â¤Î¤Î¡¢¤½¤ÎÊÑ¿ô¤ÎÍøÍÑÀ褬¾¤Î¥¹¥¯¥ê¥×¥È¤Ë¤Ï¤Ê¤¤¤è¤¦¤Ê¤â¤Î¡¢¤Ë¤ÏÍøÍѤ·¤ä¤¹¤¤¤Ç¤¹¡£
¡¡º£²ó¤Ï¥×¥ì¥¤¥ä¡¼¤Î°Üư®ÅÙ¤òÀßÄꤹ¤ë¤¿¤á¤ÎÊÑ¿ô¤ÎÀë¸À¤Ë°À¾ðÊó¤òÉÕÍ¿¤·¤Æ¤¤¤Þ¤¹¡£
°Üư®Å٤ξðÊó¤ò¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ëɽ¼¨¤µ¤»¤ë¤³¤È¤Ë¤è¤ê¡¢°Üư®ÅÙ¤ÎÄ´À°¤Ë¤¢¤¿¤ê¡¢
¥¹¥¯¥ê¥×¥ÈÆâ¤Ç¤½¤ÎÅÔÅÙ½ñ¤Ä¾¤µ¤Ê¤¯¤Æ¤â¤è¤¤¤è¤¦¤Ë¤¹¤ëÌÜŪ¤ÇÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£
¡¡Unity2019.2°Ê¹ß¤ËÄɲ䵤줿¥á¥½¥Ã¥É¤Ç¤¹¡£½èÍý·ë²Ì¤È¤·¤Æ bool ·¿¤ÇÌá¤êÃͤòÊÖ¤·¤Æ¤¯¤ì¤Þ¤¹¡£
¤³¤Î¤È¤¤Î½èÍý·ë²Ì¤È¤¤¤¦¤Î¤Ï¡¢»ØÄꤷ¤¿¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î·¿¤Î¼èÆÀ¤ò¹Ô¤¤¡¢¤½¤ì¤¬¼èÆÀ¤Ç¤¤ì¤Ðtrue¡¢¼èÆÀ¤Ç¤¤Ê¤±¤ì¤Ðfalse¤¬Ìá¤ê¤Þ¤¹¡£
¡¡¤Þ¤¿ out ¥¡¼¥ï¡¼¥É¤Ë¤è¤ëÀë¸À¤¬¤¢¤ê¤Þ¤¹¡£
¡¡out ¥¡¼¥ï¡¼¥ÉÀë¸À¤ò¹Ô¤¦¤È¡¢out ¤òÉÕ¤±¤¿°ú¿ô¤Ç»ØÄꤷ¤¿ÊÑ¿ô¤Ï¥á¥½¥Ã¥ÉÆâ¤Çɬ¤º·ë²Ì¤¬Æþ¤ë¤³¤È¤¬Êݾڤµ¤ì¤ë¤â¤Î¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢½èÍý·ë²Ì¤ÎÌá¤êÃͤ¬ true ¤Î¾ì¹ç¤Ë¤Ïɬ¤º¡¢¤³¤Î out ¤Î¸å¤ËÀë¸À¤·¤¿ÊÑ¿ôÆâ¤Ë·¿¤¬ÂåÆþ¤µ¤ì¤Þ¤¹¡£
¡¡Ã¼Åª¤Ë¤¤¤¦¤Ê¤é¤Ð¡¢GetComponent ¥á¥½¥Ã¥É¤Î½èÍý¤Ë²Ã¤¨¤Æ¡¢¤½¤Î½èÍý¤ÎÀ®ÈÝȽÄê(¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¼èÆÀ½ÐÍ褿¤«¡¢½ÐÍè¤Ê¤«¤Ã¤¿¤«)¤òƱ»þ¤Ë¹Ô¤Ã¤Æ¤¯¤ì¤ë¥á¥½¥Ã¥É¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ã¼ÂÁõÎã¡¡ä
private Rigidbody rb; TryGetComponent(out rb);
¡ã¼ÂÁõÎ㢡¡Ìá¤êÃͤò³èÍÑ¡ä
if(col.gameObject.TryGetComponent(out Rigidbody rigid)) { // ½èÍý¤ò½ñ¤¯ }
¡¡º£²ó¤Ï¼ÂÁõÎ㡤νèÍý¤È¤·¤ÆÍøÍѤ·¤Æ¤¤¤Þ¤¹¡£¥¹¥¯¥ê¥×¥ÈÆâ¤Ë TryGetComponent ¥á¥½¥Ã¥É¤òľÀܵ½Ò¤·¤¿¾ì¹ç¡¢GetComponent ¥á¥½¥Ã¥É¤ÈƱÍͤˡ¢
¤³¤Î¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤·¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤«¤é»ØÄꤵ¤ì¤Æ¤¤¤ë¼ïÎà¤Î¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¼èÆÀ¤·¤Æ¤Þ¤¹¡£
¤½¤ì¤ò out ¥¡¼¥ï¡¼¥É¸å¤Î rb ÊÑ¿ô¤ËÂåÆþ¤·¤Æ¤¤¤Þ¤¹¡£GetComponent ¥á¥½¥Ã¥É¤Î¤è¤¦¤Ë<·¿°ú¿ô>¤ò»ØÄꤷ¤Æ¤¤¤Ê¤¤¤Î¤Ï¡¢rb ÊÑ¿ô¤Ë¤è¤Ã¤Æ·¿¤ò¿äÏÀ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¢¤ë¤¿¤á¤Ç¤¹¡£
¡¡out ¥¡¼¥ï¡¼¥É°Ê¹ß¤Ë¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¼èÆÀ¤·¤¿¤¤·¿¤ÈÊÑ¿ô¤òÀë¸À¤·¤Þ¤¹¡£º£²ó¤Î¤è¤¦¤Ë»öÁ°¤ËÊÑ¿ô¤ÎÀë¸À¤ò¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢ÊÑ¿ô¤Î¤ß¤òÍÑ°Õ¤·¤Æ¤ª¤¯¤³¤È¤¬½ÐÍè¤Þ¤¹¡£
¡¡¼ÂÁõÎ㢤ξì¹ç¤Ï¡¢¤â¤·¤â¤³¤Î TryGetComponent ¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤¬¼Â¹Ô²Äǽ¤Ê¤é¤Ð¡¢¤Ä¤Þ¤ê¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢
out ¤È¤·¤ÆÍÑ°Õ¤·¤¿ rigid ÊÑ¿ô¤Ë Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¾ðÊó¤¬ÂåÆþ¤µ¤ì¤Þ¤¹''¡£¤Þ¤¿¡¢true ¤ÎÃͤ¬¡¢¤½¤ì¤È¤ÏÊ̤˽èÍý·ë²Ì¤È¤·¤ÆÌá¤ê¤Þ¤¹¡£
out ¤ËÍÑ°Õ¤·¤¿ÊÑ¿ô¤¬»öÁ°¤ËÀë¸À¤µ¤ì¤Æ¤¤¤ëÊÑ¿ô¤Î¾ì¹ç(Î㤨¤Ð rb ÊÑ¿ô)¤Ë¤Ï¡¢Àë¸À¤µ¤ì¤Æ¤¤¤¿ÊÑ¿ô¤ËÂåÆþ¤µ¤ì¤Þ¤¹¡£
¤³¤ÎÊÕ¤ê¤ÏÊÑ¿ô¤Î¥¹¥³¡¼¥×¤ò¹Í¤¨¤Æ¼ÂÁõ¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¡¡TryGetComponent ¥á¥½¥Ã¥É¤Î½èÍý·ë²Ì¤¬ false ¤Î¾ì¹ç¤Ë¤Ï Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î¼èÆÀ¤¬¤Ç¤¤Ê¤«¤Ã¤¿¤¿¤á¡¢rigid ÊÑ¿ô¤Ï null ¤Î¤Þ¤Þ¤Ç¡¢false ¤¬½èÍý·ë²Ì¤È¤·¤ÆÌá¤ê¤Þ¤¹''¡£
¡¡¤Ê¤ª TryGetComponent ¥á¥½¥Ã¥É¤Ë¤ÏÊ£¿ô¤Î½ñ¼°¤¬¤¢¤ê¤Þ¤¹¡£¤³¤Á¤é¤Ï²¼µ¤Î¥ê¥Õ¥¡¥ì¥ó¥¹¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£
»²¹Í
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Component.TryGetComponent
https://docs.unity3d.com/ScriptReference/Component...
¡¡Ê̤ε»ö¤Ç¾Ü¤·¤¯²òÀ⤷¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤½¤Á¤é¤ò³Îǧ¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
¡¡=>¡¡Input.GetAxis¥á¥½¥Ã¥É¤ÈInputManager¤Î´ØÏ¢À
¡¡Rigidbody ¤Ë¤è¤ëʪÍý±é»»¤Î½èÍý¤ò·Ñ³Ū¤Ë½èÍý¤¹¤ë¾ì¹ç¤Ë¤Ï¡¢Update ¥á¥½¥Ã¥É¤Ç¤Ï¤Ê¤¯¤Æ FixedUpdate ¥á¥½¥Ã¥É¤òÍøÍѤ·¤ÆÀ߷פò¹Ô¤¤¤Þ¤¹¡£
¡¡FixedUpdate ¥á¥½¥Ã¥É¤Ï½é´üÀßÄê¤Ç¤Ï 0.02ÉÃ(1Éô֤Ë50²ó)¤´¤È¤Î¸ÇÄê¥Õ¥ì¡¼¥à¥ì¡¼¥È¤Ç¡¢ÊªÍý±é»»¤Î½èÍý¤Î¹¹¿·¤ò¹Ô¤¦Ä¾Á°¤Ë¼«Æ°Åª¤Ë¸Æ¤Ó¤À¤µ¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¹¡£
¡¡Update ¥á¥½¥Ã¥É¤Ï¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥ÈÅù¤ÎÆ°ºî¤Î¥ì¥ó¥À¥ê¥ó¥°Á°¤ËËè¥Õ¥ì¡¼¥à¸Æ¤Ó½Ð¤µ¤ì¤Þ¤¹¤Î¤Ç¡¢
½èÍý¤Î¼Â¹Ô¥¿¥¤¥ß¥ó¥°¤È¥Õ¥ì¡¼¥à¤Î¸Æ¤Ó½Ð¤·¤¬¸ÇÄ꤫¤É¤¦¤«¤¬ Update ¥á¥½¥Ã¥É¤È FixedUpdate ¥á¥½¥Ã¥É¤Î°ã¤¤¤Ç¤¹¡£
¡¡°Ê¾å¤Î¤³¤È¤«¤é¡¢FixedUpdate ¥á¥½¥Ã¥É¤ÏʪÍýµóÆ°¤Î¹¹¿·¤ÎľÁ°¤Ë¸Æ¤Ð¤ì¤ë¥á¥½¥Ã¥É¤Ç¤¢¤ë¤¿¤á¡¢ÊªÍý±é»»¤Î½èÍý¤ò¹Ô¤¦¤³¤È¤ËŬ¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç
Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÍøÍѤ·¤¿ÊªÍý±é»»¤òÍѤ¤¤¿°ÜÆ°½èÍý¤Ë¤Ä¤¤¤Æ¤Ï¡¢FixedUpdate ¥á¥½¥Ã¥É¤Ë¤Æ¹Ô¤¦¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
»²¹Í¥µ¥¤¥È
SamuraiBlog ÍÍ
¡ÚUnityÆþÌç¡ÛUpdate¥á¥½¥Ã¥É¤È¤Ï?FixedUpdate¤È¤Î°ã¤¤¤âÅ°Äì²òÀâ!
https://www.sejuku.net/blog/49382
¤«¤á¤¯¤á ÍÍ
Unity¤ÎUpdate¤ÈFixedUpdate¡¢LateUpdate¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ
https://gametukurikata.com/basic/update
¡¡velocity(¥Ù¥í¥·¥Æ¥£)¤È¤ÏRigidbody¥¯¥é¥¹¤Î»ý¤Ä¾ðÊó¤Î£±¤Ä¤Ç¡¢³Æ¼´(x,y,z)¤Î®Å٥٥¯¥È¥ë¤òɽ¤·¤Æ¤¤¤Þ¤¹¡£
¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬Ää»ß¤·¤Æ¤¤¤ë¾ì¹ç¡¢velocity¤ÎÃͤϤ¹¤Ù¤Æ 0 ¤Ç¤¹¡£(velocity = 0, 0, 0)
// °ÜÆ°Êý¸þ¤Ë¥¹¥Ô¡¼¥É¤ò³Ý¤±¤Æ°ÜÆ° rb.velocity = new Vector3(horizontal * moveSpeed, rb.velocity.y, 0);
¡¡x ¼´¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¡¼ÆþÎϤÎÃÍ¤È moveSpeed ÊÑ¿ô¤Î·×»»·ë²Ì¤¬Æþ¤ê¡¢¤½¤Î¼´¤ÎÊý¸þ¤Ø°ÜÆ°¤ò¹Ô¤¤¤Þ¤¹¡£
y ¼´¤Ï velocity ÊÑ¿ô¤Î y ¤ÎÃͤ¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢½ÅÎϤ˱ƶÁ¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¥Þ¥¤¥Ê¥¹Êý¸þ¤Ø¤Î®ÅÙ¤¬Æþ¤ê¡¢
¤½¤Î·ë²Ì¡¢ÃÏÌ̤˸þ¤«¤Ã¤ÆÍî²¼¤ò¹Ô¤Ã¤Æ¤¤¤Þ¤¹¡£
z ¼´¤Ë¤Ä¤¤¤Æ¤Ï°ÜÆ°¤¹¤ëÂоݤμ´¤Ç¤Ï¤Ê¤¤¤¿¤á¡¢¾ï¤Ë 0 ¤òÂåÆþ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡½èÍý¤Îľ¸å¤Ë Debug.Log¥á¥½¥Ã¥É¤òÆþ¤ì¤Æ¤ª¤¯¤³¤È¤Ç¡¢Console ¥Ó¥å¡¼¤òÄ̤¸¤Æ¡¢¤³¤Î velocity ¤ÎÃͤÎÆ°¤¤ò´Ñ»¡¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¥¡¼ÆþÎϤò¹Ô¤¤¤Ê¤¬¤é¡¢¤É¤Î¤è¤¦¤Ê½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«¤ò³Îǧ¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
»²¹Í¥µ¥¤¥È
Unity¸ø¼°¥¹¥¯¥ê¥×¥È¥ê¥Õ¥¡¥ì¥ó¥¹
Rigidbody-velocity
https://docs.unity3d.com/ja/current/ScriptReferenc...
SamuraiBlog ÍÍ
¡ÚUnityÆþÌç¡ÛRigidbody¤Ç¼«ºß¤Ë°ÜÆ°!velocity¤Î³èÍÑÊýË¡!
https://www.sejuku.net/blog/55084
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Ë¤¢¤ë¥×¥ì¥¤¥ä¡¼ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¢Àè¤Û¤ÉºîÀ®¤·¤¿ PlayerController ¥¹¥¯¥ê¥×¥È¤ò¥É¥é¥Ã¥°¥¢¥ó¥É¥É¥í¥Ã¥×¤·¤Æ¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¡¡¥Ò¥¨¥é¥ë¥¡¼¤Î¥×¥ì¥¤¥ä¡¼ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÁªÂò¤·¡¢¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤òɽ¼¨¤·¤Æ¡¢PlayerController ¥¹¥¯¥ê¥×¥È¤¬¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹¡£
¡¡MoveSpeed ÊÑ¿ô¤ÎÃͤϥ¤¥ó¥¹¥Ú¥¯¥¿¡¼¤è¤êÄ´À°¤Ç¤¤Þ¤¹¡£¤³¤ÎÃͤ¬¥×¥ì¥¤¥ä¡¼ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î°Üư®ÅÙ¤ÎÃͤˤʤê¤Þ¤¹¤Î¤Ç¡¢Å¬µ¹Ä´À°¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£
¡ã¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¡ä

¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£
¡¡¥¡¼ÆþÎϤò¹Ô¤Ã¤¿ºÝ¤Ë¡¢¥×¥ì¥¤¥ä¡¼¤¬¼ÂºÝ¤Ë°ÜÆ°¤¹¤ë¤«¡¢Æ°ºî³Îǧ(¥Ç¥Ð¥Ã¥°)¤ò¹Ô¤¤¤Þ¤¹¡£
¡¡¥²¡¼¥à¤ò¼Â¹Ô¤·¡¢Ìð°õ¥¡¼¤Îº¸±¦¡¢¤¢¤ë¤¤¤Ï£Á ¤« £Ä ¥¡¼¤ò²¡¤·Â³¤±¤Æ¤¯¤À¤µ¤¤¡£
»ØÄꤷ¤¿Êý¸þ¤Ë°ÜÆ°¤¹¤ì¤Ð¡¢À©¸æ¤ÏÀ®¸ù¤Ç¤¹¡£
¸½»þÅÀ¤Ç¤Ï¥«¥á¥é¤Ï¥×¥ì¥¤¥ä¡¼¤òÄɽ¾¤·¤Þ¤»¤ó¤Î¤Ç¡¢¥×¥ì¥¤¥ä¡¼¤Î¤ß¤¬°ÜÆ°¤¹¤ëÀ©¸æ¤Ë¤Ê¤ê¤Þ¤¹¡£
¡ã¼ÂÁõÆ°²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯
¡¡Àµ¾ï¤ËÆ°ºî¤·¤¿¾ì¹ç¡¢¤½¤ì¤Ç½ª¤ï¤ê¡¢¤Ç¤Ï¤Ê¤¯¤Æ¡¢¥×¥í¥°¥é¥à¤òÆɤßľ¤·¡¢
¤É¤Î¤è¤¦¤Ê½èÍý¤Ë¤è¤Ã¤Æ¡¢º£²ó¤Î°ÜÆ°¤ÎÀ©¸æ¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤«¤ò¡¢¤·¤Ã¤«¤ê¤ÈÆɤ߲ò¤±¤ë¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£
¡¡=>¡¡¼¡¤Ï¡¡¼ê½ç£µ¡¡¡¼¥«¥á¥é¤ÎÄɽ¾µ¡Ç½¤Î¼ÂÁõ¡¼¡¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯