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