Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在统一中缓慢地上/下移动对象?_C#_Unity3d - Fatal编程技术网

C# 在统一中缓慢地上/下移动对象?

C# 在统一中缓慢地上/下移动对象?,c#,unity3d,C#,Unity3d,我试图缓慢地上下移动对象(Y轴),但不幸的是,对象开始从不同的位置上下移动。如何确保它开始从给定位置上下移动,例如Y=10.25f float speed = 2f; float height = 0.05f; void Update() { Vector3 pos = transform.position; float newY = Mathf.Sin(Time.time * speed); newY = newY*height; transform.p

我试图缓慢地上下移动对象(Y轴),但不幸的是,对象开始从不同的位置上下移动。如何确保它开始从给定位置上下移动,例如Y=10.25f

float speed = 2f;
float height = 0.05f;

void Update()
{
    Vector3 pos = transform.position;

    float newY = Mathf.Sin(Time.time * speed);

    newY = newY*height;

    transform.position = new Vector3(pos.x, newY, pos.z);
}

如果我已经很好地理解了您的意思,那么您应该向newY添加start Y position,例如:

float speed = 2f;
float height = 0.05f;
float startY = 10.25f;

void Update(){
    var pos = transform.position;
    var newY = startY + height*Mathf.Sin(Time.time * speed);
    transform.position = new Vector3(pos.x, newY, pos.z);
}

请不要编辑您的问题以提出完全不同的问题。否则,你将浪费那些试图回答原始问题的人的时间。把它放在你想要的地方。如果希望它从y=0.5f开始;然后只需在开始方法中设置y值即可。
newvector3(pos.x,newY+someOffset,pos.z)