正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史记录

« 前一个 版本 3 当前 »

  • 控件拖放到eview 2d画面,且通过右键属性,将画面名配置到属性中

脚本接口

  • pk3d.getScene(shapeName)
    • 得到3d场景对象
    • 传入参数:控件名称,该名称在控件属性中可以修改和查看
    • 返回:3d场景对象
  • pk3d.getModelByName(modelName,shapeName)
    • 得到3d场景对象
    • 传入参数:
      • modelName, 3D场景编辑器中的模型数中某个模型名称,该名称需要唯一
      • shapeName,2D画面中配置的3D控件名称
    • 返回:模型对象
  •  
  • pk3d.center(modelName,shapeName)
    • 模型居中
    • 传入参数:
      • modelName, 3D场景编辑器中的模型数中某个模型名称,该名称需要唯一
      • shapeName,2D画面中配置的3D控件名称
    • 返回:以该模型居中后的场景
  • pk3d.getBoundingBox(modelName,shapeName)
    • 功能:获取某个模型的边界包围矩形
    • 传入参数:
      • modelName, 3D场景编辑器中的模型数中某个模型名称,该名称需要唯一
      • shapeName,2D画面中配置的3D控件名称
    • 返回:包围矩形的最大和最小值
  • pk3d.showModel(modelName,isVisible, shapeName)
    • 功能:显示或隐藏某个模型
    • 传入参数:
      • modelName, 3D场景编辑器中的模型数中某个模型名称,该名称需要唯一
      • isVisible,true:显示该模型;false:隐藏该模型
      • shapeName,2D画面中配置的3D控件名称
    • 返回:无
  • pk3d.isModelVisible(modelName,shapeName)
    • 功能:获取某个模型的是否在显示
    • 传入参数:
      • modelName, 3D场景编辑器中的模型数中某个模型名称,该名称需要唯一
      • shapeName,2D画面中配置的3D控件名称
    • 返回:该模型是否可见,true或false
  • pk3d.setFillColor(modelName,color,shapeName)
    • 功能:填充某个模型颜色为color色
    • 传入参数:
      • modelName, 3D场景编辑器中的模型数中某个模型名称,该名称需要唯一
      • color,RGB表示的颜色,如:"255,255,255"
      • shapeName,2D画面中配置的3D控件名称
    • 返回:无


  • pk3d.setTextStyle(modelName, fontStyle, fillStyle, lineStyle, shapeName)
    • 功能:获取某个模型的边界包围矩形
    • 传入参数:
      • modelName, 3D场景编辑器中的模型数中某个模型名称,该名称需要唯一
      • fontStyle,fontStyle={"fontFamily":"Arial",size,italic,underline,textAlign,vAlign,orientation,bold}
      • fillStyle="color",字符串类型的RGB16进制颜色,或渐变对象。

        • 示例:"#00"  表示黑色

        • "#FF0000"表示红色
        • "#00FF00",表示绿色
      • lineStyle={"width":1} // 文本的线的颜色

      • shapeName,2D画面中配置的3D控件名称
    • 返回:
  • pk3d.setText(modelName,text,shapeName)
    • 功能:获取某个模型的边界包围矩形
    • 传入参数:
      • modelName, 3D场景编辑器中的模型数中某个模型名称,该名称需要唯一
      • text,文本内容
      • shapeName,2D画面中配置的3D控件名称
    • 返回:无
  • pk3d.setCurrentCamera(cameraName,shapeName)
    • 功能:获取某个模型的边界包围矩形
    • 传入参数:
      • cameraName, 3D场景编辑器中的配置的摄像头名称
      • shapeName,2D画面中配置的3D控件名称
    • 返回:无


  • pk3d.refresh() 刷新整个3D场景
    • 示例:pk3d.refresh()


  • pk3d.render(shapeName)
    • 功能:绘制整个场景
    • 传入参数:
      • shapeName,2D画面中配置的3D控件名称
    • 返回:
  • pk3d.startPilot(pilotAndDirectionLine, isCycle, shapeName)
    • 功能:让当前相机沿着一个路线、以一定速度漫游,从起始点漫游到结束点
    • 传入参数:
      • pilotAndDirectionLine, 给定的漫游坐标数组,至少需要2个坐标,每个坐标格式为{x,y,z},数组格式:[{x,y,z}]
      • isCycle,是否循环执行漫游
      • shapeName,2D画面中配置的3D控件名称
    • 返回:无
  • pk3d.stopPilot(shapeName)
    • 功能:停止当前漫游,摄像头保留在当前位置
    • 传入参数:
      • shapeName,2D画面中配置的3D控件名称
    • 返回:无


3D动画,包括:移动位置动画、旋转动画、拉伸动画

  • pk3d.moveTo(modelName, targetPositionModelName, percent, durationMS, isRepeat)  移动某个模型到指定的位置
    • 功能:移动某个模型到指定的位置
    • 传入参数:
      • modelName,3D模型控件名称
      • targetPositionModelName,目标位置对象。移动模型到另一个模型中心点的位置。沿着画面开始加载时的当前modelName对象的中心点和目标对象位置targetPosObjName的连线,进行移动

      • percent,移动到两点之间连线的距离的百分比,一般应该是0--1之间的一个数值。缺省为undefined,此时表示移动到目标位置,即100%。

      • durationMS,移动到percent位置所需要的耗费的时间,单位毫秒,按照每40毫秒移动一次进行动画移动。缺省为undefined,表示0毫秒,即立即移动到目标位置
      • isRepeat,是否重复移动,true表示一直往复移动,false表示移动一次。缺省为undefined,表示仅移动1次。
    • 返回:无
    • 示例:
      • pk3d.moveTo("Box","Cylinder"),Box模型立即移动到Cylinder对象的位置
      • pk3d.moveTo("Box","Cylinder",0.6),Box模型立即移动到Cylinder对象的之间的距离的60%的位置
      • pk3d.moveTo("Box","Cylinder",0.6,500),Box模型在500毫秒内逐渐移动到Cylinder对象的之间的距离的60%的位置
      • pk3d.moveTo("Box","Cylinder",0.6,500,true),Box模型在500毫秒内逐渐移动到Cylinder对象的之间的距离的60%的位置,并在移动完成后重复移动。
        • 重复运动时,如果想关闭重复移动,可以再调用1次并将isRepeat值为false
  • pk3d.rotateToX(modelName,angle, durationMS, isRepeat)  移动某个模型到指定的位置
    • 功能:模型绕自身中心点围绕X轴旋转到达angle角度
    • 传入参数:
      • modelName,3D模型的名称
      • angle,旋转到达的角度。相对于画面运行时的角度进行旋转,为0-360度之间的一个值

      • durationMS,旋转到angle角度所需要的耗费的时间,单位毫秒,按照每40毫秒间隔逐渐进行一次旋转动作。缺省为undefined,表示0毫秒,即立即旋转到目标角度
      • isRepeat,是否重复旋转,true表示一直往复旋转,false表示旋转一次。缺省为undefined,表示仅旋转1次。
    • 返回:无
    • 示例:
      • pk3d.moveToX("Box",45),Box模型立即移动到Cylinder对象的位置
      • pk3d.moveToX("Box",45,600),Box模型在600毫秒内,绕模型中心点沿X轴方向逐渐旋转到45度角方向
      • pk3d.moveToX("Box","Cylinder",0.6,500),Box模型在600毫秒内,绕模型中心点沿X轴方向逐渐旋转到45度角方向,并在旋转完成后重复旋转。、
        • 重复运动时,如果想关闭重复移动,可以再调用1次并将isRepeat值为false
  • pk3d.rotateToY(modelName,angle, durationMS, isRepeat)  移动某个模型到指定的位置
    • 功能:模型绕自身中心点围绕Y轴旋转到达angle角度
    • 传入参数:
      • modelName,3D模型的名称
      • angle,旋转到达的角度。相对于画面运行时的角度进行旋转,为0-360度之间的一个值

      • durationMS,旋转到angle角度所需要的耗费的时间,单位毫秒,按照每40毫秒间隔逐渐进行一次旋转动作。缺省为undefined,表示0毫秒,即立即旋转到目标角度
      • isRepeat,是否重复旋转,true表示一直往复旋转,false表示旋转一次。缺省为undefined,表示仅旋转1次。
    • 返回:无
    • 示例:
      • pk3d.moveToX("Box",45),Box模型立即移动到Cylinder对象的位置
      • pk3d.moveToX("Box",45,600),Box模型在600毫秒内,绕模型中心点沿X轴方向逐渐旋转到45度角方向
      • pk3d.moveToX("Box","Cylinder",0.6,500),Box模型在600毫秒内,绕模型中心点沿Y轴方向逐渐旋转到45度角方向,并在旋转完成后重复旋转。、
        • 重复运动时,如果想关闭重复移动,可以再调用1次并将isRepeat值为false
  • pk3d.rotateToZ(modelName,angle, durationMS, isRepeat)  移动某个模型到指定的位置
    • 功能:模型绕自身中心点围绕Z轴旋转到达angle角度
    • 传入参数:
      • modelName,3D模型的名称
      • angle,旋转到达的角度。相对于画面运行时的角度进行旋转,为0-360度之间的一个值

      • durationMS,旋转到angle角度所需要的耗费的时间,单位毫秒,按照每40毫秒移动一次进行动画旋转动作。缺省为undefined,表示0毫秒,即立即旋转到目标角度
      • isRepeat,是否重复旋转,true表示一直往复旋转,false表示旋转一次。缺省为undefined,表示仅旋转1次。
    • 返回:无
    • 示例:
      • pk3d.moveToX("Box",45),Box模型立即移动到Cylinder对象的位置
      • pk3d.moveToX("Box",45,600),Box模型在600毫秒内,绕模型中心点沿X轴方向逐渐旋转到45度角方向
      • pk3d.moveToX("Box","Cylinder",0.6,500),Box模型在600毫秒内,绕模型中心点沿Z轴方向逐渐旋转到45度角方向,并在旋转完成后重复旋转。、
        • 重复运动时,如果想关闭重复移动,可以再调用1次并将isRepeat值为false 
  • pk3d.rotateTo(modelName,point1ModelName, point2ModelName,angle, durationMS, isRepeat)  移动某个模型到指定的位置
    • 功能:模型绕自身中心点围绕Z轴旋转到达angle角度
    • 传入参数:
      • modelName,3D模型的名称
      • point1ModelName,point2ModelName,沿着指定轴的方向进行旋转,该轴取这两个名称的3D模型的中心点连线
      • angle,旋转到达的角度。相对于画面运行时的角度进行旋转,为0-360度之间的一个值

      • durationMS,旋转到angle角度所需要的耗费的时间,单位毫秒,按照每40毫秒移动一次进行动画旋转动作。缺省为undefined,表示0毫秒,即立即旋转到目标角度
      • isRepeat,是否重复旋转,true表示一直往复旋转,false表示旋转一次。缺省为undefined,表示仅旋转1次。
    • 返回:无
    • 示例:
      • pk3d.moveToX("Box",45),Box模型立即移动到Cylinder对象的位置
      • pk3d.moveToX("Box",45,600),Box模型在600毫秒内,绕模型中心点沿X轴方向逐渐旋转到45度角方向
      • pk3d.moveToX("Box","Cylinder",0.6,500),Box模型在600毫秒内,绕模型中心点沿Z轴方向逐渐旋转到45度角方向,并在旋转完成后重复旋转。、
        • 重复运动时,如果想关闭重复移动,可以再调用1次并将isRepeat值为false


  • pk3d.scaleToXUp(modelName,scaleValue, durationMS, isRepeat)  某个模型在X正方向缩放scaleValue倍
    • 功能:模型绕自身中心点反方向围绕X轴拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToXUp("Box",0.7),Box模型立即拉伸到0.7倍的位置
      • pk3d.scaleToXUp("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿X轴方向逐渐旋转到45度角方向
      • pk3d.scaleToXUp("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿X轴正方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 
  • pk3d.scaleToXDown(modelName,scaleValue, durationMS, isRepeat)  某个模型在X反方向缩放scaleValue倍
    • 功能:模型绕自身中心点围绕X轴反方向拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToXDown("Box",0.7),Box模型立即沿X轴正向拉伸到0.7倍的位置
      • pk3d.scaleToXDown("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿X轴方向逐渐旋转到45度角方向
      • pk3d.scaleToXDown("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿X轴反方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 
  • pk3d.scaleToXCenter(modelName,scaleValue, durationMS, isRepeat)  某个模型在X反方向缩放scaleValue倍
    • 功能:模型绕自身中心点围绕X轴正反两个方向拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToXCenter("Box",0.7),Box模型立即沿X轴正向拉伸到0.7倍的位置
      • pk3d.scaleToXCenter("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿X轴方向逐渐旋转到45度角方向
      • pk3d.scaleToXCenter("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿X轴反方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 


  • pk3d.scaleToYUp(modelName,scaleValue, durationMS, isRepeat)  某个模型在Y正方向缩放scaleValue倍
    • 功能:模型绕自身中心点反方向围绕Y轴拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToYUp("Box",0.7),Box模型立即拉伸到0.7倍的位置
      • pk3d.scaleToYUp("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿Y轴方向逐渐旋转到45度角方向
      • pk3d.scaleToYUp("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿Y轴正方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 
  • pk3d.scaleToYDown(modelName,scaleValue, durationMS, isRepeat)  某个模型在Y反方向缩放scaleValue倍
    • 功能:模型绕自身中心点围绕Y轴反方向拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToYDown("Box",0.7),Box模型立即沿Y轴正向拉伸到0.7倍的位置
      • pk3d.scaleToYDown("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿Y轴方向逐渐旋转到45度角方向
      • pk3d.scaleToYDown("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿Y轴反方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 
  • pk3d.scaleToYCenter(modelName,scaleValue, durationMS, isRepeat)  某个模型在Y反方向缩放scaleValue倍
    • 功能:模型绕自身中心点围绕Y轴正反两个方向拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToYCenter("Box",0.7),Box模型立即沿Y轴正向拉伸到0.7倍的位置
      • pk3d.scaleToYCenter("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿Y轴方向逐渐旋转到45度角方向
      • pk3d.scaleToYCenter("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿Y轴反方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 


  • pk3d.scaleToZUp(modelName,scaleValue, durationMS, isRepeat)  某个模型在Z正方向缩放scaleValue倍
    • 功能:模型绕自身中心点反方向围绕Z轴拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToZUp("Box",0.7),Box模型立即拉伸到0.7倍的位置
      • pk3d.scaleToZUp("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿Z轴方向逐渐旋转到45度角方向
      • pk3d.scaleToZUp("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿Z轴正方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 
  • pk3d.scaleToZDown(modelName,scaleValue, durationMS, isRepeat)  某个模型在Z反方向缩放scaleValue倍
    • 功能:模型绕自身中心点围绕Z轴反方向拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToZDown("Box",0.7),Box模型立即沿Z轴正向拉伸到0.7倍的位置
      • pk3d.scaleToZDown("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿Z轴方向逐渐旋转到45度角方向
      • pk3d.scaleToZDown("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿Z轴反方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 
  • pk3d.scaleToZCenter(modelName,scaleValue, durationMS, isRepeat)  某个模型在Z反方向缩放scaleValue倍
    • 功能:模型绕自身中心点围绕Y轴正反两个方向拉伸到scaleValue倍
    • 传入参数:
      • modelName,3D模型的名称
      • scaleValue,拉伸倍数,大于0的一个数值

      • durationMS,拉伸到scaleValue倍所需要的耗费的时间,单位毫秒。按照每40毫秒移动一次进行动画拉伸动作。缺省为undefined,表示0毫秒,即立即拉伸到目标倍数的长度
      • isRepeat,是否重复拉伸,true表示一直往复拉伸,false表示拉伸一次。缺省为undefined,表示仅拉伸1次。
    • 返回:无
    • 示例:
      • pk3d.scaleToZCenter("Box",0.7),Box模型立即沿Z轴正向拉伸到0.7倍的位置
      • pk3d.scaleToZCenter("Box",0.7,600),Box模型在600毫秒内,绕模型中心点沿Z轴方向逐渐旋转到45度角方向
      • pk3d.scaleToZCenter("Box",0.7,600,true),Box模型在600毫秒内,绕模型中心点沿Z轴反方向拉伸到0.6倍,并在完成后重复拉伸
        • 重复运动时,如果想关闭重复拉伸,可以再调用1次并将isRepeat值为false 



  • 无标签