以åã®ã¬ãã¹ã³ã¯ã 察å¿ãããããã¯ã§èŠã€ããããšãã§ããŸãã
ããã§ãæ¬åŒ§å ã®åæçš¿ïŒæ«å°ŸïŒã«ã¬ãã¹ã³çªå·ã衚瀺ãããŸãã çªå·ã®å é ã®æåã¯ã»ã¯ã·ã§ã³ã瀺ããŸãïŒBåå¿è ãI-äžçŽè ïŒã
PSïŒåã®ã¬ãã¹ã³ãåè¬ããŠããªãå Žåã¯ãåè¬ããããšã匷ããå§ãããŸãã ãã®åŸãæã ããããåç §ããŸãã
åºæ¬ã¬ãã¹ã³04-ãªããžã§ã¯ãã®ç Žæ£
ãã®ã¬ãã¹ã³ã§ã¯ãDestroyã³ãã³ãã䜿çšããŠã·ãŒã³ãããªããžã§ã¯ããåé€ããæ¹æ³ã«ã€ããŠèª¬æããŸãã
空ã®ã·ãŒã³ãäœæããçäœïŒ GameObject-> Create Other-> Sphere ïŒãšãã¥ãŒãïŒ GameObject-> Create Other-> Cube ïŒãè¿œå ããŸãã ãã¥ãŒãããããã¯ã¹ããšåŒã³ãŸãã 次ã®å³ã«ç€ºãããã«ãªããžã§ã¯ããé 眮ããŸãã

CïŒã¹ã¯ãªãããè¿œå ãïŒ ãããžã§ã¯ããã¥ãŒ->äœæ-> CïŒã¹ã¯ãªãã ïŒã Destroyerãšããååãä»ããŸãã æ¢ã«è¿°ã¹ãããã«ãCïŒã¹ã¯ãªãããäœæãããšããUnityã¯ã StartïŒïŒããã³UpdateïŒïŒã¡ãœããã䜿çšããŠãæ¥ç¶ãããã©ã€ãã©ãªãšã¡ã€ã³ã¯ã©ã¹ïŒã¹ã¯ãªããã§äœ¿çšïŒã§æ§æããããã¬ãŒã ã¯ãŒã¯ãäœæããŸãã åºæ¬ã¬ãã¹ã³02ïŒå ¥åã®åºæ¬ïŒã§ã¯ã UpdateïŒïŒã¡ãœããã䜿çšãããŸãããããã¯ããã¹ãŠã®ãã¬ãŒã ãšåŒã°ããŸãã ãã®å Žåãã·ãŒã³ãããŒãããçŽåŸã«å®è¡ãããStartïŒïŒã¡ãœããã䜿çšããŸãã Destroy ïŒïŒé¢æ°ãStartïŒïŒã¡ãœããæ¬äœã«è¿œå ãã ããã«gameObjectãæž¡ããŠãã¹ã¯ãªãããã³ã³ããŒãã³ãã§ãããªããžã§ã¯ããç Žæ£ããå¿ èŠãããããšã瀺ããŸãã
// Start() , Start() { // Destroy(gameObject); }
çäœã«ã¹ã¯ãªãããè¿œå ããŸãã ãããè¡ãã«ã¯ããã€ãã®æ¹æ³ããããŸãã ã¹ã¯ãªããããããžã§ã¯ããã¥ãŒããã·ãŒã³ãã¥ãŒã®çäœã«ãã©ãã°ããŸã ã

ãŸãã¯ã Hierarchyã®ãªããžã§ã¯ãã®ååã

ãŸããã³ã³ããŒãã³ãã¡ãã¥ãŒïŒ ã³ã³ããŒãã³ã->ã¹ã¯ãªãã->ãã¹ããã€ã€ãŒ ïŒããããŸãã¯éžæãããªããžã§ã¯ãã®ã€ã³ã¹ãã¯ã¿ãŒãã¥ãŒã«ã¹ã¯ãªããããã©ãã°ããã ãã§ãçäœãéžæããŠã¹ã¯ãªãããè¿œå ããããšãã§ããŸãã

ã¹ã³ãŒããå床éžæããã³ã³ããŒãã³ãéã«ã¹ã¯ãªãããååšããããšã確èªããŠãã ããã

[ åç]ãã¯ãªãã¯ãããšãã·ãŒã³ãèªã¿èŸŒãã çŽåŸã«çäœãæ¶ããããšãããããŸãã

ããã§ã¯ãå¥ã®ãªããžã§ã¯ããç Žå£ããŠã¿ãŸãããã ãããè¡ãã«ã¯ã GameObjectã¯ã©ã¹ã®éçã¡ãœããFindãå¿ èŠã§ãã StartïŒïŒã¡ãœããã®ã³ãŒãã次ã®ã³ãŒãã«çœ®ãæããŸãã
// Box â Destroy(GameObject.Find(âBoxâ));
翻蚳ã®äœè ããã®æ³šæ ïŒ2çªç®ã®ã±ãŒã¹ã§ã¯éçé¢æ°ãåŒã³åºããŠå€ãæž¡ããããã¯ã©ã¹åïŒ G ameObject-倧æåïŒãèšè¿°ããæåã®ã¯ã©ã¹ã§ã¯ãã®ã¯ã©ã¹ã®ãªããžã§ã¯ãïŒ g ameObject-å°ããæåïŒã ããã§ãªãå Žåãã³ã³ãã€ã©ãŒã¯ãšã©ãŒãã¹ããŒããŸãã
error CS0176: Static member `UnityEngine.GameObject.Find(string)' cannot be accessed with an instance reference, qualify it with a type name instead
次ã®ããã«ç¿»èš³ãããŸãïŒ
ãUnityEngine.GameObject.Findã®éçã¡ã³ããŒïŒæååïŒã¯ãã€ã³ã¹ã¿ã³ã¹ïŒã¯ã©ã¹ïŒãžã®åç §ã«ãã£ãŠã¢ã¯ã»ã¹ã§ããã代ããã«ååã§å®çŸ©ïŒåŒã³åºãïŒããŸããã
ã¹ã¯ãªããã³ãŒããžã®å€æŽãä¿åããŸãã ã¹ã¯ãªãããçäœããåé€ããŠãã¥ãŒãã«è¿œå ããå¿ èŠã¯ãããŸããã ã©ã®ãªããžã§ã¯ãã«ã¢ã¿ãããããŠããŠããã¹ã¯ãªããã¯Boxãšããååã®ïŒã¹ããŒãžäžã®ïŒãªããžã§ã¯ããæ€çŽ¢ããŸãã PlayãæŒããŠãçãã·ãŒã³ã«ã©ã®ããã«æ®ããç«æ¹äœãæ¶ãããã確èªããŸãã

ãªããžã§ã¯ããããã«ã§ã¯ãªãããã°ããããŠããç Žæ£ããå¿ èŠãããå Žåã¯ã©ããªããŸããïŒ ããã¯ãå€ãDestroyé¢æ°ã®2çªç®ã®ãã©ã¡ãŒã¿ãŒã«æž¡ãããšã§å®è¡ã§ããŸãã
// Box 3 Destroy(GameObject.Find(âBoxâ), 3);
[ åç]ãæŒããŠãã·ãŒã³å šäœãèªã¿èŸŒãŸãã3ç§åŸã«ãã¥ãŒããæ¶ããããšã確èªããŸãã
å ã®ã¬ãã¹ã³ãžã®ãªã³ã¯
è¿œå è³æïŒ
å ¬åŒUnity3dã¹ã¯ãªãããªãã¡ã¬ã³ã¹ã®DestroyïŒïŒé¢æ°ã®ãã«ã
åºæ¬ã¬ãã¹ã³05-ãªããžã§ã¯ãäœæã®å®è£
ãã®ã¬ãã¹ã³ã§ã¯ããã¬ãããšã€ã³ã¹ã¿ã³ã¹åã³ãã³ãïŒã€ã³ã¹ã¿ã³ã¹åïŒã䜿çšããŠãã·ãŒã³å ã«ãªããžã§ã¯ãããªã¢ã«ã¿ã€ã ïŒå®è¡æïŒã«äœæããæ¹æ³ã説æããŸãã
ã·ãŒã³ãæ¢ã«ããŒããããŠãããšãã«ãªããžã§ã¯ããã·ãŒã³ã«è¿œå ããå Žåã¯ãã¹ã¯ãªããã䜿çšãããã InstantiateïŒïŒã³ãã³ãã䜿çšããå¿ èŠããããŸãã
ããŒã¹ã¬ãã¹ã³03ïŒãã¬ããïŒããã·ãŒã³ãããŠã³ããŒãããããåãæ°ããã·ãŒã³ãäœæããŸãã ã·ãŒã³ã«ã¯ãã¬ããBouncyBoxããããŸãã

[ åç]ãã¯ãªãã¯ããŠããã¥ãŒãããŸã èœäžãããµãŒãã§ã¹ããæŒãåºãããŠããããšã確èªããŸãã
次ã«ãã·ãŒã³ããBouncyBoxã€ã³ã¹ã¿ã³ã¹ãåé€ããŸãã

ãã®åŸã空ã®ãªããžã§ã¯ããè¿œå ããŸãïŒWindowsã§ã¯GameObject-> Create EmptyãŸãã¯Ctrl + Shift + N ãMacOSã§ã¯Cmd + Shift + NãæãåºããŠãã ããïŒã BouncyBoxã€ã³ã¹ã¿ã³ã¹ããã£ãå Žæãšåãå Žæã«é 眮ããŸã ã

CïŒã¹ã¯ãªãããäœæãã CreaterãåŒã³åºããŸãã ã¹ã¯ãªããã®ç·šéãå§ããŸãããã GameObjectåã®ãªãŒãã³ïŒ ãããªã㯠ïŒå€æ°ãååŸããŠã thePrefabãšåŒã³ãŸãããã ããšãã°ã Inspector Viewãä»ããŠå€æ°ã®å€ãæž¡ãå Žåã¯ã public修食åãæå®ããå¿ èŠããããŸã ã ãã®åŸã StartïŒïŒé¢æ°ã®æ¬äœã§ãå¥ã®GameObject ïŒ instanceãšããååïŒãäœæããéçãªInstantiateïŒïŒé¢æ°ã䜿çšããŠå€ã§åæåããŸãã
public GameObject thePrefab; void Start () { GameObject instance = new GameObject(); instance = Instantiate(thePrefab, transform.position, transform.rotation) as GameObject; }
InstantiateïŒïŒã¡ãœããã®è©³çŽ°ãæ€èšããŠãã ããã
Instantiate(GameObject original, Vector3 position, Quaternion rotation)
ãã®ã¡ãœããã¯ãæå®ãããäœçœ®ãã¯ãã«ãšå転ã¯ã©ãŒã¿ããªã³ã§å ã®ãªããžã§ã¯ããè€è£œããŸãã
ã¿ã€ãVector3ã¯ãéåžžã®3ã³ã³ããŒãã³ããã¯ãã«ã§ãïŒ R 3ã®ãã¯ãã«ã«äŒŒãŠããŸãïŒã
ã¯ã©ãŒã¿ããªã³ã¿ã€ãã¯ããªããžã§ã¯ãã®å転ãå®çŸ©ããã¯ã©ãŒã¿ããªã³ã§ãã
ã¹ã¯ãªããã空ã®ãªããžã§ã¯ãïŒ GameObjectãšããååïŒã«è¿œå ããŸããthePrefab㯠public修食åã§å®£èšãããŠããããã Inspectorãã¥ãŒã§åæå€ãçŽæ¥èšå®ã§ããããšãæãåºããŸã ïŒå¯Ÿå¿ããã³ã³ããŒãã³ããã€ãŸããã®å Žåãããã¯GameObjectã® Creatorã§ã ïŒã ãã¬ãããå€ã瀺ãããŠããå Žæã«ãã©ãã°ããŸãïŒãŸãã¯ãå³åŽã®åãã¯ãªãã¯ããŠãªã¹ãããéžæããŸãïŒã

PlayãæŒããŠããžã£ã³ããã¥ãŒããã·ãŒã³ã«è¡šç€ºãããŠããããšã確èªããŸãã

ãããããã¥ãŒãã«ã¯åæã®å転è§ããªããããåçŽã«äžäžã«ãžã£ã³ãããŸãã GameObjectãéžæããããããªè§åºŠã§å転ãããŸãã
Playãã¯ãªãã¯ãããšããã¥ãŒããèœäžããããŸããŸãªè§åºŠã§åçºãããããšãããããŸãã

å ã®ã¬ãã¹ã³ãžã®ãªã³ã¯
è¿œå è³æïŒ
å ¬åŒã®Unity3dã¹ã¯ãªãããªãã¡ã¬ã³ã¹ã®ã€ã³ã¹ã¿ã³ã¹åïŒïŒé¢æ°ã®èª¬æ
å ¬åŒUnity3dã¹ã¯ãªãããªãã¡ã¬ã³ã¹ã®Transformã¯ã©ã¹ã®èª¬æ
åºæ¬ã¬ãã¹ã³06-ã·ã³ãã«ã¿ã€ããŒ
ãã®ã¬ãã¹ã³ã§ã¯ããŠãããã䜿çšããŠã¹ã¯ãªããã䜿çšããæ¹æ³ã«ã€ããŠèª¬æããŸã
Time.deltaTimeãšfloatåã®å€æ°ã䜿çšããŠåçŽãªã¿ã€ããŒãäœæããŸãã
åã®ã¬ãã¹ã³ã®ã·ãŒã³ã䜿çšããŸãïŒç©ºã®ã²ãŒã ãªããžã§ã¯ãã
ãã¬ããã€ã³ã¹ã¿ã³ã¹ã®çæãã€ãŸã BouncyBox ïŒã

CïŒã¹ã¯ãªãããäœæãããããTimerãšåŒã³ãŸãã å€æ°myTimerãè¿œå ãã次ã®ã³ãŒããèšè¿°ããŸãã
public float myTimer = 5.0f; void Update() { //Time.delaTime - (), (read only) myTimer -= Time.deltaTime; if (myTimer <= 0.0f) { Debug.Log("GAME OVER"); } }
ã¹ã¯ãªãããä¿åããUnityã«åãæ¿ããŸãã GameObjectã«ã¹ã¯ãªãããè¿œå ããŸã ã

æãåºãããŠãã ãã myTimer㯠publicãšããŠå®£èšãããŠããããã ã€ã³ã¹ãã¯ã¿ãŒãã¥ãŒã§åæå€ãå€æŽã§ããŸãã
åçãã¯ãªãã¯ããŸã ã myTimerã®å€ããŒãã«ãªããšããã«ãã¹ããŒã¿ã¹ããŒã«GAME OVERãšããè¡ã衚瀺ãããŸãã myTimerå€æ°ã®å€ã¯ãããããç¶ããŸãïŒããã¯Inspector Viewã§ç¢ºèªã§ããŸã ïŒã

myTimerå€æ°ããŒããäžåããªãããã«ããããã UpdateïŒïŒé¢æ°ã«ãã1ã€ã®ãã©ã³ããè¿œå ããŸãããã®çµæã次ã®ã³ãŒããååŸããŸãã
void Update () { if(myTimer > 0){ myTimer -= Time.deltaTime; }else if(myTimer <= 0){ Debug.Log("GAME OVER"); } }
[ åç]ãã¯ãªãã¯ããŠã myTimerå€æ°ã®åäœãç£èŠããŸãã ãã®å€ããŒãã«ååã«è¿ã¥ããšãå€æŽãåæ¢ããŸãã

å ã®ã¬ãã¹ã³ãžã®ãªã³ã¯
è¿œå è³æïŒ
å ¬åŒUnity3dã¹ã¯ãªããã¬ã€ãã®Time.deltaTimeã«é¢ããæ å ±
åºæ¬ã¬ãã¹ã³07-ã¢ãŒã·ã§ã³ã®åºæ¬
ãã®ã¬ãã¹ã³ã§ã¯ãtransform.Translateé¢æ°ã䜿çšããŠãªããžã§ã¯ãã移åããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ãã¥ãŒããã«ã¡ã©ãå æºã§ã·ãŒã³ãäœæããŸãã

æ°ããCïŒã¹ã¯ãªãããäœæãããããMoveãšåŒã³ãŸãã
移åã¯æéçã«é£ç¶ããŠããå¿ èŠããããããã¡ã€ã³ã³ãŒãã¯UpdateïŒïŒã¡ãœããã«é 眮ãããŸã ã å€æãªããžã§ã¯ãã®Translateé¢æ°ãåŒã³åºãã Vector3ïŒ0ã0ã1ïŒããã©ã¡ãŒã¿ãŒãšããŠæž¡ããŸãã 次ã®ã³ãŒããååŸããŸãã
void Update () { transform.Translate(new Vector3(0.0f, 0.0f, 1.0f)); // Oz }
ã³ãŒãã§ããã«è©³ãã調ã¹ãŸãã ããã§ã transformã¯ããªããžã§ã¯ãã«ã¢ã¿ãããããTransformã¯ã©ã¹ã®ãªããžã§ã¯ãã§ãã TranslateïŒïŒã¡ãœããã¯ããªããžã§ã¯ãããã®é·ãã«çããè·é¢ã ããã¯ãã«ã«æ²¿ã£ãŠç§»åããŸãïŒäžŠå転éïŒã
ã¹ã¯ãªãããä¿åãããã¥ãŒãã«è¿œå ããŸãã [ åç]ãã¯ãªãã¯ããŠããã¥ãŒããOz軞ã«æ²¿ã£ãŠã©ã®ããã«é£ãã§ãããã確èªããŸãã

ããšãã°ããã¯ãã«ã«Time.deltaTimeãæããŠã移åé床ãäžããŸãããã
transform.Translate(new Vector3(0.0f, 0.0f, 1.0f) * Time.deltaTime);
[ åç]ãã¯ãªãã¯ãããã¥ãŒãã®åããèããé ããªãããšã確èªããŸãã
é床ãåºå®ãã¯ãã«ã§ã¯ãªãå€æ°ã«ãã£ãŠèšå®ãããŠããå Žåãã¹ã¯ãªããããã䟿å©ã«äœ¿çšã§ããŸãã floatåã®ãããªãã¯å€æ°ãååŸããŠã speedãšåŒã³ãŸãããã ãã®å€æ°ã䜿çšãããšã ã€ã³ã¹ãã¯ã¿ãŒãã¥ãŒã§åæé床ãèšå®ã§ããŸã ïŒããã©ã«ãã§ã¯5.0fã«çãããªããŸã ïŒã
public float speed = 5.0f; void Update () { transform.Translate(new Vector3(0.0f, 0.0f, speed) * Time.deltaTime); }
ã¹ã¯ãªãããä¿åããŠã Inspector Viewã® Moveã³ã³ããŒãã³ãã«Speedå€æ°ã衚瀺ãããŠããããšã確èªããŸãããã

ãã®å€æ°ã®æå®ãããåæå€ã«åŸã£ãŠãªããžã§ã¯ãã®é床ãã©ã®ããã«å€åãããã確èªããŠãã ããã ããšãã°ã Speed = 3ã®å Žå ããªããžã§ã¯ãã®é床ã¯ããã»ã©éããããŸããããé ãããããŸããã
泚 ïŒåŒVector3ïŒ0.0fã0.0fã1.0fïŒã«ã¯ãçãïŒãã ããæããã«é ãå ŽåããããŸãããæ£ãããªãå Žåã¯ä¿®æ£ããŠãã ããïŒãšã³ããªVector3.forwardããããŸãã
ã©ãããŒããã®ã³ãŒãã®äžéšïŒ
public static Vector3 forward { get { return new Vector3(0.0f, 0.0f, 1.0f); } }
å ã®ã¬ãã¹ã³ãžã®ãªã³ã¯
è¿œå è³æïŒ
å ¬åŒã®Unity3dã¹ã¯ãªãããªãã¡ã¬ã³ã¹ããã®transform.Translateã¡ãœããã«é¢ããæ å ±
å ¬åŒã®Unity3dã¹ã¯ãªãããªãã¡ã¬ã³ã¹ããã®Time.deltaTimeæ å ±
åºæ¬ã¬ãã¹ã³08-çåéåã®åºæ¬ã
ãã®ã¬ãã¹ã³ã§ã¯ãåã®é©çšã䜿çšããŠèäœïŒåäœïŒã移åããæ¹æ³ã«ã€ããŠèª¬æããŸãã
ã¹ããŒãžäžã«Rigidbodyã³ã³ããŒãã³ããæã€ãªããžã§ã¯ããããå Žåããã©ãŒã¹ã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠãªããžã§ã¯ãã®ã¢ãŒã·ã§ã³ãèšå®ããå¿ èŠããããŸãïŒãããã£ãŠããã¹ãŠã®ã¢ãŒã·ã§ã³èšç®ãç©ççãªã²ãŒã ãšã³ãžã³ã«è»¢éããŸãïŒã ããããªããšããªããžã§ã¯ãã®ç©çãšç«¶åããå¯èœæ§ããããŸãã ããŒã¹ã¬ãã¹ã³03ã®ã·ãŒã³ãåŒãç¶ã䜿çšããŠããŸãã

CïŒã¹ã¯ãªãããäœæãããããForceãšåŒã³ãŸãã StartïŒïŒã¡ãœããã§ã rigidbodyã³ã³ããŒãã³ãïŒãªããžã§ã¯ãã«é¢é£ä»ããããŠããïŒã®AddForceïŒïŒã¡ãœãããåŒã³åºãã Vector3ã«é©çšãããåãã¯ãã«ïŒ0.0fã0.0fãpowerïŒãæž¡ããŸãã ã¯ã©ã¹ã§ã¯ãååãpowerã§ããã©ã«ãå€ã500.0fã® floatåã®å€æ°ãäœæããŸãã
public float power = 500.0f; void Start () { rigidbody.AddForce(new Vector3(0.0f, 0.0f, power)); }
ã¹ã¯ãªãããä¿åãããªããžã§ã¯ãïŒãŸãã¯ãã¬ããïŒã«è¿œå ããŸãã ããã§ã[ åç ]ãã¯ãªãã¯ãããšã Oz軞ã«æ²¿ã£ãŠé©çšãããåã®åœ±é¿ã«ãããç«æ¹äœãã©ã®ããã«åããã«æãã«ãªãããããããŸãã

å ã®ã¬ãã¹ã³ãžã®ãªã³ã¯
è¿œå è³æïŒ
å ¬åŒã®Unity3dã¹ã¯ãªãããªãã¡ã¬ã³ã¹ããã®åäœã¯ã©ã¹æ å ±
å ¬åŒã®Unity3dã¹ã¯ãªãããªãã¡ã¬ã³ã¹ããã®AddForceã¡ãœããã«é¢ããæ å ±
PSïŒçŽ æµã§å®ãå€ãé±æ«ã