【问题标题】:Away3d 4, creating a flat shaded materialAway3d 4,创建平面着色材质
【发布时间】:2012-03-16 13:56:12
【问题描述】:

我目前正在尝试在 Away3d 4 内创建一个“平面”着色 ColorMaterial,以用作加载的 .obj 文件上的网格。

这是我正在尝试实现的屏幕截图。平面阴影模型在左侧。

我将我在 Away 中使用的同一个 .obj 文件加载到一个名为 MeshLab 的程序中。 MeshLab 有两种渲染模式设置,平坦或平滑。

平面渲染模式在左侧,平滑在右侧。当我将 .obj 加载到 Away3D 中时,结果看起来与 MeshLab 的平滑渲染模式完全一样。

为了获得平坦的结果,我尝试将 ColorMaterial 上的平滑标志设置为 false,但这似乎并没有改变任何东西。 http://away3d.com/livedocs/away3d/4.0/away3d/materials/MaterialBase.html

我现在开始研究材质 shadowMethod,因为我能够在 ShadingMethodBase 上找到一个平滑的布尔值,但老实说我不确定你是否可以在此处理。

http://away3d.com/livedocs/away3d/4.0/away3d/materials/DefaultMaterialBase.html#shadowMethod http://away3d.com/livedocs/away3d/4.0/away3d/materials/methods/ShadingMethodBase.html

下面是创建我的灯光和灯光选择器的代码,

dL = new DirectionalLight();
dL.diffuse = 20;
dL.ambient=.6;
dL.specular=15

scene.addChild(dL);

lightPicker= new StaticLightPicker([dL]);
dL.direction = new Vector3D(0,1,-2); 

这是我的材料,我已经尝试过使用它的大部分属性:

primitiveMaterial = new ColorMaterial(0xcccccc);
primitiveMaterial.smooth = false;
primitiveMaterial.bothSides = false;
//primitiveMaterial.gloss = 800;
//primitiveMaterial.diffuseLightSources = LightSources.LIGHTS;
primitiveMaterial.diffuseMethod.alphaThreshold = .3;
primitiveMaterial.ambient =.2;
primitiveMaterial.lightPicker=lightPicker;  

谁能帮我指出正确的方向?

谢谢!

【问题讨论】:

    标签: actionscript-3 away3d


    【解决方案1】:

    ColorMaterial 没有smooth 属性,因为它没有纹理,smooth 表示任何使用的纹理是否应该使用平滑。最有可能的平滑属性是从MaterialBase 继承的并且没有影响。 您的问题出在normal vectors 中,当表面平坦时,它们是法线,当表面平滑时,它们会被混合,因此看起来更平滑。 我猜问题可能出在obj 文件中。如果它没有法线,Away3d 可能会通过它自己以及 MeshLab 生成它们,但 Away3d 显然默认情况下仅在平滑模式下执行此操作。或者 obj 文件包含平滑法线和 MeshLab 在平面模式下覆盖它们。 用文本编辑器打开 obj 文件并寻找法线,尝试另一个平面的 obj 文件。 但我可能错了。

    Here is smoothed obj

    And this one is flat

    【讨论】:

      【解决方案2】:

      您正在寻找的可能是 Explode 类。 调用Explode.apply(<your loaded mesh>) 移除平滑法线。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-01
        • 2015-02-16
        • 1970-01-01
        • 1970-01-01
        • 2014-10-04
        • 1970-01-01
        • 2012-09-08
        • 2015-08-16
        相关资源
        最近更新 更多