用Mathf.Abs(絕對值)計(jì)算鼠標(biāo)水平和豎直方向誰的位移更大,減少因?yàn)橐粊G丟的其他方向移動(dòng)導(dǎo)致的物體微幅旋轉(zhuǎn)影響后面物體旋轉(zhuǎn)會(huì)越來越混亂。這樣可以讓物體旋轉(zhuǎn)更好的單個(gè)方向進(jìn)行旋轉(zhuǎn)。文章來源:http://www.zghlxwxcb.cn/news/detail-617483.html
代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-617483.html
public float speed = 2f;
void Update()
{
if (Input.GetMouseButton(0))
{
float OffsetX = Input.GetAxis("Mouse X");
float OffsetY = Input.GetAxis("Mouse Y");
if(Mathf.Abs( OffsetY)> Mathf.Abs(OffsetX))//對比水平和豎直方向誰的位移量更大,來決定旋轉(zhuǎn)哪個(gè)方向,避免多個(gè)方向位移。
transform.Rotate(new Vector3(-OffsetY, 0, 0) * speed, Space.World);
else
transform.Rotate(new Vector3(0, -OffsetX, 0) * speed, Space.World);
}
}
到了這里,關(guān)于Unity 鼠標(biāo)拖動(dòng)旋轉(zhuǎn)物體,并且物體不會(huì)越轉(zhuǎn)越亂的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!