注:新版全景大师自带小行星组件,一键添加后就可以完美实现小行星进场,无需以下操作!!
-----------------------------------------
思路和方法:在配置文件加载完成事件中让该场景进入小行星视图,然后在onloadcomplete事件中转换到普通视图,并旋转到场景属性中设置的默认视区视角。这样可以起到动感的进场效果。
在全景大师软件中实现这种效果,无需引用任何其它文件,直接插入以下两段代码即可。
实现效果观看:
http://vrm.net.cn/demo/tours/xiaoxongxing/index.html
第一步:
在皮肤编辑器中,找到动作类目,双击“CallSkin_OnXMLComplete”,在弹出的代码编辑器中,将代码一中的内容直接粘贴在原有代码的最后面。
代码一(让场景进入小行星视图)
if(this.scenename===defaultscene, if(isTourStart!==false, copy(hlookat_,view.hlookat); copy(vlookat_,view.vlookat); copy(fov_,view.fov); tween(view.architectural, 0.0, distance(1.0, 0.25), easeoutquad); tween(view.fisheye, 0.0 ,distance(1.0, 0.10), easeoutquad, set(view.stereographic,true); tween(view.fisheye, 1.0, distance(1.0, 0.75)); tween(view.fov, 180, distance(179, 0.75), easeoutquad, set(view.fovmax,150);); tween(view.vlookat, 90, distance(179, 0.75), easeoutquad); ); ); );
第二步:
在皮肤编辑器中,找到动作类目,双击“CallSkin_SceneOnLoadComplete”,在弹出的代码编辑器中,将代码二中的内容直接粘贴在原有代码的最后面。
代码二(让场景1.5秒后进入普通视图)
if(this.scenename===defaultscene, if(isTourStart!==false, delayedcall( 1.5, tween(view.hlookat, get(hlookat_), 3, easeInOutQuad); tween(view.vlookat, get(vlookat_), 3, easeInOutQuad); tween(view.fov,get(fov_), 3, easeInOutQuad); tween(view.fisheye, 0, 3, easeInOutQuad); wait(2.7); set(display.flash10, on); ); set(isTourStart,false); ); );
这样一来,这款皮肤就具有小行星进场效果了,漫游一开始,将以小行星旋转方式进到入口场景中设定好的视角和视区中。