fix: model shading

This commit is contained in:
2025-03-31 17:36:17 +02:00
parent 05fe8d140d
commit 6fbc8be232
3 changed files with 2976 additions and 4100 deletions

View File

@@ -11,32 +11,40 @@ renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement ); document.body.appendChild( renderer.domElement );
let keyLight = new THREE.DirectionalLight(0xffffff, 0.8); let keyLight = new THREE.DirectionalLight(0xffffff, 0.3);
keyLight.position.set(-10, 10, 10); keyLight.position.set(-10, 10, 10);
scene.add(keyLight);
let fillLight = new THREE.DirectionalLight(0xffffff, 0.3); let fillLight = new THREE.DirectionalLight(0xffffff, 0.3);
fillLight.position.set(10, 10, 10); fillLight.position.set(10, 10, 10);
let ambientLight = new THREE.AmbientLight(0xffffff, 0.3);
scene.add(keyLight);
scene.add(fillLight); scene.add(fillLight);
let fillLight2 = new THREE.DirectionalLight(0xffffff, 0.3);
fillLight2.position.set(-10, 10, 10);
scene.add(fillLight2);
let ambientLight = new THREE.AmbientLight(0xffffff, 0.4);
scene.add(ambientLight); scene.add(ambientLight);
var mtlLoader = new THREE.MTLLoader();
mtlLoader.setPath('models/'); // A cheesy yellow
mtlLoader.load('cheese.mtl', function (materials) { const defaultMaterial = new THREE.MeshStandardMaterial({ color: 0xffc539, roughness: 1.0, metalness: 0.0 });
materials.preload();
var objLoader = new THREE.OBJLoader(); var objLoader = new THREE.OBJLoader();
objLoader.setMaterials(materials);
objLoader.setPath('models/'); objLoader.setPath('models/');
objLoader.load('cheese.obj', function (object) { objLoader.load('cheese.obj', function (object) {
object.name = "cheese"; object.name = "cheese";
scene.add(object); scene.add(object);
object.position.y -= 0.75; object.position.y -= 0.75;
object.traverse(function (child) {
if (child instanceof THREE.Mesh) {
child.material = defaultMaterial
}
})
}); });
});
var animate = function (timestamp) { var animate = function (timestamp) {
let speed = 1.2; let speed = 1.2;

View File

@@ -1,8 +1,8 @@
# Blender MTL File: 'cheese.blend' # Blender 4.3.2 MTL File: 'cheese.blend'
# Material Count: 1 # www.blender.org
newmtl Material newmtl Material
Ns 359.999993 Ns 360.000000
Ka 1.000000 1.000000 1.000000 Ka 1.000000 1.000000 1.000000
Kd 1.000000 0.805747 0.067960 Kd 1.000000 0.805747 0.067960
Ks 0.500000 0.500000 0.500000 Ks 0.500000 0.500000 0.500000

File diff suppressed because it is too large Load Diff