Мне нужно переместить мой целевой объект в мировом пространстве относительно направления, на котором обращена основная камера, но только на оси z & и относительно моего игрока на ось y.Как я могу сделать это движение относительно направления моей камеры
Любые рекомендации приветствуются.
public class test : MonoBehaviour {
public string raise = "Raise";
public string lower = "Lower";
public string left = "Left";
public string right = "Right";
public string closer = "Closer";
public string further = "Further";
public GameObject target;
private float xPos;
private float yPos;
private float zPos;
// Use this for initialization
void Start() {
xPos = target.transform.position.x;
yPos = target.transform.position.y;
zPos = target.transform.position.z;
}
void FixedUpdate() {
Vector3 currPos = target.transform.position;
Vector3 nextPos = new Vector3 (xPos, yPos, zPos);
target.GetComponent <Rigidbody>().velocity = (nextPos - currPos) * 10;
if (Input.GetButton (raise)) {
print ("Moving Up");
yPos = yPos + 0.05f;
}
if (Input.GetButton (lower)) {
print ("Moving Down");
yPos = yPos - 0.05f;
}
if (Input.GetButton (left)) {
print ("Moving Left");
xPos = xPos - 0.05f;
}
if (Input.GetButton (right)) {
print ("Moving Right");
xPos = xPos + 0.05f;
}
if (Input.GetButton (closer)) {
print ("Moving Closer");
zPos = zPos - 0.05f;
}
if (Input.GetButton (further)) {
print ("Moving Further");
zPos = zPos + 0.05f;
}
}
Спасибо за большой ответ tenpn, что действительно помогает мне. , но теперь, когда я отпускаю кнопку подъема, высота сбрасывается. Так я иду currentPos - newVel? – user1919580
Мне нужно больше деталей. Вы начинаете на полу, поднимаете удар, и что происходит? Что вы хотите? – tenpn
Хорошо, я вижу, это для системы телекинеза, поэтому, когда я нажимаю кнопку объекта объекта, она должна установить высоту объекта с земли и оставаться в этом месте, когда я отпущу кнопку. – user1919580