问题标签 [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.
helix-3d-toolkit - Helix 3d-toolkit 显示的 .STL 模型颜色变化
我正在制作一个以 Windows 形式显示 3dmodel.stl 的 c# 应用程序。
我已经设法显示它,但模型的默认颜色是蓝色,我需要将其更改为其他颜色,比如说粉红色/棕色(它应该看起来像皮肤)。
我已经 2 天寻找它并阅读文档和示例,但我还没有找到改变它的方法。
如果有人在螺旋上工作过并且知道如何(或者即使有办法)做到这一点,我会非常感谢他提供的信息。
代码很简单:
XAML 代码:
和 C# 代码:
wpf - 如何在 Helix Toolkit ViewPort 中设置不反射光线的材质?
我创建并渲染了一个包含 20SpotLight
个点的列表,Helix
ViewPort
其中包含特定位置。有了计时器,我总是改变SpotLight
. 灯光ViewPort
设置为:
<helix:DirectionalHeadLight Position="2,3,0" Brightness="0.30"></helix:DirectionalHeadLight>
比我还创建一个列表并呈现 20 个球体的列表SphereVisual3D
。SpotLight
s 和s的SphereVisual3D
位置相似。比我为 spehres 设置材料(在本例中为靛蓝)。见图片:
图1:SphereVisual3D
职位
图2:SpotLight
位置(每个颜色不同SpotLight
)
我想保持球体Material
相同,而不light
从SpotLights
. 我尝试了所有 3 种类型Material
:
1:sphere.Material = new DiffuseMaterial(new SolidColorBrush(Colors.Indigo));
DiffuseMaterial
图 1.1:带有和的 SpehresSpotLights
2:sphere.Material = new SpecularMaterial(new SolidColorBrush(Colors.Indigo),1);
SpecularMaterial
图 2.1:带有和的 SpehresSpotLights
3:sphere.Material = new EmissiveMaterial(new SolidColorBrush(Colors.Indigo));
SpecularMaterial
图 3.1:带有和的 SpehresSpotLights
是否可以设置Material
不反射光线并保持其颜色的a?有没有可能设置纯色?
c# - C# 与 WPF 中的 ModelVisual3D 对象交互
嘿,我正在使用 WPF 3D 场景并成功地将一些 .stl 模型加载到其中。我基本上使用一种方法来选择和取消选择这些对象,具体取决于我的鼠标在窗口中的位置:
所以我选择了 ModelVisual3D 并且可以存储它。然而,这里是主要问题:
我的模型是根据某些数据和关联的 .stl 模型生成的。基本上我导入 .stl 模型并将其显示在我的 3D 场景中,但问题是我不知道如何将我的其他数据连接到模型。
例如,当我选择视觉对象时,我想显示另一个窗口,其中包含以下信息:材料、尺寸、公司。
但我不知道如何确定,目前选择了哪个唯一的 ModelVisual3D 对象。似乎没有我可以利用的属性来做类似的事情:
c# - 如何在表单中获取 Controls.ItemsControl
我有一个Controls.ItemsControl
(实际上是 a HelixViewport3D
)并想将它添加到 aForms.UserControl
中。
我已经尝试过this.Controls.Add(new HelixViewport3D());
Where this is a derived fromUserControl
但是这导致了错误HelixToolkit.Wpf.HelixViewport3D' to 'System.Windows.Forms.Control
。这是有道理的,因为他们不会从彼此那里继承任何东西。在这些情况下是否有某种包装类?
我还注意到应该可以使用 ElementHost.Child 在 winform 中托管 WPF,但在我的示例代码中找不到添加此变量/函数(缺少什么?),System.Windows.Forms.Integration.ElementHost 告诉我缺少 System.Windows.Forms.Integration。
c# - 使用 Helixtoolkit 进行缩放
我正在尝试使用 Leap Motion 来控制带有 Helix Toolkit 的 3D 对象,我几乎成功了,但我想知道如何在代码隐藏中进行“缩放”。
注意我正在使用 Caliburn(MVVM 模式)。
我想在执行顺时针 CircleAction 时放大,否则缩小:
这是我的 HelixToolkit 区域:
c# - WPF Helix 3d 如何将“项目”绑定到 BillboardTextGroupVisual3D
我想在 XAML 中绑定 BillboardTextGroupVisual3D 中的项目,并且我还检查了有关项目的 DependencyProperty 的源代码,如下所示
在这里,我通过了我尝试过的代码段,但所有这些都失败了。我不知道如何动态更新列表中的 DependencyProperty。
在 MainWindows.xaml 中,我将 Items 与 TextItems3 绑定。
在 MainWindows.xaml.cs 中,有人告诉我使用 ObservableCollection,但仍然失败..
c# - 如何使用 HelixToolkit 将对象始终保持在 SharpDX 中的所有其他内容之前
我正在向我的场景添加一个坐标系(自己的类,派生自 GroupModel3D),并将其变换设置为当前选定对象的变换。
一切工作正常,除非对象太大,坐标系在里面,因此不可见。所以我喜欢将坐标系设为 topMost,就像在大多数 CAD 系统中一样。
我搜索了互联网,发现只需清除 z-/depth- 缓冲区就可以了(http://www.gamedev.net/topic/297605-how-to-keep-an-object-always-visiblein-front -of-others/),但我不知道如何在 HelixToolkit 中执行此操作。
c# - 带有 Helix 工具包的 WPF,使用代码隐藏制作动画?
我是 WPF 新手,正在尝试使用 helix 工具包构建 3d 视口。视口、网格等按预期显示,我添加了一个简单的管。现在,我想根据用户输入使用一个新函数来更新管的变换,但我无法让它工作。
我在哪里错了?
谢谢你。
.xaml
.xaml.cs