Three.js GLTF三盒obj颜色主题
我使用以下代码在mapbox by threebox中插入一个GLTF对象。obj的外观看起来很暗。是否有任何选项可用于更改GLTF对象的颜色主题Three.js GLTF三盒obj颜色主题,three.js,mapbox,mapbox-gl-js,Three.js,Mapbox,Mapbox Gl Js,我使用以下代码在mapbox by threebox中插入一个GLTF对象。obj的外观看起来很暗。是否有任何选项可用于更改GLTF对象的颜色主题 var options = { obj: './models/WMK-CSC-ALL-XX-XX-00_0.gltf', mtl: './models/WMK-CSC-ALL-XX-XX-00_0.bin', type: 'gltf',
var options = {
obj: './models/WMK-CSC-ALL-XX-XX-00_0.gltf',
mtl: './models/WMK-CSC-ALL-XX-XX-00_0.bin',
type: 'gltf',
scale: 1,
units: 'meters',
rotation: { x: 90, y: 120, z: 0 },
anchor: 'center'
}
tb.loadObj(options, function (model) {
let bldg = model.setCoords(origin3);
tb.add(bldg);
})
如果您正在使用,首先您的init参数是错误的,而不是:mtl:'./models/WMK-CSC-ALL-XX-XX-00_0.bin'
应该是:
bin:'./models/WMK-CSC-ALL-XX-XX-00_0.bin'
如果使用默认灯光正确初始化Threebox:
window.tb=new-Threebox(
地图,
map.getCanvas().getContext('webgl'),//从映射画布获取上下文
{defaultLights:true}
);
它应该用一个环境灯和两个方向灯照亮。
我正在维护的是最新版本的,因此如果这不能解决您的问题,请随时在那里打开一个问题。如果您正在使用,首先您的init参数是错误的,而不是:
mtl:'./models/WMK-CSC-ALL-XX-XX-00_0.bin'
应该是:
bin:'./models/WMK-CSC-ALL-XX-XX-00_0.bin'
如果使用默认灯光正确初始化Threebox:
window.tb=new-Threebox(
地图,
map.getCanvas().getContext('webgl'),//从映射画布获取上下文
{defaultLights:true}
);
它应该用一个环境灯和两个方向灯照亮。
我正在维护最新版本的,因此,如果这不能解决您的问题,请随时在那里打开问题。感谢您的意见。我添加了两个“DirectionalLight”来解决这个问题
onAdd: function (map, mbxContext) {
tb.altitudeStep = 1;
//// initialize geometry and material of our cube object
var geometry = new THREE.BoxGeometry(30, 60, 120);
// create two three.js lights to illuminate the model
var directionalLight = new THREE.DirectionalLight(0xffffff);
directionalLight.position.set(0, -70, 100).normalize();
tb.scene.add(directionalLight);
var directionalLight2 = new THREE.DirectionalLight(0xffffff);
directionalLight2.position.set(0, 70, 100).normalize();
tb.scene.add(directionalLight2);
....
....
谢谢你的意见。我添加了两个“DirectionalLight”来解决这个问题
onAdd: function (map, mbxContext) {
tb.altitudeStep = 1;
//// initialize geometry and material of our cube object
var geometry = new THREE.BoxGeometry(30, 60, 120);
// create two three.js lights to illuminate the model
var directionalLight = new THREE.DirectionalLight(0xffffff);
directionalLight.position.set(0, -70, 100).normalize();
tb.scene.add(directionalLight);
var directionalLight2 = new THREE.DirectionalLight(0xffffff);
directionalLight2.position.set(0, 70, 100).normalize();
tb.scene.add(directionalLight2);
....
....
如果这解决了您的问题,那么很好,但是您是否更改了deinit参数以正确加载bin文件?默认参数(defaultLights:true)已使用,但不起作用。我的意思是此bin:'./models/WMK-CSC-ALL-XX-XX-00_0.bin'
以正确加载gltf模型的bin文件,而不是您正在使用的mtl:…
,该文件仅适用于obj/mtl模型,对gltf模型无效,我修改为bin:'./…'已准备就绪如果您可以共享该模型,我很想知道它有什么问题,如果它解决了您的问题,默认的灯光很好,但是您是否更改了de init参数以正确加载bin文件?默认参数(defaultLights:true)已使用,但不起作用。我的意思是此bin:'./models/WMK-CSC-ALL-XX-XX-00_0.bin'
以正确加载gltf模型的bin文件,而不是您正在使用的mtl:…
,该文件仅适用于obj/mtl模型,对gltf模型无效,我修改为bin:“./…”如果您可以共享该模型,我想知道它有什么问题以及默认灯光