Skip to main content
 首页 » 教程动态

如何实现小行星进场效果

2016年07月31日38580

注:新版全景大师自带小行星组件,一键添加后就可以完美实现小行星进场,无需以下操作!!

-----------------------------------------

思路和方法:在配置文件加载完成事件中让该场景进入小行星视图,然后在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);
  );
);


这样一来,这款皮肤就具有小行星进场效果了,漫游一开始,将以小行星旋转方式进到入口场景中设定好的视角和视区中。


微信
咨询:13395287281
支持:13382652003