@realsee/five
Version:
Realsee Renderer SDK
205 lines (200 loc) • 32.2 kB
HTML
<html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>release_notes/6.8 | 如视 Five SDK</title><meta name="description" content="Documentation for 如视 Five SDK"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">如视 Five SDK</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="" aria-current="page">release_notes/6.8</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="release-note-68x" class="tsd-anchor-link">Release Note 6.8.x<a href="#release-note-68x" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h1>
<blockquote>
<p>6.8.x 版本发布日志</p>
</blockquote>
<pre><code class="shell"><span class="hl-5">npm</span><span class="hl-1"> </span><span class="hl-9">install</span><span class="hl-1"> </span><span class="hl-9">@realsee/five@6.8</span>
</code><button type="button">Copy</button></pre>
<h2 id="gaussian-splatting-3dgs-支持" class="tsd-anchor-link">Gaussian Splatting (3DGS) 支持<a href="#gaussian-splatting-3dgs-支持" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<blockquote>
<p>Five 现已支持 Gaussian Splatting (3DGS) 渲染管线。这是一种基于点的渲染技术,能够提供高质量的实时渲染效果。
仅在 WebGL2 环境下可用。</p>
</blockquote>
<h3 id="文件格式支持" class="tsd-anchor-link">文件格式支持<a href="#文件格式支持" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<ol>
<li><code>.splat</code> 文档及工具 <a href="https://github.com/antimatter15/splat">GitHub - antimatter15/splat: WebGL 3D Gaussian Splat Viewer</a></li>
<li><code>.spz</code> 文档及工具 GitHub - <a href="https://github.com/nianticlabs/spz">nianticlabs/spz: File format for 3D Gaussian splats. About 10x smaller than the PLY equival</a></li>
<li><code>.glb</code> <code>.gltf</code> 对应的 KHR_gaussian_splatting, KHR_gaussian_splatting_compression_spz, KHR_gaussian_splatting_compression_spz_2 扩展。</li>
</ol>
<h3 id="支持-3d-tile" class="tsd-anchor-link">支持 3d-tile<a href="#支持-3d-tile" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<blockquote>
<p>通过 3d-tile 标准,使用 glb 作为模型格式。</p>
</blockquote>
<pre><code class="json"><span class="hl-1">{</span><br/><span class="hl-1"> </span><span class="hl-14">"asset"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">"version"</span><span class="hl-1">: </span><span class="hl-9">"1.0"</span><span class="hl-1">,</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-14">"geometricError"</span><span class="hl-1">: </span><span class="hl-11">265.4529731527354</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">"root"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">"boundingVolume"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">"box"</span><span class="hl-1">: [</span><br/><span class="hl-1"> </span><span class="hl-11">0.9499778747558594</span><span class="hl-1">, </span><span class="hl-11">3.5037269592285156</span><span class="hl-1">, </span><span class="hl-11">17.48550033569336</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-11">97.01779174804688</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">88.27268981933594</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">20.292869567871094</span><br/><span class="hl-1"> ]</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-14">"content"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">"uri"</span><span class="hl-1">: </span><span class="hl-9">"splat.glb"</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-14">"geometricError"</span><span class="hl-1">: </span><span class="hl-11">66.36324328818385</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">"refine"</span><span class="hl-1">: </span><span class="hl-9">"ADD"</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-14">"transform"</span><span class="hl-1">: [</span><br/><span class="hl-1"> </span><span class="hl-11">1.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">1.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">1.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">0.0</span><span class="hl-1">, </span><span class="hl-11">1.0</span><br/><span class="hl-1"> ]</span><br/><span class="hl-1">}</span>
</code><button type="button">Copy</button></pre>
<h3 id="通过-work-加载" class="tsd-anchor-link">通过 Work 加载<a href="#通过-work-加载" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<pre><code class="json"><span class="hl-1">{</span><br/><span class="hl-1"> </span><span class="hl-14">"work_code"</span><span class="hl-1">: </span><span class="hl-9">""</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">"model"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">"layers"</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">"tileset_url"</span><span class="hl-1">: </span><span class="hl-9">"tileset.json"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">"name"</span><span class="hl-1">: </span><span class="hl-9">"poincare_3dgs"</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">"type"</span><span class="hl-1">: </span><span class="hl-9">"gaussian_splatting"</span><br/><span class="hl-1"> }</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">}</span>
</code><button type="button">Copy</button></pre>
<h3 id="配置球谐光照阶数-sh-degree" class="tsd-anchor-link">配置球谐光照阶数 (SH Degree)<a href="#配置球谐光照阶数-sh-degree" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>可以通过 <code>five.parameter.gaussianSplattingSHDegree</code> 设置球谐光照阶数,支持 0, 1, 2 阶,默认为 0 阶。</p>
<pre><code><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">five</span><span class="hl-1"> = </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-5">Five</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-6">parameters:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">gaussianSplattingSHDegree:</span><span class="hl-1"> </span><span class="hl-11">1</span><span class="hl-1"> </span><span class="hl-8">// 设置为 1 阶 SH</span><br/><span class="hl-1"> }</span><br/><span class="hl-1">});</span>
</code><button>Copy</button></pre>
<h3 id="模型的射线检测" class="tsd-anchor-link">模型的射线检测<a href="#模型的射线检测" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>gaussian_splatting 的模型同时也支持 rayscast 射线检测。同点云的处理保持一致。但是因为 gaussian_splatting 的射线交点对应的法线方向是一个估算值,精度并不高。请酌情使用。</p>
<h2 id="gltf-模型支持增强" class="tsd-anchor-link">glTF 模型支持增强<a href="#gltf-模型支持增强" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<blockquote>
<p>新增了对更多 glTF 扩展的支持,提升了模型的表现力和动画能力。</p>
</blockquote>
<h3 id="扩展新增及优化" class="tsd-anchor-link">扩展新增及优化<a href="#扩展新增及优化" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<h4 id="khr_animation_pointer" class="tsd-anchor-link">KHR_animation_pointer<a href="#khr_animation_pointer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<blockquote>
<p>KHR_animation_pointer 允许动画通道指向 glTF 资产中任何对象的任何属性。</p>
</blockquote>
<p>默认的 animtion 只能修改 node 的 transform 实现节点的平移、旋转和缩放</p>
<p>这个能力可以实现材质动画。比如:</p>
<ul>
<li>通过 uv transform 实现 texture 的移动,变化贴图位置。</li>
<li>通过修改 material 上的材质属性,可以动态修改金属粗糙,透明度,自发光程度。</li>
<li>通过修改 node 的 KHR_node_visibility 的扩展值,显隐某个节点。</li>
<li>等等</li>
</ul>
<h4 id="khr_node_visibility" class="tsd-anchor-link">KHR_node_visibility<a href="#khr_node_visibility" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<blockquote>
<p>允许设置节点的可见性属性。
用于 配合 KHR_animation_pointer 实现显隐效果。</p>
</blockquote>
<h4 id="khr_materials_clearcoat" class="tsd-anchor-link">KHR_materials_clearcoat<a href="#khr_materials_clearcoat" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<blockquote>
<p>用于在材质上添加一层透明涂层,模拟车漆、碳纤维、清漆木材等真实世界中的表面效果。</p>
</blockquote>
<p>这个能力可以实现材质动画。比如</p>
<ul>
<li>漆面等光滑的表面</li>
<li>塑料薄膜</li>
<li>等等</li>
</ul>
<h4 id="khr_materials_transmission" class="tsd-anchor-link">KHR_materials_transmission<a href="#khr_materials_transmission" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<blockquote>
<p>物理透光材质扩展,用于实现光线真正穿过物体的透明 / 半透明效果。</p>
</blockquote>
<p>这个能力可以实现材质动画。比如</p>
<ul>
<li>玻璃等即透光也反射的表面</li>
<li>等等</li>
</ul>
<h4 id="khr_materials_emissive_strength" class="tsd-anchor-link">KHR_materials_emissive_strength<a href="#khr_materials_emissive_strength" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<blockquote>
<p>调整自发光强度</p>
</blockquote>
<h4 id="khr_materials_unlit" class="tsd-anchor-link">KHR_materials_unlit<a href="#khr_materials_unlit" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<blockquote>
<p>不感光材质
正确解析 KHR_materials_unlit。是否感光作用到对应的 material 上,而不是 gltf 中的所有元素。</p>
</blockquote>
<h3 id="动画优化" class="tsd-anchor-link">动画优化<a href="#动画优化" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<ul>
<li>处理额外动画骨骼未绑定导致的错误,出现的抖动。</li>
<li>修复 glTF 骨骼 weight 为整型时,导致 boneTransform 计算出错进而引发射线检测错误的问题。gltf parser 在加载非 float 数据时,现已自动转换为 float 使用。</li>
</ul>
<h2 id="模型-viewlayer-加载策略优化" class="tsd-anchor-link">模型 ViewLayer 加载策略优化<a href="#模型-viewlayer-加载策略优化" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<blockquote>
<p>优化了 ViewLayer 的加载和显隐逻辑,以减少内存占用并提高性能。</p>
</blockquote>
<h4 id="默认加载策略变更" class="tsd-anchor-link">默认加载策略变更<a href="#默认加载策略变更" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<p>默认情况下,Five 不再加载所有图层,而是根据优先级仅加载一个图层。
优先级顺序:mesh > point_cloud > gaussian_splatting > 其他类型。</p>
<h4 id="显隐与内存管理" class="tsd-anchor-link">显隐与内存管理<a href="#显隐与内存管理" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<ul>
<li>显示: 当 viewLayer.visible = true 时,开始加载资源。</li>
<li>隐藏: 当 viewLayer.visible = false 时,释放该图层占用的所有内存资源。</li>
</ul>
<h4 id="加载进度" class="tsd-anchor-link">加载进度<a href="#加载进度" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<ul>
<li>新增 tile.content.loadProgress 属性,用于查看每个瓦片的加载进度 (0-1)。</li>
<li>新增 tile.content.byteLength 属性,可在加载过程中获取瓦片内容的字节长度。</li>
<li>同时,model.tileLoad 和 model.tileUnload 事件被添加,用于监控瓦片的生命周期。</li>
<li>加载函数(loadGltf, loadPly 等)现在支持 onDownloadProgress 回调,用于监控文件下载进度。</li>
</ul>
<h4 id="射线检测增强" class="tsd-anchor-link">射线检测增强<a href="#射线检测增强" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h4>
<ul>
<li>射线交点 Intersection 对象新增了 tile, model, viewLayer 字段,便于在射线检测时获取更详细的上下文信息。</li>
<li>raycaster.hitFilter 回调函数的参数类型定义已更新,包含 model, viewLayer, tile 等上下文信息。</li>
</ul>
<h2 id="work-结构改变" class="tsd-anchor-link">Work 结构改变<a href="#work-结构改变" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<h3 id="observer-支持-uv-计算工具函数" class="tsd-anchor-link">Observer 支持 uv 计算工具函数<a href="#observer-支持-uv-计算工具函数" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>为 WorkObserver 提供了更多实用的工具函数,便于进行坐标和 UV 转换。
UV 转换工具函数</p>
<ul>
<li>observer.vectorToEquirectangularUv: 将方向向量转化为全景图 uv。</li>
<li>observer.equirectangularUvToVector: 将全景图 uv 转化为方向向量。</li>
<li>observer.vectorToCubemapUv: 将方向向量转化为立方体贴图 uv。</li>
<li>observer.cubemapUvToVector: 将立方体贴图 uv 转化为方向向量。</li>
</ul>
<h3 id="fivepanoid" class="tsd-anchor-link">five.panoId<a href="#fivepanoid" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>新增 <code>five.panoId</code> 属性,使其与 <code>work.observer</code> 保持一致。</p>
<h3 id="derived_id-类型变更" class="tsd-anchor-link">derived_id 类型变更<a href="#derived_id-类型变更" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<p>derived_id 的类型从 <code>number</code> 改为 <code>number | string</code>。</p>
<h2 id="全景图滤镜" class="tsd-anchor-link">全景图滤镜<a href="#全景图滤镜" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<p>新增了全景图滤镜功能,支持实时调整全景图的亮度、对比度、饱和度、色温和色调等参数。</p>
<p>通过 <code>five.modelScene.parameter.set('panoFilter', filter)</code> 绑定。
支持的参数如下:</p>
<ul>
<li>color: 颜色调整,包含色温 (Temperature) 和色调 (Tint)。</li>
<li>highlightShadow: 高光和阴影的独立调节。包括高光 (Highlight) 和阴影 (Shadow) 全局(Global)。</li>
<li>contrast: 对比度调整。</li>
<li>saturation: 饱和度调整。</li>
</ul>
<h2 id="新增后处理效果-post-processing-passes" class="tsd-anchor-link">新增后处理效果 (Post-Processing Passes)<a href="#新增后处理效果-post-processing-passes" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<p>新增了三个可选的内置后处理 Pass,用于增强视觉效果。</p>
<ul>
<li>FlowingLight2DPass: 2D 流光效果,通常用于在屏幕空间绘制流动的光线(如道路流光)。</li>
<li>FlowingLight3DPass: 3D 流光效果,基于深度缓冲区在三维模型表面绘制流光。</li>
<li>GaussianBlurPass: 高斯模糊效果,可用于实现毛玻璃等视觉特效。</li>
</ul>
<h2 id="工具优化" class="tsd-anchor-link">工具优化<a href="#工具优化" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<h3 id="work-viewer" class="tsd-anchor-link">Work Viewer<a href="#work-viewer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<blockquote>
<p><a href="https://vradmin.lianjia.com/project/">https://vradmin.lianjia.com/project/</a></p>
</blockquote>
<ul>
<li>支持 debug -> stateSync。可以打开两个页面,均开启 stateSync。两边同步相机状态。</li>
<li>支持 work.json 拖拽加载加载。</li>
</ul>
<h3 id="model-viewer" class="tsd-anchor-link">Model Viewer<a href="#model-viewer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<blockquote>
<p><a href="https://vradmin.lianjia.com/poincare/">https://vradmin.lianjia.com/poincare/</a></p>
</blockquote>
<ul>
<li>支持 debug -> stateSync。可以打开两个页面,均开启 stateSync。两边同步相机状态。</li>
<li>支持 模型文件拖拽加载加载。</li>
</ul>
<h3 id="gltf-viewer" class="tsd-anchor-link">glTF Viewer<a href="#gltf-viewer" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h3>
<blockquote>
<p><a href="https://vradmin.lianjia.com/gltf/">https://vradmin.lianjia.com/gltf/</a></p>
</blockquote>
<ul>
<li>支持 debug -> stateSync。可以打开两个页面,均开启 stateSync。两边同步相机状态。</li>
<li>支持 模型文件拖拽加载加载。</li>
<li>支持 额外绑定动画文件(仅读取 gltf 的 animations 的部分,并绑定到当前的模型上)。</li>
<li>支持 额外绑定动画的单独播放和暂停。</li>
</ul>
<h2 id="友好文档" class="tsd-anchor-link">友好文档<a href="#友好文档" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<p>全面重构了文档结构,使其更适合 AI 辅助编程工具 (如 Cursor, Copilot) 阅读和索引。</p>
<ul>
<li>文档目录迁移至 ai_guides/,并在 package.json 中新增 ai 字段指向该目录。</li>
<li>文档内容包含源码链接 (source 字段),直接指向对应的 .ts 定义文件。</li>
<li>提供了更清晰的 API 定义和概念说明,例如新增了 ViewLayer 的详细文档。</li>
<li>TypeScript 支持: 优化了 .d.ts 打包方式,声明文件现在与源码文件一一对应,提升了 IDE 的跳转体验。</li>
</ul>
<h2 id="其他" class="tsd-anchor-link">其他<a href="#其他" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<ol>
<li>优化 mapview 下滚动缩放。避免滚落所发有时会退回的问题。</li>
<li>优化 floorplan 从下向上看时的交互的屏幕上下滑动反人类下意识的问题。</li>
<li>优化 camera.autoNearFar 的计算结果。优化对于小物品的 near 过远以及 出现 z-fighting 的问题。</li>
<li>添加了 gesture.fire 事件,发生在任意事件被触发。</li>
<li>gestureEvent.center gestureEvent.pointers 中加入了 buttons button shiftKey ctrlKey metaKey altKey 字段。</li>
<li>修复 gesture.momentum 前没有触发 gesture.create 的问题。</li>
<li>修复 gesture.pan 中 preventDefault 无法阻止触发 gesture.momentum 的问题。</li>
<li>修复 gesture.pan 中第一次并没有 event.isFirst = true 的问题。</li>
<li>添加自定义着色器 mainPanoColor 插入点,可以修改 pano0Color、pano1Color。</li>
<li>新增 <code>parameter.resolveValue('xxx')</code> 快速获取单个参数的最终值,无需创建完整的 <code>ResolvedParameterValue</code> 对象。</li>
<li>新增 <code>pano.prepare</code> 事件(ExtendableEvent),支持通过 <code>waitUntil(promise)</code> 在点位切换前插入异步操作。<code>PanoEvent</code> 和 <code>PanoPrepareEvent</code> 新增 <code>pano</code> 字段,包含目标点位信息。</li>
<li><code>PanoPrepareEvent</code> 新增 <code>options</code>(<code>MovePanoOptions</code>)和 <code>prevMode</code>(<code>Mode</code>)字段。<code>options</code> 可在回调中直接修改(如修改 <code>effect</code>、<code>duration</code>、<code>longitude</code>、<code>latitude</code>、<code>fov</code> 等),修改后的值将影响实际的点位切换行为。</li>
</ol>
<h2 id="内部机制改动" class="tsd-anchor-link">内部机制改动<a href="#内部机制改动" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></h2>
<ol>
<li>glTF 加载 mesh / points 都将直接使用 PBM 材质,而不是作为 PBM_Mesh 扩展形式去替换覆盖使用three内置材质的方式。</li>
<li>应用 animation pointer 以及 动画优化的原因。目前会重写 hack THREE.PropertyBinding.findNode。</li>
<li>打包不再合并 .d.ts 文件。便于文档可以更便于找到对应的类型声明。</li>
<li>Parameter 性能优化:新增 <code>resolveValueTo</code> 支持对象复用以减少 GC,版本标识改用整数哈希(<code>versionNumber: number</code>)替代字符串拼接。</li>
</ol>
</div></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div><details open class="tsd-accordion tsd-page-navigation"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>On This Page</h3></summary><div class="tsd-accordion-details"><a href="#release-note-68x"><span>Release <wbr/>Note 6.8.x</span></a><ul><li><a href="#gaussian-splatting-3dgs-支持"><span>Gaussian <wbr/>Splatting (3<wbr/>DGS) 支持</span></a></li><li><ul><li><a href="#文件格式支持"><span>文件格式支持</span></a></li><li><a href="#支持-3d-tile"><span>支持 3d-<wbr/>tile</span></a></li><li><a href="#通过-work-加载"><span>通过 <wbr/>Work 加载</span></a></li><li><a href="#配置球谐光照阶数-sh-degree"><span>配置球谐光照阶数 (<wbr/>SH <wbr/>Degree)</span></a></li><li><a href="#模型的射线检测"><span>模型的射线检测</span></a></li></ul></li><li><a href="#gltf-模型支持增强"><span>gl<wbr/>TF 模型支持增强</span></a></li><li><ul><li><a href="#扩展新增及优化"><span>扩展新增及优化</span></a></li><li><ul><li><a href="#khr_animation_pointer"><span>KHR_<wbr/>animation_<wbr/>pointer</span></a></li><li><a href="#khr_node_visibility"><span>KHR_<wbr/>node_<wbr/>visibility</span></a></li><li><a href="#khr_materials_clearcoat"><span>KHR_<wbr/>materials_<wbr/>clearcoat</span></a></li><li><a href="#khr_materials_transmission"><span>KHR_<wbr/>materials_<wbr/>transmission</span></a></li><li><a href="#khr_materials_emissive_strength"><span>KHR_<wbr/>materials_<wbr/>emissive_<wbr/>strength</span></a></li><li><a href="#khr_materials_unlit"><span>KHR_<wbr/>materials_<wbr/>unlit</span></a></li></ul></li><li><a href="#动画优化"><span>动画优化</span></a></li></ul></li><li><a href="#模型-viewlayer-加载策略优化"><span>模型 <wbr/>View<wbr/>Layer 加载策略优化</span></a></li><li><ul><li><ul><li><a href="#默认加载策略变更"><span>默认加载策略变更</span></a></li><li><a href="#显隐与内存管理"><span>显隐与内存管理</span></a></li><li><a href="#加载进度"><span>加载进度</span></a></li><li><a href="#射线检测增强"><span>射线检测增强</span></a></li></ul></li></ul></li><li><a href="#work-结构改变"><span>Work 结构改变</span></a></li><li><ul><li><a href="#observer-支持-uv-计算工具函数"><span>Observer 支持 uv 计算工具函数</span></a></li><li><a href="#fivepanoid"><span>five.pano<wbr/>Id</span></a></li><li><a href="#derived_id-类型变更"><span>derived_<wbr/>id 类型变更</span></a></li></ul></li><li><a href="#全景图滤镜"><span>全景图滤镜</span></a></li><li><a href="#新增后处理效果-post-processing-passes"><span>新增后处理效果 (<wbr/>Post-<wbr/>Processing <wbr/>Passes)</span></a></li><li><a href="#工具优化"><span>工具优化</span></a></li><li><ul><li><a href="#work-viewer"><span>Work <wbr/>Viewer</span></a></li><li><a href="#model-viewer"><span>Model <wbr/>Viewer</span></a></li><li><a href="#gltf-viewer"><span>gl<wbr/>TF <wbr/>Viewer</span></a></li></ul></li><li><a href="#友好文档"><span>友好文档</span></a></li><li><a href="#其他"><span>其他</span></a></li><li><a href="#内部机制改动"><span>内部机制改动</span></a></li></ul></div></details></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">如视 Five SDK</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>