[英]Unity C# How to turn item in hands when player turns
我對團結還很陌生,但是我制作了一個基本的FPS游戲,拿着槍時,我想這樣做,所以當您的玩家轉身時,手中的物品會旋轉以顯示轉身。 例如,在玩使命召喚時,您旋轉角色時槍會旋轉。 這是我的代碼,但無法正常工作
void Update(){
this.rotateEquppedOnTurn();
}
private void rotateEquppedOnTurn(){
if(this.equippedItem != null){
InteractEquppableItem equip = this.equippedItem.gameObject.GetComponent<Interaction>() as InteractEquppableItem;
if(equip.rotatesWhenTurn){
float rotX = Input.GetAxis("Mouse X");
float rotY = Input.GetAxis("Mouse Y");
Quaternion tempRot = new Quaternion();
Quaternion tempCam = GameObject.Find("PlayerCamera").transform.rotation;
tempRot.x = tempCam.x + rotX;
tempRot.y = tempCam.y + rotY;
tempRot.z = tempCam.z;
this.equippedItem.gameObject.transform.rotation = tempRot;
}
}
}
當使用此代碼旋轉角色時,噴槍只是以一種奇怪的方式旋轉,這與我從旋轉腳本中獲得的效果不盡相同
不要像這樣直接分配旋轉。
this.equippedItem.gameObject.transform.rotation = tempRot;
而不是使用這樣的東西
this.equippedItem.gameObject.transform.Rotate(new Vector3(x,y,z));
您可以使用鼠標移動來得出x,y,z
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.