MMSDT.programs

开始项目二次开发

在 mmsDT.project.js 中对MMSDT.programs函数内容进行项目的二次开发。

参数

MMSDT.programs( elements )

elements:场景关键要素,无需改动

elements = {
camera: camera,
scene: scene,
renderer: renderer,
controls: controls,
gltfLoader: gltfLoader,
container: container,
models: models,
actions: actions,
mixer: mixer,
textureCube: textureCube,
scope: scope,
}

代码示例

MMSDT.programs = function( elements ){ //场景关键要素 var camera = elements.camera; var scene = elements.scene; var renderer = elements.renderer; var controls = elements.controls; var gltfLoader = elements.gltfLoader; var container = elements.container; var models = elements.models; var actions = elements.actions; var mixer = elements.mixer; var textureCube = elements.textureCube; var initScene = elements.scope; //设置鼠标控制器 controls.maxPolarAngle = Math.PI*0.498; controls.minPolarAngle = Math.PI*0.35; controls.minDistance = 10; controls.maxDistance = 400; controls.enableDamping = true; controls.dampingFactor = 0.1; controls.screenSpacePanning = false; controls.autoRotate = true; controls.autoRotateSpeed = 0.5; //模型再次设置 models[0].traverse( function ( child ) { if ( child.isMesh ) { //降低周边环境的亮度 if( child.name == "ml" | child.name == "cao_1" | child.name == "cao_2" | child.name == "cao_3" | child.name == "cao1_3" ){ child.material.color.set(0x000735); child.material.envMapIntensity = 0.3; }else if( child.name == "pl" | child.name == "hai" ){ child.material.color.set(0x000735); child.material.transparent = true; child.material.opacity = 0.7; child.material.envMapIntensity = 0.3; } //降低周边树木的亮度 if ( child.material.map != null ) { if( child.material.map.name.indexOf( "S_6.png" ) == 0 | child.material.map.name.indexOf( "S_7.png" ) == 0 ){ child.material.color.set(0x000735); } } } }); //循环动画 animate(); function animate(){ requestAnimationFrame( animate ); } }

在线演示