Wie mache ich, dass er bei Unity nicht zu den Koordinaten 0, 0, 0 geht, sonder direkt von der aktuellen Position hoch?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CUBE : MonoBehaviour
{
public GameObject cube = GameObject.Find("cube");
public int speed = 200;
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyDown("left shift"))
{
cube.transform.position = Vector3.up * Time.time;
}
}
}
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Programm, programmieren, C Sharp
Vector3.up zeigt auf die Koordinate (0, 1, 0). Um von der aktuellen Position des Objekts aus zu starten, darfst du den rechtsseitigen Wert nicht einfach zuweisen, sondern musst ihn aufaddieren.
cube.transform.position += Vector3.up * Time.time;
// or long version:
cube.transform.position = cube.transform.position + Vector3.up * Time.time;