我使用滑塊來改變關節角度,這是我的代碼。
void Update()
{
a = sliderx.GetComponent<slider>().value;
b = slidery.GetComponent<slider>().value;
headjoint.transform.Rotate(a, b, 0);
}
我滑動桿后,關節會旋轉并且不會停止。喜歡
一個 = 值
并不是
a = 值
,滑塊沒有給出一個確定的數字?
為什么?我需要使用 eularangle 嗎?
當我使用
headjoint.transform.rotation = Quaternion.Euler(a, b, 0);

它在運行時將我的物件的旋轉角度更改為 0,0,0
有任何想法嗎?
uj5u.com熱心網友回復:
Rotate顧名思義,將物件旋轉給定的量。如果您使用相同的值不斷呼叫它,則您的物件會不斷旋轉大約相同的量。
您寧愿設定輪換。
你的嘗試
headjoint.transform.rotation = Quaternion.Euler(sliderX.value, sliderY.value, 0);
實際上很接近,是的。但默認情況下Rotate應用在本地空間。所以如果你想要同樣的行為,你寧愿使用
// First of all use the correct type and don't use GetComponent repeatedly
public Slider sliderX;
public Slider sliderY;
void Update()
{
headjoint.transform.localRotation = Quaternion.Euler(sliderX.value, sliderY.value, 0);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/383689.html
上一篇:如何使用OnItemTapped在ListView中打開url-Xamarin
下一篇:c#中的動態屬性取決于列舉值
