我正在尝试根据书籍Up和running来做我自己的天文馆版本,我在尝试制作一个天空盒时遇到了问题.
我正在使用Chrome和javascript控制台在定义材料的行中显示错误"Uncaught TypeError:undefined is not function".
我错过了一些图书馆吗?或者是three.js有些变化吗?我正在使用r55.代码如下:
谢谢!
var urlPrefix = "images/skybox/";
var urls = [
urlPrefix + "skyboxmid.jpg", urlPrefix + "skyboxback.jpg",
urlPrefix + "skyboxleft.jpg", urlPrefix + "skyboxfront.jpg",
urlPrefix + "skyboxright.jpg", urlPrefix + "skyboxtop.jpg" ];
var textureCube = THREE.ImageUtils.loadTextureCube( urls );
var shader = THREE.ShaderLib['normalmap'];
shader.uniforms["tNormal"].texture = textureCube;
var material = new THREE.MeshShaderMaterial({
fragmentShader : shader.fragmentShader,
vertexShader : shader.vertexShader,
uniforms : shader.uniforms
});
skybox = new THREE.Mesh( new THREE.CubeGeometry( 100000, 100000, 100000, 1, 1, 1, null, true ), material );
scene.addObject( skybox );
Run Code Online (Sandbox Code Playgroud)
Wes*_*ley 10
就是现在
new THREE.ShaderMaterial()
Run Code Online (Sandbox Code Playgroud)
和
shader.uniforms["tNormal"].value = textureCube;
Run Code Online (Sandbox Code Playgroud)
您正在使用的Up and Running书籍已过期.
搜索three.js示例目录.还有其他创建天空盒的方法.
three.js r.55