簡體   English   中英

Unity3D:相對於孩子移動父游戲對象

[英]Unity3D: Move the parent gameobject relative to the child

在此輸入圖像描述

所以,我有X and Y game objects 我有一個矢量Z = X - Y ,由綠線表示。

此外,我有一個Parent游戲對象,它有一個Child游戲對象。 如何移動父級以使子級游戲對象位於Point Y

我試過了,

                  Z -= new Vector3(child.localPosition.x, 0, child.localPosition.z);
                  Parent.transform.position = Z

這沒有按預期工作。 謝謝!

你需要應用於你的孩子對象C移動到Y的絕對運動是向量Y - C.如果你將這個絕對運動應用於父母,孩子將被移動相同的數量,因為孩子與他們的父母一起移動。 因此,您需要將此絕對運動Y - C應用於父級,並且您將在y位置使用C。

對於對象“y”和“Child”的名稱,以及“this”是父對象的情況,這將是移動:

void moveToYGameObject()
{
    //total absolute movement you want to move
    Vector3 AbsoluteMovement = GameObject.Find("y").transform.position - 
    GameObject.Find("Child").transform.position;
    //add this vector to current parent's (along with child) position
    this.transform.position += AbsoluteMovement;
}

也應該在3D上工作,你的對象不需要在XZ平面上。 如果問題是“如何移動父級以使子游戲對象位於Y點”,則x游戲對象和Z向量不會對問題本身進行任何滾動,大豆我可能會遺漏某些東西。

希望有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM