问题标签 [urho3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
332 浏览

c# - 如何使 urho3d 背景以 Xamarin 形式变得透明?

我使用 Urhosharp 在 Xamarin 表单上显示 3D 模型,并且我想让 Urhosharp 视图变得透明,以便 3D 模型可以覆盖(上方)Xamarin 表单内容。

但是,如果我将 UrhoSurface 的背景颜色设置为透明,并将 Viewport 的“清晰颜色”设置为透明,则它不起作用。

那么如何让Urho3d的背景变得透明呢?所以我可以在 3D 模型下方显示 Xamarin 表单内容。

0 投票
1 回答
302 浏览

urho3d - 如何在不重新缩放整个节点的情况下在 Urho3D 中缩放 Sprite2D?

我想将 2D 精灵缩放为与节点的碰撞框一样大。

我只设法使用Node::SetScale一些手动缩放计算来做到这一点,但我宁愿不使用这种方法,因为它是复杂的,因为我还必须考虑身体的缩放因子。

但是,我找不到该类的SetScale方法StaticSprite2D

关键代码部分是:

下面的完整可运行代码,使用以下样板测试:https ://github.com/cirosantilli/Urho3D-cheat/blob/8c785b38481aa5af48837c5bc3706e46f704ef37/scale_sprite.cpp和 Urho3D @ 5e8a275:

有趣的是,有一个SetScaleforSprite类,据我在示例中看到的,它用于 3D 场景中的 UI。

超集:2D 中的任意着色器:

也在:https ://discourse.urho3d.io/t/how-to-scale-a-sprite2d-in-urho3d-without-rescaling-the-entire-node/3785/1

0 投票
1 回答
380 浏览

urho3d - 如何在 2D 世界中检测碰撞事件并在 Urho3D 中运行回调?

我设法检测到 3D 中的碰撞,但“类似”的 2D 不起作用。

对于 3D,我这样做:

并且每当发生碰撞时都会调用回调:

但是当我为 2D 尝试同样的方法时,它永远不会被调用。

下面的完整可运行代码,使用以下样板测试:https ://github.com/cirosantilli/Urho3D-cheat/blob/e2c955a45d8328fd5f8bf4df5685653452cb28a7/collision.cpp和 Urho3D @ 5e8a275:

可以在以下位置找到类似的可运行和按预期工作的 3D 版本:https ://github.com/cirosantilli/Urho3D-cheat/blob/e2c955a45d8328fd5f8bf4df5685653452cb28a7/collision3d.cpp

0 投票
2 回答
279 浏览

urho3d - 如何将 Urho3D 应用场景重置/重新启动到其初始状态?

我想在用户按键时将我的场景重置为原始状态,以方便测试或允许用户重新启动游戏。

更准确地说,如何组织我的代码,以及我必须放入什么:

重新启动应用程序?

这是一个完整的可运行示例,我尝试创建一个类似乒乓球的游戏:

在我天真的尝试中,我尝试简单地this->Start()从回调中调用,但它并没有清除所有内容:UI除了叠加在它上面的新分数之外,它仍然显示旧分数。

GitHub 上游:https ://github.com/cirosantilli/Urho3D-cheat/blob/e58a643ccf855d659ee292aeb513e191e0c5bb95/pong.cpp

还问:https ://discourse.urho3d.io/t/how-to-reset-restart-a-urho3d-application-scene-to-its-initial-state/3831

0 投票
1 回答
46 浏览

urho3d - 如何在 Urho3D 中创建具有偏移和旋转的 2D 复合体形?

我想将两个形状连接在一起,以使它们的相对位置始终保持不变。

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

在 Box2D 中,这可以通过制作多个夹具来实现,如:如何组合 Box2d 主体?,然后使用shape.m_p.Set.

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

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

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

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

0 投票
1 回答
353 浏览

xamarin.forms - 如何在 urho 3d 视图中实现拖放?

我使用 urhosharp 为我的 xamarin uwp/ios/android 项目添加了 3d 视图对象。唯一有效的事件是触摸事件,但我也想使用拖放,以便对象可以移动到 3D 视图中的不同位置。有什么建议么?

https://us.v-cdn.net/5019960/uploads/editor/ni/u16pg79v2m62.png

0 投票
1 回答
235 浏览

quaternions - Urho节点旋转

我正在尝试围绕 UrhoSharp 中的一个点旋转一个对象。我已经学习了很多关于四元数如何工作的知识,但他的 node.RotateAround 方法似乎并不遵循规则。

当 w = 0 或 PI 时,我似乎得到了正确的旋转。但是,如果我使用任何其他数字,我似乎无法知道对象将以哪种方式旋转。

如果有人对使用四元数有任何了解,我将不胜感激。

0 投票
1 回答
23 浏览

c# - Urho3D Sharp DropDownList 弹出问题

我正在尝试DropDownList在 Urho3D Sharp 中创建一个。由于某种我不知道的原因,我无法从 DropDownList 中显示弹出窗口。有人对在 Urho3D Sharp 中创建下拉菜单有任何提示吗?

我曾尝试ShowPopup在按下下拉列表时调用,但这没有任何效果。

0 投票
1 回答
82 浏览

android - 如何在 ViewGroup 类中将 UrhoSharp Surface 附加到 LinearLayout

我正在尝试将 UrohSharp Surface 添加到LinearLayout继承自的类中ViewGroup(放置在另一个视图的左下角)。

大多数显示在 Android 中实现 UrhoSharp 的示例都是直接在主要活动中完成的,如下所示:

或者使用布局文件中的元素:

并像这样替换它:

但是,我需要做的是创建某种视图来封装 Urho 代码并以如下方式引用它:

然后从主活动视图中抓取它:

由于UrhoSurface.CreateSurface需要 Activity 对象,我不确定如何最好地解决这个问题 - 据我所知,没有“干净”的方法可以从类继承中访问活动ViewGroup?最终目标是在包含许多以类似方式引用的其他元素的视图中显示 3D 模型。

0 投票
1 回答
1225 浏览

c# - 如何在 Xamarin.Forms 中呈现 .obj 模型?

我有一个 .obj 文件,其中有一个 3D 主体,我想在已经存在的 Xamarin.Forms 应用程序中渲染它(使用 MvvmCross 制作),所以我只想创建一个具有渲染主体的新 ContentPage。用户应该能够从不同的角度查看身体,并且可能单击它以突出显示某些部分,但仅此而已。

我发现了 UrhoSharp,我也知道我可以为 Xamarin 使用 Metal 和 Vulkan 绑定,但由于我是 3D 应用程序的初学者,我不知道哪一个最适合我的场景,这就是我想要某人的原因为我指出这种情况的正确方向。对于 UrhoSharp,我发现此加载器仅适用于 Windows 10,Android 应用程序不加载任何内容,iOS 应用程序渲染主体,但我无法在其周围移动相机。