JSON Blender 导出器不导出材料的 mirror/reflectivity 值
JSON Blender exporter doesn't export mirror/reflectivity value of materials
我正在使用 Blender 中的 Three.js JSON 导出器插件导出一个基本测试模型,然后我将其加载到 three.js 中。
json 可以很好地加载模型,但是我在一些材料上添加的 'mirror' 值没有显示在模型上。
我已经看到这个问题(Blender mirror modifier doesn't export mirrored half)和其他几个问题,包括 three.js git 上的一些主题,但似乎没有解决这个问题。
谢谢!
我认为您指的是两个不同的 "mirror" 属性。镜像修改器复制和反转所选轴或偏移对象上的几何体。您正在谈论的镜子(反射率)需要光线追踪渲染器,因此它在 webGL 中不可用。
紧随其后的是将 envmap/cubemap 添加到您的 material,这会产生您的模型反映其环境的效果。为此,您需要做两件事。
这是一个例子:
- 确保您的 material 具有反射率值。
- 确保你的 material 有一个 envmap。
在上面的例子中我是这样做的:http://novak.us/labs/UmDemo/
var path = "textures/images/blurredRoom_";
var format = '.jpg';
var urls = [
path + 'px' + format, path + 'nx' + format,
path + 'py' + format, path + 'ny' + format,
path + 'pz' + format, path + 'nz' + format
];
var reflectionCube = THREE.ImageUtils.loadTextureCube( urls );
reflectionCube.format = THREE.RGBFormat;
UMLogo.children[0].material.envMap = reflectionCube;
UMLogo.children[0].material.reflectivity = 0.6;
UMLogo.children[2].material.envMap = reflectionCube;
UMLogo.children[2].material.reflectivity = 0.6;
希望对您有所帮助。
我正在使用 Blender 中的 Three.js JSON 导出器插件导出一个基本测试模型,然后我将其加载到 three.js 中。
json 可以很好地加载模型,但是我在一些材料上添加的 'mirror' 值没有显示在模型上。
我已经看到这个问题(Blender mirror modifier doesn't export mirrored half)和其他几个问题,包括 three.js git 上的一些主题,但似乎没有解决这个问题。
谢谢!
我认为您指的是两个不同的 "mirror" 属性。镜像修改器复制和反转所选轴或偏移对象上的几何体。您正在谈论的镜子(反射率)需要光线追踪渲染器,因此它在 webGL 中不可用。
紧随其后的是将 envmap/cubemap 添加到您的 material,这会产生您的模型反映其环境的效果。为此,您需要做两件事。
这是一个例子:
- 确保您的 material 具有反射率值。
- 确保你的 material 有一个 envmap。
在上面的例子中我是这样做的:http://novak.us/labs/UmDemo/
var path = "textures/images/blurredRoom_";
var format = '.jpg';
var urls = [
path + 'px' + format, path + 'nx' + format,
path + 'py' + format, path + 'ny' + format,
path + 'pz' + format, path + 'nz' + format
];
var reflectionCube = THREE.ImageUtils.loadTextureCube( urls );
reflectionCube.format = THREE.RGBFormat;
UMLogo.children[0].material.envMap = reflectionCube;
UMLogo.children[0].material.reflectivity = 0.6;
UMLogo.children[2].material.envMap = reflectionCube;
UMLogo.children[2].material.reflectivity = 0.6;
希望对您有所帮助。