我正在尝试使用OBJLoader和MTLLoader库在我的三个JS代码中加载从blender2.79导出的3d对象模型。对象已加载,但其材质未应用于该对象。
材料在循环中显示,正确渲染搅拌器。
如何将材质应用于对象文件?
我使用的代码是
var mtlLoader = new THREE.MTLLoader();
mtlLoader.load("textures/reception_table.mtl", function(materials) {
materials.preload();
var objLoader = new THREE.OBJLoader
在three.js中,我试图用我在这里找到的csg (结构实体几何)扩展从一个盒子几何(一堵墙)中“剪出”一个窗口:。
我是成功地切割了窗户,但是结果的表面反射光很奇怪,看下面(先正常,然后用窗户墙)。
var leftWallGeometry = new THREE.BoxGeometry( $scope.wall.width, $scope.room.height, $scope.room.depth);
var leftWallMesh = new THREE.Mesh( leftWallGeometry );
var leftWallBSP = new ThreeBSP(
我在中模拟了两个对象,使用不同的材质和不同的纹理UV映射到它们。我正在用渲染它
如果I ,则在生成的中有多个材质,但只有一个网格。
这是我用来用Three.js加载模型的(简化)代码:
var loader = new THREE.JSONLoader();
loader.load(myModelPath, function {
var material = geometry.materials[0];
material.morphTargets = true;
material.overdraw = true;
var mesh = new THREE.M
所以玩家点击一个按钮来创建一个盒子。我需要这个盒子是随机变化的几种颜色。我还需要这个盒子有一个标签对应的颜色。绿色方框- "greenBlock“标签等。
我已经实例化了这个盒子,然后尝试用material.color更改它的材质。它什么也做不了。我看过sharedMaterial的建议,但我试过了,发现它只是改变了场景中每个游戏对象的颜色。我想我获取的盒子预制渲染器是正确的?任何帮助都将不胜感激!
这是我到目前为止所知道的:
public class ButtonScript : MonoBehaviour
{
public GameObject Box;
publi