首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Godot 3d获取前进向量

Godot 3d获取前进向量
EN

Stack Overflow用户
提问于 2018-01-25 16:10:54
回答 6查看 9.8K关注 0票数 7

我想知道是否有一种方法可以在Godot3D中获得空间节点的正向矢量。

统一起来,这将是简单的transform.forward。

Godot给了我一个旋转矢量,但我不确定如何将其转换为方向矢量。

戈多的transform.forward版本是什么?

EN

回答 6

Stack Overflow用户

发布于 2019-10-10 04:23:58

前进是你决定它应该是什么。我通常这样做:

代码语言:javascript
复制
var aim = $Player.get_global_transform().basis
var forward = -aim.z
var backward = aim.z
var left = -aim.x
var right = aim.x

当然,如果您在设计资源和场景时对此有一个约定,这将有所帮助。我一直使用-Z作为forward,但如果你愿意,你也可以选择不同的。

票数 3
EN

Stack Overflow用户

发布于 2018-01-25 22:51:51

我用get_global_transform().basis.z解决了我的问题

票数 2
EN

Stack Overflow用户

发布于 2020-04-20 04:50:12

SanzioSan使用basis.z向量是正确的,但他没有很好地解释它。从本质上讲,这是一个非常简单的问题。

如果您正尝试在3d模式下拖动对象,或者有一个对象并希望它跟随屏幕移动,则可以使用类似于此的代码

代码语言:javascript
复制
var transform_hold_obj = node_to_hold_obj.get_global_transform()
transform_hold_obj.origin = transform_hold_obj.origin - transform_hold_obj.basis.z * some_distance_between_you_and_object
obj_being_dragged.set_transform(transform_hold_obj)

在我的例子中,transform_hold_obj来自我的相机节点。我想要一些我选择的对象来跟随我的相机。此代码位于某个脚本中,该脚本连接到被拖动的对象。Z向量是我的正向向量,也就是我的相机指向的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48438273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档