问题标签 [helix-3d-toolkit]

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 回答
3161 浏览

c# - 如何在运行时在 helix-3D 工具包中添加 3D 元素

我在一个小项目上工作,我使用 helix-3DToolkit。我想在运行时添加一些 3D 对象。

当我添加一个元素并尝试从 MeshBuilder 添加 MeshGeometry3D 时,每次都会得到相同的 nullreference 异常,并带有以下堆栈跟踪:

xaml 看起来像这样:

视图模型:

在我的表格中,我有这个:

这段代码有什么问题?如何在运行时将一些元素添加到我的视口?为此使用 MeshGeometryModel3D 是否正确?我试图添加一个新的 MeshGeometryModel3D 几何,我改变了现有的但没有任何效果。

0 投票
1 回答
1653 浏览

c# - ZoomExtents method call works different than activating ZoomExtents through gesture

I've been working on a small 3D preview window in a MVVM style application... The view is created then its data context is set. Therefore it seems that ZoomExtentsWhenLoaded="True" doesn't seem to help do what I need. I need something like, ZoomExtentsWhenDataContextChanges.

Interestingly, I've found that if I use a mouse gesture like the one defined below, I can physically click on the HelixViewport3D and it will perform a ZoomExtents.

However, if do something like this...

The viewport does zoom, it just doesn't center itself, like it does when activating ZoomExtents when using the mouse gesture.

I tried ResetCamera, and several other things... What is the standard way of dealing with keeping a viewport around and swapping out the DataContext instead of creating a new one each time?

0 投票
1 回答
1153 浏览

c# - Helix Toolkit - obj 子网格

我正在使用 helix 工具包导入 OBJ 文件。该文件里面有 4 个 3d 模型。这是我用来导入 OBJ 的代码

我要做的是按名称选择 obj 内的网格。名称为 v_a、v_b、v_c、v_d

我只是无法选择他们。

0 投票
2 回答
5882 浏览

helix-3d-toolkit - 如何设置 helix 工具包相机目标

如何设置相机目标并缩放到目标?我有许多带有 Point3D 位置的 3D 视觉效果,这些位置当然会进行转换,因此相机无法准确定位对象。

0 投票
0 回答
546 浏览

wpf - WPF 3D 纹理交集

我正在使用 Helix 3D Toolkit 在 WPF 应用程序中绘制 3D 对象。目前我正在绘制 3D(矩形)中的 2D 形状,并且在形状相交时遇到纹理问题:

相交形状纹理问题

移动相机时交点发生变化:

相交形状纹理变化

我尝试将一种形状放置在比另一种高一点的位置(Z = 0.101 和 0.102),但结果是一样的。如果我增加差值(Z = 1 和 2),问题就解决了。但这太高了,因为在形状之上还会有其他 3D 对象,并且形状不应该与它们重叠。

为什么会发生这种情况?我认为即使是很小的高度差异也应该足以清楚地识别应该显示哪个纹理。

我试图谷歌,但我什至不知道如何正确描述这个问题以获得相关结果。

0 投票
0 回答
347 浏览

c# - HelixVisual3D 在 helix-toolki 上创建后未更新

我需要在 helix-toolkit 视口中显示一个圆形圆环。我找到的最接近的选项是 HelixVisual3D,但它有开放式末端。所以我尝试创建自己的类来绘制它,使用 HelixVisual3D 和两个细圆锥来闭合末端。我使用了他们的 Building Demo 中的类作为参考,所以我想出了这个:

要绘制它,我使用以下代码:

问题是螺旋线是使用默认值(半径=0.35,直径=0.1 和角度=90)绘制的,并且永远不会再次更新。无论我在属性上设置什么值,它都保持不变。两个圆柱体都正确更新,只是螺旋没有。

我在做什么错?

0 投票
1 回答
984 浏览

c# - Helix Toolkit 镜像 X 轴

我正在尝试镜像 HelixViewport3D 的整个 x 轴以匹配另一个应用程序中的坐标系。

我试过在相机上使用 Transform 属性,如下所示:

这不会产生我可以看到的结果。是否有另一种方法可以在不更改视口中对象的位置值的情况下执行此操作?

0 投票
0 回答
1247 浏览

c# - Helix - 单击 HelixViewport3D 内对象上的坐标

我想知道我单击的 HelixViewport3D 中点的坐标。

我的任务是:
1) RectangleVisual3D 作为一些表面。
2) 单击该表面,在鼠标指针下添加 3d 对象。

我找到了=>this<=,但无法进一步发展这个想法。

感谢帮助 :)

0 投票
1 回答
2640 浏览

c# - 使用 helix 工具包创建可点击对象

我在 Helix Toolkit 上找到了一个名为 ScatterPlot 的示例,它非常接近我真正需要的。但是我找不到任何关于如何将一些 onclick 事件侦听器添加到创建的对象(在本例中为球体)的信息。这会将球体添加到“游乐场”。

基本目标是为每个球体添加一个 onclick 事件侦听器,当用户选择一种颜色并单击其中一个球体时,它将更改为所选颜色。可以将 onclick 侦听器(或与之相等的东西)添加到球体。

0 投票
1 回答
801 浏览

c# - 将原始三角形分割成更小的三角形

我正在使用带有 Helix Toolkit 的 WPF 渲染管道。我意识到提供的函数会生成对我来说太大的三角形图元。

在此处输入图像描述

例如,如果红色三角形是我的图元,我想控制(比如说)三角形的中间部分。我能想到的一种方法是将红色三角形进一步拆分为蓝色三角形,如图所示。谁能指出允许这种拆分的方法或算法?