查看: 1951|回复: 8
打印 上一主题 下一主题

[交流] 简单解决抛射物遮挡视野

[复制链接]

6

主题

14

回帖

12

积分

Lv.1 新手木匠

UID
744743
小麦
1
金锭
78
下界之星
0
楼主
发表于 2020-3-14 09:25:26 来自手机 | 显示全部楼层 IP:浙江
首先获得生物的朝向和坐标
rotation = self.CreateComponent( entityId, "Minecraft", "rot ).GetRot()
position = self.CreateComponent( entityId, "Minecraft", "pos" ).GetPos()

然后通过朝向获取生物朝向的方向向量
vector = serverApi.GetDirFromRot( rotation )

最后给定一个偏移距离,计算出新的发射起始点
alignLength = 1.0 # 偏移距离
x = position[0] + vector[0] * alignLength
y与z同理

最终使用计算好的 x y z 坐标生成抛射物即可

6

主题

14

回帖

12

积分

Lv.1 新手木匠

UID
744743
小麦
1
金锭
78
下界之星
0
沙发
发表于 2020-3-14 09:27:03 来自手机 | 显示全部楼层 IP:浙江
根本不需要三角函数,一个方向向量和一个距离常量就搞定了,初中物理几何基础
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部