尝试使用完全相同的模型重新创建图像,但是我无法确定光线。
我重新创建的版本在我不知道如何消除的边缘上有一个奇怪的光芒。
我要重新创建的网站,也是我从中下载资源的网站
https://sketchfab.com/3d-models/iphone-x-c143efdc2cc54d7eaaf48b197b92885d
renderer = new THREE.WebGLRenderer({
canvas: myCanvas,
antialias: true
});
renderer.setClearColor(0xffffff, 0);
renderer.setPixelRatio(window.devicePixelRatio);
renderer.setSize(window.innerWidth, window.innerHeight);
camera = new THREE.PerspectiveCamera(35, window.innerWidth / window.innerHeight, 0.1, 1000 );
scene = new THREE.Scene();
scene.background = new THREE.Color(0xffffff);
var light2 = new THREE.PointLight(0xffffff, 0.5);
light2.castShadow = false;
scene.add(light2);
var loader = new THREE.GLTFLoader();
loader.load('scene.gltf', handle_load, undefined, function(error) {
console.log(error);
});
var mesh;
function handle_load(gltf) {
console.log(gltf);
mesh = gltf.scene;
console.log(mesh.children[0]);
mesh.children[0].material = new THREE.MeshLambertMaterial();
scene.add( mesh );
mesh.position.z = -20;
mesh.rotation.x = 0;
mesh.rotation.y = 0;
}
答案 0 :(得分:1)
如果我将其导入以下基于glTF-Viewer的three.js
的模型中,该模型看起来不错。
我建议您使用类似的照明设置:AmbientLight
和DirectionalLight
与环境图的组合。还将WebGLRenderer
实例的属性physicallyCorrectLights设置为true
。查看器是开源的,因此您可以检查以下文件中的详细信息:viewer.js
答案 1 :(得分:0)
Mungen87的回答很可靠,但是如果您只想手动删除场景中所有事物的光泽,则可以轻松(而且非常快!)运行:
scene.traverse(i => {if (i.isMesh) i.material.shininess = 0})