ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2022ǯ06·î20Æü(·î) 19:53:15ÍúÎò
¡¡¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Ï¡¢¥²¡¼¥à¼Â¹ÔÁ°¤Ë¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤Ç¥¢¥¿¥Ã¥Á¤·¤Æ¤ª¤¯Â¾¡¢
¥²¡¼¥à¼Â¹ÔÆâ¤Ë¥¹¥¯¥ê¥×¥È¤òÍøÍѤ·¤Æ¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£Æ±Íͤˡ¢¥¢¥¿¥Ã¥Á¤ò²ò½ü¤¹¤ë¤³¤È¤â½ÐÍè¤Þ¤¹¡£
¡¡¤³¤³¤Ç¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ·¤Æ¥¹¥¯¥ê¥×¥È¡Ê¥¯¥é¥¹¡Ë¤òÄ̤¸¤Æ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¿·¤¿¤ËÄɲä·¤¿¤ê¡¢¤Þ¤¿¤Ïºï½ü¤·¤¿¤ê¤¹¤ëÊýË¡¤ò³Ø¤Ó¤Þ¤¹¡£
¡¡
¡¡ProjectsÆâ¤ÎAsset ¢ª Scripts ¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤
¤½¤ÎÃæ¤Ç Create ¢ª C# Script ¤òÁªÂò¤·¤Þ¤¹¡£Ì¾Á°¤ÏAddComponentTest¤Ë¤·¤Þ¤¹¡£
using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// ¥²¡¼¥à¼Â¹ÔÃæ¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÄɲῺï½ü¤Î¥Æ¥¹¥ÈÍÑ¥¯¥é¥¹ /// ¤³¤³¤Ç¤ÏCube¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤À¤±RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¸å¤«¤éÄɲä·¤¿¤ê¡¢ºï½ü¤·¤¿¤ê¡¢¥×¥í¥Ñ¥Æ¥£¤òÁàºî¤¹¤ë¥¯¥é¥¹ /// </summary> public class AddComponentTest : MonoBehaviour { [Header("Plane¤«¤É¤¦¤«¤ÎȽÄêÍÑ true¤Ê¤éPlane")] public bool isPlaneFlag; private bool isRigidGet; // »ØÄꤷ¤¿¾ò·ï(¤³¤³¤Ç¤ÏRigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤ë)¤«¤É¤¦¤«¤òȽÄꤹ¤ë¥Õ¥é¥° void Start() { } void Update() { // ¥Ü¥¿¥ó¤ò²¡¤·¤¿¤È¤ if (Input.GetKeyDown(KeyCode.G)) { // isPlaneFlag¤¬false¤Ç¤¢¤ê¡¢¤«¤ÄisRigidGet¤¬false¤Ç¤¢¤ë¾ì¹ç if (!isPlaneFlag && !isRigidGet) { // isPlaneFlag == false && isRigidGet == false ¤ÈƱµÁ // ¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¿·¤·¤¯RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄɲ乤ë gameObject.AddComponent<Rigidbody>(); // RigidBody¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥°¤ò¥ª¥ó¤Ë¤·¡¢»ý¤Ã¤Æ¤¤¤ë¾õÂ֤ˤ¹¤ë isRigidGet = true; Debug.Log(isRigidGet); } } } }
¡¡½ñ¤´Ö°ã¤¨¤¬¤Ê¤¤¤«¡¢³Îǧ¤·¤¿¤é¥»¡¼¥Ö¤ò¤·¤Æ¥³¥ó¥Ñ¥¤¥ë¤·¤Þ¤·¤ç¤¦¡£
¡¡¥¹¥¯¥ê¥×¥È¤ò Cube ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥¹¥¯¥ê¥×¥ÈÆâ¤Ç½ñ¤¤¤¿¥¡¼¤òÆþÎϤ·¤¿¤È¤¤Ë¡¢ÁÛÄꤷ¤Æ¤¤¤ëµóÆ°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«³Îǧ¤·¤Þ¤·¤ç¤¦¡£
¡¡¥¹¥¯¥ê¥×¥È¤ËÄɵ¤·¡¢ÆÃÄê¤Î¾õÂ֤ˤ¢¤ë¤È¤¤À¤±À©¸æ¤ò¹Ô¤¨¤ë¤è¤¦¤Ëʬ´ô¤òºîÀ®¤·¤Þ¤¹¡£
¡¡
¡¡º£²ó¤Î¼ÂÁõÎã¤Î¤è¤¦¤Ë¡Ö¤³¤¦¤¤¤¦¾ì¹ç¤À¤±¡¢²¿¤«¤ò¤¹¤ë¡×¤È¤¤¤¦µ½Ò¤ò¼ÂÁõ¤¹¤ë¤³¤È¤¬¤È¤Æ¤â¿¤¤¤Ç¤¹¡£
Î㤨¤Ð¡¢¤ª¶â¤¬100°Ê¾å¤Ê¤éÌôÁð¤¬Ç㤨¤ë¡¢¤È¤¤¤¦¤è¤¦¤Ê¥±¡¼¥¹¤Ç¤¹¡£
¡¡¤Þ¤º¤ÏÆüËܸì¤Ç½èÍý¤ÎÆâÍƤò½ñ¤¤À¤·¤Æ¤ß¤Æ¡¢¤½¤ì¤ò¸µ¤Ë¥×¥í¥°¥é¥à¤òºî¤Ã¤Æ¤¤¤¯¤è¤¦¤Ë¤¹¤ë¤È¡¢À©¸æʸ¤Î³Ø½¬¤Ë¤Ê¤ê¤Þ¤¹¡£
¡¡¶µºà¤ò¸«¤Æ½ñ¤¼Ì¤¹¤À¤±¤Ç¤Ï¤Ê¤¯¡¢¤É¤Î¤è¤¦¤Ë½èÍý¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¤ò¥¤¥á¡¼¥¸¤·¤Ê¤¬¤é¡¢¥¹¥¯¥ê¥×¥È¤ò½ñ¤¤¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£
Ì¡Á³¤È½ñ¤¯¤À¤±¤Ç¤Ï¥¹¥¥ë¤Ï¿È¤Ë¤Ä¤«¤Ê¤¤¤¿¤á¤Ç¤¹¡£
using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// ¥²¡¼¥à¼Â¹ÔÃæ¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÄɲῺï½ü¤Î¥Æ¥¹¥ÈÍÑ¥¯¥é¥¹ /// ¤³¤³¤Ç¤ÏCube¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤À¤±RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¸å¤«¤éÄɲä·¤¿¤ê¡¢ºï½ü¤·¤¿¤ê¡¢¥×¥í¥Ñ¥Æ¥£¤òÁàºî¤¹¤ë¥¯¥é¥¹ /// </summary> public class AddComponentTest : MonoBehaviour { [Header("Plane¤«¤É¤¦¤«¤ÎȽÄêÍÑ true¤Ê¤éPlane")] public bool isPlaneFlag; private bool isRigidGet; // »ØÄꤷ¤¿¾ò·ï(¤³¤³¤Ç¤ÏRigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤ë)¤«¤É¤¦¤«¤òȽÄꤹ¤ë¥Õ¥é¥° void Start() { } void Update() { // ¥Ü¥¿¥ó¤ò²¡¤·¤¿¤È¤ if (Input.GetKeyDown(KeyCode.G)) { // isPlaneFlag¤¬false¤Ç¤¢¤ê¡¢¤«¤ÄisRigidGet¤¬false¤Ç¤¢¤ë¾ì¹ç if (!isPlaneFlag && !isRigidGet) { // isPlaneFlag == false && isRigidGet == false // ¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¿·¤·¤¯RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄɲ乤ë gameObject.AddComponent<Rigidbody>(); // RigidBody¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥°¤ò¥ª¥ó¤Ë¤·¡¢»ý¤Ã¤Æ¤¤¤ë¾õÂ֤ˤ¹¤ë isRigidGet = true; Debug.Log(isRigidGet); } ////*¡¡¤³¤³¤«¤é½èÍý¤òÄɲä·¤Þ¤¹¡¡*//// ¡¡¡¡¡¡¡¡¡¡¡¡// isRigidGet == true ¤Ê¤é if (isRigidGet) { // ¤¹¤Ç¤ËRigidBody¤òÄɲ䷤Ƥ¤¤ë¾õÂ֤Ǥ¢¤ë¾ì¹ç // RigidBody·¿¤ÎÊÑ¿ôrb¤òÀë¸À¤·¡¢RigidBody¤ò¼èÆÀ¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë Rigidbody rb = GetComponent<Rigidbody>(); // RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î»ý¤ÄIsKinematic¥×¥í¥Ñ¥Æ¥£¤Î¾õÂÖ¤ò¸«¤Æ¡¢¥ª¥ó¡¦¥ª¥Õ¤òÀÚ¤êÂؤ¨¤ë if (!rb.isKinematic) { rb.isKinematic = true; } else { rb.isKinematic = false; } } } ////*¡¡¤³¤³¤Þ¤Ç¡¡*//// } }
¡¡º£²ó¤Î¥¹¥¯¥ê¥×¥È¤Î½èÍý¤ò¤Þ¤º¤ÏÆɤ߲ò¤¤¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤É¤Î¤è¤¦¤ÊÀ©¸æ¤¬¹Ô¤ï¤ì¤ì¤ÐÀ©¸æ¤¬À®¸ù¤Ê¤Î¤«¡¢¤½¤ÎȽÃǤò¹Ô¤¦¤Î¤Ï¡¢¥¹¥¯¥ê¥×¥È¤ò½ñ¤¤¤¿ËܿͤǤ¹¡£
¼«Ê¬¼«¿È¤¬¡¢¤É¤¦¤¤¤Ã¤¿½èÍý¤Ê¤éOK¤Ç¤¢¤ë¤Î¤«¡¢ÇÄ°®¤·¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¡¢À©¸æ¤ÎÀ®ÈݤÎȽÃǤ¬ÉÕ¤±¤é¤ì¤Þ¤»¤ó¡£
¡¡¥¹¥¯¥ê¥×¥È¤ò Cube ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
¥¹¥¯¥ê¥×¥ÈÆâ¤Ç½ñ¤¤¤¿¥¡¼¤òÆþÎϤ·¤¿¤È¤¤Ë¡¢ÁÛÄꤷ¤Æ¤¤¤ëµóÆ°¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤«³Îǧ¤·¤Þ¤·¤ç¤¦¡£
¡¡ºÇ¸å¤Ë¡¢¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ëÌ¿Îá¤òµ½Ò¤·¤Þ¤¹¡£
¡¡³ºÅö¤¹¤ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¤¢¤ë¤«¤É¤¦¤«¤òȽÄꤷ¡¢¤¢¤ë¾ì¹ç¤Î¤ßºï½ü¤¹¤ë¤è¤¦¤ËÀ©¸æ¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤¦¤¤¤Ã¤¿À©¸æÊýË¡¤Ï³èÍÑ»öÎ㤬¿¤¤¤¿¤á¡¢¤¿¤Àºï½ü¤¹¤ë½èÍý¤À¤±¤Ç¤Ï¤Ê¤¯¡¢ÆÃÄê¤Î¾ì¹ç¤Î¤ßºï½ü¤¹¤ë¡¢¤È¤¤¤¦À©¸æʸ¤ò³Ø½¬¤·¤Æ¤ª¤¤Þ¤·¤ç¤¦¡£
using System.Collections; using System.Collections.Generic; using UnityEngine; /// <summary> /// ¥²¡¼¥à¼Â¹ÔÃæ¤Ë¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ÎÄɲῺï½ü¤Î¥Æ¥¹¥ÈÍÑ¥¯¥é¥¹ /// ¤³¤³¤Ç¤ÏCube¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤À¤±RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¸å¤«¤éÄɲä·¤¿¤ê¡¢ºï½ü¤·¤¿¤ê¡¢¥×¥í¥Ñ¥Æ¥£¤òÁàºî¤¹¤ë¥¯¥é¥¹ /// </summary> public class AddComponentTest : MonoBehaviour { [Header("Plane¤«¤É¤¦¤«¤ÎȽÄêÍÑ true¤Ê¤éPlane")] public bool isPlaneFlag; private bool isRigidGet; // »ØÄꤷ¤¿¾ò·ï(¤³¤³¤Ç¤ÏRigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤ë)¤«¤É¤¦¤«¤òȽÄꤹ¤ë¥Õ¥é¥° void Start() { } void Update() { // ¥Ü¥¿¥ó¤ò²¡¤·¤¿¤È¤ if (Input.GetKeyDown(KeyCode.G)) { // isPlaneFlag¤¬false¤Ç¤¢¤ê¡¢¤«¤ÄisRigidGet¤¬false¤Ç¤¢¤ë¾ì¹ç if (!isPlaneFlag && !isRigidGet) { // isPlaneFlag == false && isRigidGet == false // ¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¿·¤·¤¯RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òÄɲ乤ë gameObject.AddComponent<Rigidbody>(); // RigidBody¤ò»ý¤Ã¤Æ¤¤¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥°¤ò¥ª¥ó¤Ë¤·¡¢»ý¤Ã¤Æ¤¤¤ë¾õÂ֤ˤ¹¤ë isRigidGet = true; Debug.Log(isRigidGet); } ¡¡¡¡¡¡¡¡¡¡¡¡// isRigidGet == true ¤Ê¤é if (isRigidGet) { // ¤¹¤Ç¤ËRigidBody¤òÄɲ䷤Ƥ¤¤ë¾õÂ֤Ǥ¢¤ë¾ì¹ç // RigidBody·¿¤ÎÊÑ¿ôrb¤òÀë¸À¤·¡¢RigidBody¤ò¼èÆÀ¤·¤Æ¥¢¥¯¥»¥¹¤Ç¤¤ë¤è¤¦¤Ë¤¹¤ë Rigidbody rb = GetComponent<Rigidbody>(); // RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤Î»ý¤ÄIsKinematic¥×¥í¥Ñ¥Æ¥£¤Î¾õÂÖ¤ò¸«¤Æ¡¢¥ª¥ó¡¦¥ª¥Õ¤òÀÚ¤êÂؤ¨¤ë if (!rb.isKinematic) { rb.isKinematic = true; } else { rb.isKinematic = false; } } } ////*¡¡¤³¤³¤«¤é½èÍý¤òÄɲä·¤Þ¤¹¡¡*//// // ¥Ü¥¿¥ó¤ò²¡¤·¤¿¤È¤ if (Input.GetKeyDown(KeyCode.H)) { // isRigidGet¤¬true¤Ê¤é = RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤ë¤Ê¤é if (isRigidGet) { // RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È¤òºï½ü¤¹¤ë Destroy(GetComponent<Rigidbody>()); // ½êͥե饰¤òfalse¤Ë¤·¡¢RigidBody¥³¥ó¥Ý¡¼¥Í¥ó¥È»ý¤Ã¤Æ¤¤¤Ê¤¤¾õÂ֤ˤ¹¤ë isRigidGet = false; // Íî²¼¤·¤Æ¤¤¤ëCube¤Î°ÌÃÖ¤ò½é´ü°ÌÃÖ¤ËÌ᤹ float pos = 3.0f; transform.position = new Vector3(transform.position.x,pos,transform.position.z); } } ////*¡¡¤³¤³¤Þ¤Ç¡¡*//// } }
¡¡¥¹¥¯¥ê¥×¥È¤ò½ñ¤¤¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- Áí¹ç
¥³¥á¥ó¥È¤ò¤«¤¯