【发布时间】:2013-04-08 09:20:33
【问题描述】:
我对 html5 和 three.js 还是很陌生。我一直在用它做一些实验,基本上我想做的是有一个网格(我使用的是 planeGeometry,因为我遵循的教程使用了它)。网格显示不同的纹理,这些纹理可以在以后更改。
我的代码如下所示:
angelTexture = THREE.ImageUtils.loadTexture("images/textures/chars/angel/angel.png");
angelTexture.offset.x = -0.75;
angelTexture.offset.y = -0.75;
angelMesh = new THREE.Mesh( new THREE.PlaneGeometry(79, 53, 79, 53), new THREE.MeshBasicMaterial( { map: angelTexture, wireframe: false } ));
angelMesh.position.x = 0;
angelMesh.position.y = 0;
scene.add(angelMesh);
问题在于,每当我偏移时,网格似乎足够大以显示所有其他精灵(我将纹理用作我偏移的 2D 精灵以对其进行动画处理)。结果是灾难性的,我仍在研究如何控制 Mesh 的大小,以便它只显示 Sprite 的一个快照。我所有的尝试似乎只是调整网格和底层纹理的大小,并且仍然显示所有精灵。
有人能指出我正确的方向吗?提前致谢。
...
我的朋友想出了一个解决方案... 我错过了重复属性。
angelTexture = THREE.ImageUtils.loadTexture("images/textures/chars/angel/angel.png");
angelTexture.offset.x = -0.75;
angelTexture.offset.y = -0.75;
angelTexture.repeat.x = 0.25;
angelTexture.repeat.y = 0.25;
scene.add(angelMesh);
希望这可以帮助其他遇到同样问题的人。
【问题讨论】:
-
我的朋友想出了一个解决方案...我错过了重复属性。请参阅上面的编辑以获取说明
标签: javascript html three.js