实景渲染反射图

MMSDT.renderTargetHDR()

       用实景场景渲染HDR反射图,赋予需要真实还原的高光、玻璃面。

构造函数

      MMSDT.renderTargetHDR( parameters: object )

        parameters - json格式,参数设置。

        childName - 数组,子网格名称,每一块材质使用一个渲染图,尽量不超过20个

        near - 数字,渲染图最近距离(外景时需大于每一个子网格的体积,否则会反射室内结构)

        pixel - 整数,二的冥次方,渲染图的像素分辨率

        height - 数字,渲染点默认为每一个子网格的中心,这里为该中心的上下高度偏移

属性

       .envMap(Boolean)

        实景渲染反射图、与HDR默认图之间切换

        Boolean - 布尔值,false为HDR材质图,true为实景渲染图

       .updata()

        更新实景渲染反射(环境、或天空改变后使用)

代码示例

var MMS3D_exceptionMesh = []; //需要材质拆分的网格 var MMS3D_instancingMesh = []; //合并实例化网格 //初始化场景 MMSDT.initScene( false, MMS3D_exceptionMesh, MMS3D_instancingMesh ); //设置第3人称鼠标控制器 controls3.maxPolarAngle = Math.PI*0.495; //向下,最大角度限制 controls3.maxDistance = 700; //最远距离限制 controls3.screenSpacePanning = false; //右键平移是否上下移动 controls3.enableDamping = true; //是否开启惯性阻尼 controls3.dampingFactor = 0.1; //惯性阻尼系数 controls3.autoRotateSpeed = 2; //自动旋转速度 //使用json文件让场景还原 MMSDT.onloadScene( "models/mms3D_pl2.json", function(progress){ if( progress == 'done' ){ //加载完成 }else if( progress == 'ok' ){ //渲染完成 onloadDone(); }else{ //显示进度条数字 document.getElementById("loadNum").innerHTML = Math.round( progress )+'%'; } }); var targetHDR; //场景加载完成 function onloadDone(){ var options = { //参数设置 childName: ["A01_3","A02_2","A03_2","A04_2","A05_3","A05_2","C10_2","C10_3","A07_2","A07_4","E10_2", "B01_2","B02_2","B03_2","B04_2","B05_2","B05_4","B06_2","B07_2","F10_4"], //每一块材质使用一个渲染图,尽量不超过20个 near: 40, //渲染图最近距离(外景时需大于每一个子网格的体积,否则会反射室内结构) pixel: 1024, //渲染图的像素分辨率 height: 10, //渲染点默认为每一个子网格的中心,这里为该中心的上下高度偏移 } //场景初始化加载完成后,执行实景渲染反射(如子网格过多,并渲染图的像素分辨率过高,会卡顿几秒) targetHDR = new MMSDT.renderTargetHDR( options ); } //自定义对外函数接口------------------------------------------------------------------------ //是否选用实景反射,false为HDR材质图,true为实景 MMAPI.change = function(Boolean){ targetHDR.envMap(Boolean); } //变换天空 MMAPI.sky = function(num){ switch(num) { case 1: //白天 MMAPI.skyBox(1); break; case 2: //傍晚 MMAPI.skyBox(7); break; case 3: //夜晚 MMAPI.skyBox(28); break; } } //更新实景渲染反射(环境、或天空改变后使用) MMAPI.updata = function(){ targetHDR.updata(); }

点击查看示例演示 →