2D游戏物体使用Instantiate带来的旋转问题

本文探讨了在Unity中2D游戏物体使用Instantiate创建子弹时,子弹旋转与玩家指向不一致的问题。作者指出,尽管坦克和子弹的Rotation相同,但子弹的实际方向错误。经过尝试,作者发现子弹的旋转度数是坦克的两倍,并通过除以2修正了这一问题,成功解决了子弹的朝向问题。作者期待有更深入的原理解析或替代解决方案。
摘要由CSDN通过智能技术生成

解决由2D游戏物体使用Instantiate生成的子弹prefabs的方向与玩家指向不一致的问题。
首先说一句。在这里,没有父节点!!!!所以不是父节点导致的,与其他文章并不同。
其次,我的左右方向键并不是控制物体移动的,仅仅是用来旋转坦克的。
另外玩家(坦克)和子弹的旋转角度是一模一样的,但是方向始终不一样
在这里插入图片描述
在这里插入图片描述
如上两图,Bullet(子弹)和Player(坦克)的Rotation是一样的,但是朝向是完全不一样的,看下图。(下图是一直按左键,旋转了坦克的指向,再进行发射子弹)
在这里插入图片描述
如上图,可以发现,坦克的炮台朝向是左上方的,可是由鼠标左键发射出来的子弹确实朝向左下角移动的。一开始我使用的是下面这个代码。
Instantiate(Bullet,this.transform.position, this.transform.rotation)

后来尝试了很多种方法
1.Vector3 BulletVector = transform.rotatio

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值