将枪定位在恒定的位置

我试图以大多数fps游戏定位枪的方式来定位枪,例如:

http://img3.mukewang.com/60a9b0640001d01a09000510.jpg

但是当我尝试随播放器定位和旋转时出现问题。喷枪旋转不正常,并且始终不处于相同位置。


有没有办法将枪支保持在相同的位置,并使其随玩家一起旋转?


但是我的主要问题是,我开始游戏并选择一把枪时,我需要将枪的位置保持在与每帧fps一样的位置,因为旋转,它会在屏幕上的不同位置产生。


这是我尝试使用的代码:


GameObject temp = GameObject.Find(gameObject.name);

playerGuns[keyPress] = Instantiate(temp, Player.transform.position 

                       + new Vector3(-2f, 3f, 4f), Quaternion.identity) as GameObject;

playerGuns[keyPress].name = gameObject.name;

playerGuns[keyPress].tag = gameObject.tag;

playerGuns[keyPress].transform.parent = Player.transform;

playerGuns[keyPress].transform.rotation.SetLookRotation(Player.transform.position);


SMILET
浏览 139回答 3
3回答

慕容708150

playerGuns[keyPress].transform.parent = Player.transform;这条线可能引起问题。如果您将枪支作为玩家的角色,那么它将跟随玩家。但这听起来像您想要它跟随相机吗?尝试: playerGuns[keyPress].transform.parent = Camera.main.transform;
打开App,查看更多内容
随时随地看视频慕课网APP