【发布时间】:2013-12-01 05:22:12
【问题描述】:
我对统一很陌生,但我制作了一个基本的 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;
}
}
}
当使用此代码转动角色时,枪只是以一种奇怪的方式旋转,这与我对旋转脚本的预期不太一样
【问题讨论】:
标签: c# rotation unity3d quaternions