如何在框架中创建线框 3D 立方体?

Posted

技术标签:

【中文标题】如何在框架中创建线框 3D 立方体?【英文标题】:How to create a wire-frame 3D cube in a-frame? 【发布时间】:2016-08-09 12:13:32 【问题描述】:

我正在努力为盒子图元创建线框。尝试了颜色、不透明度和透明属性,但似乎都不起作用。这是代码 -

<a-entity geometry="primitive: box; width: 1; height: 1; depth: 1" position="0 1 0" material="color: #0000FF; opacity: 0.5;" rotation="0 0 120"></a-entity>

需要渲染这样的东西 -

【问题讨论】:

【参考方案1】:

您需要稍微检查一下THREE.Material docs,因为 A-Frame 无法公开所有选项。这是一个示例组件,使用 wireframe 选项:

 AFRAME.registerComponent('wireframe', 
   dependencies: ['material'],
   init: function () 
     this.el.components.material.material.wireframe = true;
   
 );

 <a-entity geometry="primitive: box" material="color: blue" wireframe></a-entity>

【讨论】:

只需注意可以放置 JS 的位置,您可以将 JS sn-p 放在场景之前或将其包含在 &lt;head&gt;....&lt;body&gt;&lt;script&gt;AFRAME.registerComponent...&lt;/script&gt;&lt;a-scene&gt;...&lt;/a-scene&gt;&lt;/body&gt; @ngokevin 如果您愿意,也可以随时编辑我的答案。【参考方案2】:

在 A-Frame 0.9.0 中,您可以将 wireframe: true 定义为 standard material 的属性,例如:

<a-entity geometry="primitive: box; width: 1; height: 1; depth: 1"
          position="0 1 0"
          material="color: #0000FF; opacity: 0.5; wireframe: true"
          rotation="0 0 120">
</a-entity>

也许你会得到比你需要的更多的电线(至少在我得到的渲染中,有一些对角线的电线,不仅仅是边缘),但也许足够好而且非常简单。

【讨论】:

以上是关于如何在框架中创建线框 3D 立方体?的主要内容,如果未能解决你的问题,请参考以下文章

100个 Unity踩坑小知识点| 在编辑器中绘制正方体虚线球体虚线(Gizmos 辅助线框)

ShaderJoy —— 纯 shader 实现立方体的渲染(含线框效果,虚线线框效果),带你了解渲染管线内部细节和原理GLSL

100个 Unity踩坑小知识点| 在编辑器中绘制正方体虚线球体虚线(Gizmos 辅助线框)

unity3D 如何渲染出图,一张JPG的就行~

3d 矩阵旋转 - 对象奇怪地旋转

Unity3D:Gizmos画圆(转载)