日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Threejs 加载3D模型

發(fā)布時(shí)間:2023/12/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Threejs 加载3D模型 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

#Threejs 加載3D模型
load3D() {
const scene = new THREE.Scene(); // 場(chǎng)景
// fov — 攝像機(jī)視錐體垂直視野角度
// aspect — 攝像機(jī)視錐體長(zhǎng)寬比
// near — 攝像機(jī)視錐體近端面
// far — 攝像機(jī)視錐體遠(yuǎn)端面
const camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 5000); // 相機(jī)
camera.position.set(0, 0, 10);
camera.lookAt(0, 0, 0);
const renderer = new THREE.WebGLRenderer(); // 渲染器
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(‘skyblue’);
const dom = this.$refs.test3D as HTMLBaseElement;
dom.appendChild(renderer.domElement);
const controls = new OrbitControls(camera, renderer.domElement);
controls.update();
// 坐標(biāo)系
const axesHelper = new THREE.AxesHelper(1000);
scene.add(axesHelper);
let objLoader = new OBJLoader();
let mtlLoader = new MTLLoader();
mtlLoader.load(‘/3D/ceshi.mtl’, function(materials) {
// materials.preload();
objLoader.setMaterials(materials);
objLoader.load(
// ‘/3D/JYC_MAX_01.obj’,
‘/3D/ceshi.obj’,
function(obj) {
obj.position.set(0, 0, 0);
obj.scale.set(1, 1, 1);
scene.add(obj);
animate();
},
// called while loading is progressing
function(xhr) {
// console.log((xhr.loaded / xhr.total) * 100 + ‘% loaded’);
},
(er) => {
console.log(‘er====’, er);
}
);
});
// 3,創(chuàng)建燈光
var point = new THREE.PointLight(0xffffff, 0.5);
point.position.set(200, 200, 200);
scene.add(point);
var point2 = new THREE.PointLight(0xffffff, 0.5);
point2.position.set(-200, 200, 200);
scene.add(point2);
var point3 = new THREE.PointLight(0xffffff);
point3.position.set(200, -200, 200);
// 環(huán)境光
const light = new THREE.AmbientLight(0x404040); // soft white light
scene.add(light);
controls.update();
renderer.render(scene, camera);
function animate() {
requestAnimationFrame(animate);

// required if controls.enableDamping or controls.autoRotate are set to truecontrols.update();renderer.render(scene, camera); } animate();

}

總結(jié)

以上是生活随笔為你收集整理的Threejs 加载3D模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。