求问 unity制作fps游戏的一个小问题!!!!!!!!!!!!!!!!!

如果想用unity制作一个fps游戏 用官方给的那个fpsController第一人称视角制作。
子弹发射的方法用射线检测 用ui层的中心点做准星 然后从摄像机发射一条射线
ray = Camera.main.ScreenPointToRay(new Vector3(Screen.width / 2, Screen.height / 2, 0));
子弹以射线方向发射实现准星指哪打哪,但是问题是这样子弹就必须从摄像机的位置打出,会很假,如果想要从fpsController下面绑定的枪的模型上打出就无法保证子弹
会打在准星的位置上。
求告知 如何解决这个问题!!!!让子弹看上去是从枪口发射,又会打在ui层准星所在的位置

2个回答

你可以试一下用两个摄像机,其中一个绑定在枪的模型上,射线从这里发出到达准星点,,,另一个摄像机正常使用就行了。

你看官方的方法, 可以这么来 创建一个空物体 移动到枪口处 并且设置为枪的子物体 命名为发射点 怎么起看你喜好了

然后 利用相机发射一条射线 检测到三维空间里的目标点

利用这个目标点和枪口发射点做差

然后剩下的就是怎么沿着这条线发射了

qq_37296877
qq_37296877 回复cgr939923423: 看官网API文档
3 年多之前 回复
qq_37296877
qq_37296877 看官网API文档
3 年多之前 回复
cgr939923423
cgr939923423 官方的方法在哪里能看啊?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问