C# 在统一中缓慢地上/下移动对象?
我试图缓慢地上下移动对象(Y轴),但不幸的是,对象开始从不同的位置上下移动。如何确保它开始从给定位置上下移动,例如Y=10.25fC# 在统一中缓慢地上/下移动对象?,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
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)
?