在Three.js中给导入的3D模型重新设置中心点

<!DOCTYPE html>
<html lang="en">
<head>
    <title>three.js webgl - lights - physical lights</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
    <style>
        body {
            background-color: #000;
            margin: 0px;
            overflow: hidden;
        }

        #info {
            position: absolute;
            top: 0px;
            width: 100%;
            color: #ffffff;
            padding: 5px;
            font-family: Monospace;
            font-size: 13px;
            text-align: center;
        }

        a {
            color: #ff0080;
            text-decoration: none;
        }

        a:hover {
            color: #0080ff;
        }
    </style>
</head>
<body>

<div id="container"></div>
<div id="info">
    <a href="http://threejs.org" target="_blank">three.js</a> - Physically accurate lighting example using a
    incandescent bulb - by <a href="http://clara.io" target="_blank">Ben Houston</a><br/>
    Using real world scale: Brick cube is 1 meter in size. Light is 2 meters from floor. Globe is 25 cm in
    diameter.<br/>
    Using Reinhard inline tonemapping with real-world light falloff (decay = 2).
</div>

<script src="../build/three.js"></script>
<script src="../examples/js/libs/stats.min.js"></script>
<script src="../examples/js/libs/dat.gui.min.js"></script>
<script src="../examples/js/controls/OrbitControls.js"></script>
<script src="js/Detector.js"></script>
<script src="js/controls/TransformControls.js"></script>

<script src="js/loaders/DDSLoader.js"></script>
<script src="js/loaders/MTLLoader.js"></script>
<script src="js/loaders/OBJLoader.js"></script>

<script>

    if (!Detector.webgl) Detector.addGetWebGLMessage();

    var camera, scene, renderer,
            bulbLight, bulbMat, ambientLight,
            object, loader, stats;
    var ballMat, cubeMat, floorMat;

    var raycaster = new THREE.Raycaster();
    var mouse = new THREE.Vector2();
    var intersects;
    var man2;
    var object;
    var boxMesh3, helper, transformControls;


    // ref for lumens: http://www.power-sure.com/lumens.htm
    var bulbLuminousPowers = {
        "110000 lm (1000W)": 110000,
        "3500 lm (300W)": 3500,
        "1700 lm (100W)": 1700,
        "800 lm (60W)": 800,
        "400 lm (40W)": 400,
        "180 lm (25W)": 180,
        "20 lm (4W)": 20,
        "Off": 0
    };

    // ref for solar irradiances: https://en.wikipedia.org/wiki/Lux
    var hemiLuminousIrradiances = {
        "0.0001 lx (Moonless Night)": 0.0001,
        "0.002 lx (Night Airglow)": 0.002,
        "0.5 lx (Full Moon)": 0.5,
        "3.4 lx (City Twilight)": 3.4,
        "50 lx (Living Room)": 50,
        "100 lx (Very Overcast)": 100,
        "350 lx (Office Room)": 350,
        "400 lx (Sunrise/Sunset)": 400,
        "1000 lx (Overcast)": 1000,
        "18000 lx (Daylight)": 18000,
        "50000 lx (Direct Sun)": 50000,
    };

    var params = {
        shadows: true,
        exposure: 0.68,
        bulbPower: Object.keys(bulbLuminousPowers)[2],
        hemiIrradiance: Object.keys(hemiLuminousIrradiances)[4]
    };

    var clock = new THREE.Clock();

    init();
    animate();

    function init() {

        var container = document.getElementById('container');

        stats = new
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值