首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Urho3D中建立具有偏移和旋转的二维复合体形状?

如何在Urho3D中建立具有偏移和旋转的二维复合体形状?
EN

Stack Overflow用户
提问于 2017-12-16 21:05:06
回答 1查看 51关注 0票数 0

我想把两种形状结合在一起,使它们的相对位置保持不变。

形状必须放置在相对于节点中心的特定偏移处。

在Box2D中,可以通过制作多个固定装置(如:How to combine Box2d bodies?中提到的那样),然后使用shape.m_p.Set来实现这一点。

我设法通过以下方式在3D中做到了这一点:

  • 多次调用Node::CreateComponent<CollisionCircle2D>
  • 使用CollistionShape::SetPosition方法设置偏移量

最小可运行示例:https://github.com/cirosantilli/Urho3D-cheat/blob/76134e9e53e82a95447701f4a67646d47a76d320/compound3d.cpp#L101

然而,在2D中,我无法在SetPosition类中找到类似的CollisionShape2D,所以所有的形状都是同心的,我不想这样做。最小示例:https://github.com/cirosantilli/Urho3D-cheat/blob/76134e9e53e82a95447701f4a67646d47a76d320/compound.cpp#L35

EN

回答 1

Stack Overflow用户

发布于 2017-12-16 21:05:06

CollisionCircle2D::SetCenter

由于某些原因,类似的方法不是在基类CollisionShape2D上,而是在派生类上,例如CollisionCircle2D::SetCenter

CollisionCircle2D::SetCenter方法接受一个行为与CollistionShape::SetPosition类似的Vector2D参数。

工作代码:https://github.com/cirosantilli/Urho3D-cheat/blob/4a03873e40ef83b488bb8ca36d6f35c5d046de28/compound.cpp#L44

然而,自问时回答:-)

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

https://stackoverflow.com/questions/47849928

复制
相关文章

相似问题

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