【问题标题】:Default Navigation speed in Forge ViewerForge Viewer 中的默认导航速度
【发布时间】:2017-05-31 00:24:47
【问题描述】:

如何在 Forge Viewer 中更改默认导航速度?对于我的示例模型,默认设置太快了。我想编写代码,以便在会话期间可以更改速度。

【问题讨论】:

  • 您好,导航的(平移、步行、缩放)速度由 viewer3d.js 中的私有变量 userlookspeed、userZoomSpeed、userPanSpeed 设置。虽然似乎没有设置方法,或者没有机会覆盖相关功能。如果在 Forge 上连接模型(连接到在线 viewer3d.js),我很害怕,可能无法更改速度。如果您的 Web 应用程序已将离线模型数据下载到您的服务器(这意味着您的服务器上将提供本地 viewer3d.js),那么您可以尝试修改“本地”viewer3d.js 的这些变量
  • 您好,我们的工程师团队再次确认,第一人称工具的当前实现不允许覆盖这些值。虽然您可以尝试在导航时按住 SHIFT 键。这会让它变慢一点。

标签: autodesk-forge autodesk-viewer


【解决方案1】:

从 viewer3D.js 实现中复制现有导航工具,根据需要修改速度参数或公开方法以从您的应用中动态执行此操作,然后将其设置为活动状态。

您可以在 viewer3D.js 中查看 OrbitDollyPanTool L#14545 的实现

Autodesk.Viewing.OrbitDollyPanTool = function( viewerImpl, viewerApi ){
    var avp = Autodesk.Viewing.Private;
    var _this = this;
    var kScreenEpsilon = 0.001;
    var kEpsilon = 0.00001;
    var kAutoDeltaZ  = 1.5;         // Dolly increment
    var kAutoDeltaXY = 0.01;
    var kAutoScreenXY = 20;
    var kDollyDragScale = 100.0;
    var kDollyPinchScale = 0.5;
    var kOrbitScale = 2.0;

    // ...

该工具的实例化如下 (L#40923):

Viewer3D.prototype.createControls = function( ) {
    var self = this;
    var impl = self.impl;

    self.navigation = new av.Navigation(impl.camera);
    self.__initAutoCam(impl);

    self.utilities = new av.ViewingUtilities(impl, self.autocam, self.navigation);
    self.clickHandler = new av.DefaultHandler(impl, self.navigation, self.utilities);
    self.toolController = new av.ToolController(impl, self, self.autocam, self.utilities, self.clickHandler);
    self.toolController.registerTool( new av.GestureHandler(self) );

    self.toolController.registerTool( av.theHotkeyManager );
    self.toolController.activateTool( av.theHotkeyManager.getName() );

    self.registerUniversalHotkeys();

    self.toolController.registerTool( new av.OrbitDollyPanTool(impl, self) );
    self.toolController.activateTool( "gestures" );

    return self.toolController;
}; 

【讨论】:

    【解决方案2】:

    我最近发现您可以使用viewer.navigation.fitBounds(true, THREE.Box3),这将影响导航速度以匹配由这些边界定义的扩展。

    【讨论】:

      猜你喜欢
      • 2019-06-25
      • 2020-05-14
      • 2013-08-07
      • 2020-10-21
      • 1970-01-01
      • 2021-09-04
      • 2018-10-19
      • 2018-02-05
      • 2018-08-12
      相关资源
      最近更新 更多