加载3d模型

var width = $('#models-container').width();
var height = $('#models-container').height();

var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, width / (height - 4), 0.1, 1000);
camera.position.set(30, 40, 30);

var ambient = new THREE.AmbientLight(0xffffff, 0.5); //AmbientLight,影响整个场景的光源
ambient.position.set(0, 0, 0);
scene.add(ambient);

var renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true, logarithmicDepthBuffer: true });
renderer.setSize(width, (height - 4));
// 设置背景颜色
//renderer.setClearColor(0xffffff, 1); //0是完全透明,1是不透明

document.getElementById('models-container').appendChild(renderer.domElement);

var composer = new THREE.EffectComposer(renderer);
window.composer = composer;

var controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.autoRotate = true;
controls.autoRotateSpeed = 0.1;

controls.enableDamping = true; //将其设置为true以启用阻尼(惯性),这将给控制器带来重量感。默认值为false
controls.dampingFactor = 0.5; //阻尼惯性有多大。 Default is 0.05。要使得这一值生效,你必须在你的动画循环里调用.update()。
// 视角最小距离
controls.minDistance = 50;
// 视角最远距离
controls.maxDistance = 200;
// 最大角度
//controls.maxPolarAngle = Math.PI / 2.2;
//controls.target = new THREE.Vector3(50, 50, 0);

function animate() {

    requestAnimationFrame(animate);
    renderer.render(scene, camera);
    // controls.update();

    if (composer) {
        composer.render();
    }
    //if (textMesh) {
    //    textMesh.lookAt(camera.position)
    //}
    scene.traverse(function (obj) {
    });
}

function loadSceneModel() {
    var fbxLoader = new THREE.FBXLoader();
    fbxLoader.load("../Content/models/scene.fbx", function (object) {
        // 设置模型比例
        //object.scale.set(0.3, 0.3, 0.3);
        // 设置模型位置
        //object.position.set(0, -5, 0);

        //object.rotateY(agvTopRotateAngle + 0.5);
        //var brick = object.getObjectByName('立方体_60');
        //bonding_model = brick.parent;
        //brick.userData.direction = 'left';
        //object.rotateY(-0.1);

        //brick_backup = brick.clone();
        // 添加模型到场景
        scene.add(object);
    });
}

loadSceneModel();
camera.lookAt(scene.position);
animate();
posted @ 2024-11-20 10:13  暖暖De幸福  阅读(2)  评论(0编辑  收藏  举报