使用标签移动游戏对象不起作用 Unity

我知道这是个菜鸟问题,但无论如何,只有一种学习方法。

我在 Unity 中创建了一个空的 GameObject,附加了一个应该移动立方体(我的玩家)的脚本,并给我的立方体贴上了“玩家”标签。创建立方体后,我希望能够移动立方体而不必将脚本放在立方体本身上。当脚本在立方体上时,它可以毫无问题地移动(我知道这可能应该这样做,但是为了尝试学习新事物,我想这样做)。

http://img4.mukewang.com/6190d3ba0001567d06591040.jpghttp://img4.mukewang.com/6190d3c10001120205150611.jpg

在无法通过谷歌找到答案后,非常感谢任何见解!


谢谢


更新!


这是现在作为文本的代码,因为它被要求。


    public class GameCoreController : MonoBehaviour {


            private GameObject PlayerMove;

            public Rigidbody rb;


            void Start ()

            {

                 PlayerMove = GameObject.FindGameObjectWithTag("Player");

                 rb = GetComponent<Rigidbody>(); 

            }


            void Update()

            {

                 // character movement 

                 if (Input.GetKey(KeyCode.W))

                 {

                      PlayerMove.transform.Translate(0, 0, 0.25f);

                 }


                 if (Input.GetKey(KeyCode.S))

                 {

                      PlayerMove.transform.Translate(0, 0, -0.25f);

                 }


                 if (Input.GetKey(KeyCode.A))

                 {

                      PlayerMove.transform.Translate(-0.25f, 0, 0);

                 }


                 if (Input.GetKey(KeyCode.D))

                 {

                      PlayerMove.transform.Translate(0.25f, 0, -0);

                 }

             }

我已经更新了之前的代码以包含PlayerMove.transform.Translate但我仍然遇到与立方体音符移动相同的问题。我还包含了我的场景的截图,包括立方体和 GameCoreController;包含应该控制立方体的脚本的空游戏对象。

http://img3.mukewang.com/6190d3d40001ad9225590793.jpg

再次感谢各位大侠的帮助。


更新2!


删除立方体并将其重新插入场景后,它现在会移动。谢谢大家的帮助。


慕田峪7331174
浏览 182回答 2
2回答

慕的地8271018

立方体不会移动的原因是在您的代码中您没有移动它,transform而是移动了transform您将此脚本附加到的游戏对象的 。transform.Translate移动此脚本附加到的游戏对象的变换。所以如果你想移动立方体,你需要做的就是改变 from&nbsp;transform.Translateto&nbsp;PlayerMove.transform.Translatewhich 将移动游戏对象的变换,PlayerMove它是你的立方体,上面有“玩家”标签

千万里不及你

^ 以上都是。另外,在屏幕截图中,您的刚体未设置为“运动学”。这意味着物理仍然会应用于它(如重力)。经验法则:如果你有一个移动物体,碰撞很重要,它需要一个刚体和一个碰撞器。如果对象不是通过物理命令(例如,刚体.AddForce())移动,而是按原样操作变换,请将刚体“isKinomatic”属性设置为 true。
打开App,查看更多内容
随时随地看视频慕课网APP