import * as THREE from 'three';
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
// 创建一个场景
const scene = new THREE.Scene();
// 创建一个相机
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;
// 创建一个渲染器
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
// 创建一个GLTF加载器
const loader = new GLTFLoader();
// 加载GLTF模型
loader.load('path/to/your/model.gltf', function (gltf) {
// 获取模型的场景
const modelScene = gltf.scene;
// 遍历模型中的所有网格
modelScene.traverse((child) => {
if (child instanceof THREE.Mesh) {
// 修改或替换材质
child.material = new THREE.MeshBasicMaterial({ color: 0xff0000 }); // 将材质替换为红色基本材质
}
});
// 将模型添加到场景中
scene.add(modelScene);
// 渲染场景
function animate() {
requestAnimationFrame(animate);
renderer.render(scene, camera);
}
animate();
});
Three.js外部引入的3D模型,添加材质
最新推荐文章于 2024-05-08 15:02:11 发布