zyy-engine

图形引擎API


路径点漫游

<h1>路径点漫游</h1> <h2>1. MovePathConfig</h2> <ul> <li><strong>描述</strong>:移动路径点配置类。</li> <li><strong>构造</strong>: <code>new BCore.Extension.MovePathConfig(viewer3D)</code></li> <li><strong>成员变量</strong>: <ul> <li><code>viewer3D</code>:<code>BCore.Viewer.Viewer3D</code>。</li> </ul></li> </ul> <h2>2 MovePath</h2> <ul> <li><strong>描述</strong>:移动路径点类。</li> <li><strong>构造</strong>: <code>new BCore.Extension.MovePath(config)</code></li> <li><strong>参数</strong>: <ul> <li><code>config</code>:<code>BCore.Extension.MovePathConfig</code> 移动路径点配置类。</li> </ul></li> </ul> <h2>3. MovePathKeyFrame</h2> <ul> <li><strong>描述</strong>:移动路径点关键帧。</li> <li><strong>构造</strong>: <code>new BCore.Extension.MovePathKeyFrame()</code></li> <li><strong>成员变量</strong>: <ul> <li><code>name</code>:<code>number</code> 帧索引</li> <li><code>pos</code>:<code>THREE.Vector3</code> 位置</li> <li><code>dir</code>:<code>THREE.Vector3</code> 朝向</li> </ul></li> </ul> <hr /> <h2>BCore.Extension.MovePath 方法总览</h2> <ul> <li><code>*start()**</code>: 开始播放。</li> <li><code>**play()**</code>:暂停后继续播放。</li> <li><code>**pause()**</code>:暂停播放。</li> <li><code>**stop()**</code>:停止播放,结束播放。</li> <li><code>**setSpeed(speed)**</code>:设置播放速度。</li> <li><code>**getSpeed()**</code>:获取当前播放速度。</li> <li><code>**getName()**</code>:获取自动生成的路径名称。</li> <li><code>**addKeyFrame(keyFrame)**</code>:添加关键帧对象。</li> <li><code>**removeKeyFrame(index)**</code>:删除指定索引的关键帧。</li> <li><code>**editKeyFrame(name, position, direction)**</code>:编辑关键帧。</li> <li><code>**clearKeyFrames()**</code>:清除所有关键帧。</li> <li><code>**getAllKeyFrames()**</code>:获取所有关键帧。</li> <li><code>**onComplete(callback)**</code>:设置漫游完成事件回调。</li> <li><code>**onKeyFrameDone(callback)**</code>:设置关键帧完成事件回调。</li> <li><code>**onUpdate(callback)**</code>:设置状态更新事件回调。</li> <li><code>**onStart(callback)**</code>:设置漫游开始事件回调。</li> <li><code>**onPause(callback)**</code>:设置漫游暂停事件回调。</li> <li><code>**onPlay(callback)**</code>:设置继续播放事件回调。</li> </ul> <hr /> <h2>方法示例</h2> <h3>1.播放路径</h3> <p><strong>接口</strong>:<code>start( )</code></p> <p><strong>示例代码</strong>:</p> <pre><code class="language-javascript">let config = new BCore.Extension.MovePathConfig(mViewer3D); let movePath = new BCore.Extension.MovePath(config); // 创建关键帧 let k1 = new BCore.Extension.MovePathKeyFrame('1',{x: 0, y: 0, z: 0},{x: 10, y: 0, z: 0}); let k2 = new BCore.Extension.MovePathKeyFrame('2',{x: 10, y: 0, z: 0},{x: 20, y: 0, z: 0}); let k3 = new BCore.Extension.MovePathKeyFrame('3',{x: 20, y: 0, z: 0},{x: 30, y: 0, z: 0}); let k4 = new BCore.Extension.MovePathKeyFrame('4',{x: 30, y: 0, z: 0},{x: 40, y: 0, z: 0}); // 添加关键帧 movePath.addKeyFrame(k1); movePath.addKeyFrame(k2); movePath.addKeyFrame(k3); movePath.addKeyFrame(k4); // 设置事件回调 movePath.onStart((e) =&amp;gt; { console.log('onStart', e) }); movePath.onKeyFrameDone((e) =&amp;gt; { console.log('onKeyFrameDone', e) }); movePath.onComplete((e) =&amp;gt; { console.log('onComplete', e) }); movePath.onPause((e) =&amp;gt; { console.log('onPause', e) }); movePath.onPlay((e) =&amp;gt; { console.log('onPlay', e) }); // 开始播放路径 movePath.start();</code></pre> <p>&lt;br&gt;</p> <h3>2.漫游完成回调</h3> <p><strong>接口</strong>: <code>onComplete(callback)</code> <strong>参数</strong>:</p> <ul> <li><code>callback</code>:Function,回调函数,参数包含 <code>isAutoStop</code>(自动结束或通过 <code>MovePath.stop()</code> 结束)。</li> </ul> <p><strong>示例代码</strong>:</p> <pre><code class="language-javascript">let config = new BCore.Extension.MovePathConfig(mViewer3D); let movePath = new BCore.Extension.MovePath(config);   let k1 = new BCore.Extension.MovePathKeyFrame('1',{x: 0, y: 0, z: 0},{x: 10, y: 0, z: 0}); let k2 = new BCore.Extension.MovePathKeyFrame('2',{x: 10, y: 0, z: 0},{x: 20, y: 0, z: 0}); let k3 = new BCore.Extension.MovePathKeyFrame('3',{x: 20, y: 0, z: 0},{x: 30, y: 0, z: 0}); let k4 = new BCore.Extension.MovePathKeyFrame('4',{x: 30, y: 0, z: 0},{x: 40, y: 0, z: 0});   movePath.addKeyFrame(k1); movePath.addKeyFrame(k2); movePath.addKeyFrame(k3); movePath.addKeyFrame(k4);   //e:回调参数 //walkPathName:路径名 movePath.onStart((e)=&amp;gt;{console.log('onStart',e)});   //e:回调参数 //walkPathName:路径名 //position_x: 相机位置坐标X, ...position_y,position_z //direction_x:  相机朝向坐标X, ...direction_y,direction_z //fromKeyFrameName: 开始帧名称 //toKeyFrameName: 目标帧名称 movePath.onKeyFrameDone((e)=&amp;gt;{console.log('onKeyFrameDone',e)});   //e:回调参数 //walkPathName:路径名 //isAutoStop:自动播放完成 / 通过 MovePath.stop()完成 movePath.onComplete((e)=&amp;gt;{console.log('onComplete',e)});   //e:回调参数 //walkPathName:路径名 //position_x: 相机位置坐标X, ...position_y,position_z //direction_x:  相机朝向坐标X, ...direction_y,direction_z //fromKeyFrameName: 开始帧名称 //toKeyFrameName: 目标帧名称 movePath.onPause((e)=&amp;gt;{console.log('onPause',e)});   //e:回调参数 //walkPathName:路径名 movePath.onPlay((e)=&amp;gt;{console.log('onPlay',e)});   movePath.start();</code></pre> <p>此结构提供了对 <code>路径点漫游</code> 功能的基本概览,供开发者使用和扩展。</p>

页面列表

ITEM_HTML