В настоящее время я пытаюсь создать «плоский» затененный ColorMaterial внутри Away3d 4 для использования в качестве сетки в загруженном файле .obj.
Это скриншот того, чего я пытаюсь достичь. Плоская заштрихованная модель слева.
Я загрузил тот же файл .obj, с которым работаю в Away, в программу MeshLab. В MeshLab есть две настройки режима рендеринга: плоский или гладкий.
Режим плоского рендеринга находится слева, а плавный — справа. Когда я загружаю свой .obj в Away3D, результат выглядит точно так же, как в режиме плавного рендеринга MeshLab.
Чтобы получить плоский результат, я попытался установить флажок Smooth в моем 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;
Может ли кто-нибудь помочь мне в правильном направлении?
Спасибо!