0

我想渲染网格中的所有顶点和线。

我试过

1)遵循此链接的自定义着色器

https://github.com/mrdoob/three.js/issues/2028

2)用材料或类似设置透明度:

THREE.MeshNormalMaterial( { transparent: true, opacity: 0.5 } ),

3)在3dMax中为模型设置墨水材质并导出为obj文件并在Threejs中加载objloader

它们都不能正常工作。

是否有任何解决方案可以从 3dMax 模型(使用 objloader)加载混搭并在 Threejs 中将其与墨水材料一起应用,就像我们在 3DMax 中可以做的那样?

请参阅下面的示例 http://makeitcg.com/wireframe-rendering-techniques-in-3ds-max/160/

4

1 回答 1

0

首先,数字 3) 永远不会与 OBJ 一起使用,因为 obj 不会从 3dsMax 导出墨迹着色器。为了清楚起见,我认为没有任何方法可以导出 3dsMax 着色器。然后,我不明白 2) 是关于什么的。你到底想达到什么目的?是否要将对象设置为透明?这与 Ink 'n Paint 有什么关系?顺便提一句。我不确定透明度是否适用于 MeshNormalMaterial,我想应该可以,但 Lambert 和 Phong 肯定会使用透明度。

问题是你没有说明你想要达到的目标。从 1) 开始,您似乎想要一个对象周围的轮廓。有关大纲,请参阅此示例:http ://stemkoski.github.io/Three.js/Outline.html或此示例作为更高级的示例:http ://stemkoski.blogspot.de/2013/07/shaders-in -threejs-glow-and-halo.html

如果要设置透明对象,请尝试 MeshLambert 或 meshBasic 材质,如果 MeshNormal 不起作用(我现在不确定,无法检查)

3) 如果你想要一个 Ink 'n Paint 着色器,你需要一个自定义着色器。请参阅此处的示例:

http://www.chromeexperiments.com/detail/cel-shader/ 并且已经在这里完成了three.js:http://learningthreejs.com/data/THREEx/docs/THREEx.CelShader.html 只需 应用着色器,请参阅设置 ShaderMaterial 的示例。

于 2013-09-06T08:10:30.950 回答