UNPKG

@realsee/five

Version:

Realsee Renderer SDK

210 lines (195 loc) • 53.5 kB
<!DOCTYPE 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.7 | 如视 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.7</a></li></ul></div><div class="tsd-panel tsd-typography"><h1 id="release-note-67x" class="tsd-anchor-link">Release Note 6.7.x<a href="#release-note-67x" 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.7.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.7</span> </code><button type="button">Copy</button></pre> <h2 id="fivelaod-的多-work-的非阻塞性加载" class="tsd-anchor-link">five.laod 的多 Work 的非阻塞性加载<a href="#fivelaod-的多-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> <blockquote> <p><code>five.load</code> 时,现在可选择追加或者替换。 并且在切换过程中,可以不再发生切换/锁定视角等妨碍用户持续操作的行为。 这方面的改动只要适用于多项目下,项目追加,分批次加载的情况。</p> </blockquote> <h3 id="使用-在控制-替换--追加项目" class="tsd-anchor-link">使用 <code>FiveLoadOptions.mode</code> 在控制 替换 / 追加项目<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> <pre><code class="ts"><span class="hl-8">// 替换项目</span><br/><span class="hl-8">// mode: &#39;replace&#39; 默认</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">([</span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json1</span><span class="hl-1">), </span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json2</span><span class="hl-1">)], </span><span class="hl-9">&#39;inherit&#39;</span><span class="hl-1">, { </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">&#39;replace&#39;</span><span class="hl-1"> });</span><br/><br/><span class="hl-8">// 追加项目</span><br/><span class="hl-8">// mode: &#39;add&#39;</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json2</span><span class="hl-1">), </span><span class="hl-9">&#39;inherit&#39;</span><span class="hl-1">, { </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">&#39;add&#39;</span><span class="hl-1"> });</span> </code><button type="button">Copy</button></pre> <p>注意事项:</p> <ul> <li>Work 的唯一标识依旧是 <code>workCode</code>。 同一场景下,不允许出现两个相同的 <code>workCode</code> 的 Work。如果出现会报错处理。</li> <li>如果通过 <code>replace</code> 替换的 Work 的 <code>workCode</code> 和当前场景中有一样的(相当于替换一个一样的 Work),则会保留之前的 Work 的模型,直接挂在到新 Work 上,而不是重新加载。</li> </ul> <h3 id="重新定义-的行为" class="tsd-anchor-link">重新定义 <code>state=inherit</code> 的行为<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> <pre><code class="ts"><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">load</span><span class="hl-1">(</span><span class="hl-5">parseWork</span><span class="hl-1">(</span><span class="hl-6">json</span><span class="hl-1">), </span><span class="hl-9">&#39;inherit&#39;</span><span class="hl-1">, { </span><span class="hl-6">mode:</span><span class="hl-1"> </span><span class="hl-9">&#39;add&#39;</span><span class="hl-1"> });</span> </code><button type="button">Copy</button></pre> <p>当 <code>state=inherit</code> 时,在切换过程中,可以不再发生切换/锁定视角等妨碍用户持续操作的行为。</p> <ul> <li>在模型态:保持当前视角状态</li> <li>在全景态:如果当前 work 存在则不改变。不存在切换到一个可用的全景点。</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> <blockquote> <p>针对大项目,对 work 的 json。做精简优化,减少网络传输时间。并且增加灵活性。</p> </blockquote> <h3 id="panoramapattern-模版" class="tsd-anchor-link">panorama.pattern 模版<a href="#panoramapattern-模版" 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>通过模版的模式匹配减少重复内容。 panoram 中的 hash,index 等参数的重复度很高,对一样的内容可以通过这种方式减少文件长度。</p> </blockquote> <p>Before:</p> <pre><code class="json"><span class="hl-9">&quot;panorama&quot;</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;count&quot;</span><span class="hl-1">: </span><span class="hl-11">465</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;list&quot;</span><span class="hl-1">: [</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;index&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id_str&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;auto3d-light-vEY8Zp4lPlkZ7R9K_1735117678&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;up&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/0/0fd265355dbb94cb22fb930e52dd3c19/0_u.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;down&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/0/0fd265355dbb94cb22fb930e52dd3c19/0_d.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;left&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/0/0fd265355dbb94cb22fb930e52dd3c19/0_l.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;right&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/0/0fd265355dbb94cb22fb930e52dd3c19/0_r.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;front&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/0/0fd265355dbb94cb22fb930e52dd3c19/0_f.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;back&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/0/0fd265355dbb94cb22fb930e52dd3c19/0_b.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;size_list&quot;</span><span class="hl-1">: [ </span><span class="hl-11">2048</span><span class="hl-1">, </span><span class="hl-11">4096</span><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;tiles&quot;</span><span class="hl-1">: [ </span><span class="hl-11">1</span><span class="hl-1">, </span><span class="hl-11">2</span><span class="hl-1">, </span><span class="hl-11">3</span><span class="hl-1"> ],</span><br/><br/><span class="hl-1"> },</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;index&quot;</span><span class="hl-1">: </span><span class="hl-11">1</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id_str&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;auto3d-light-vEY8Zp4lPlkZ7R9K_1735117799&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;up&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/1/a6ca1991fc6bdb2dbd1a1003d9f62394/1_u.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;down&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/1/a6ca1991fc6bdb2dbd1a1003d9f62394/1_d.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;left&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/1/a6ca1991fc6bdb2dbd1a1003d9f62394/1_l.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;right&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/1/a6ca1991fc6bdb2dbd1a1003d9f62394/1_r.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;front&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/1/a6ca1991fc6bdb2dbd1a1003d9f62394/1_f.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;back&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/1/a6ca1991fc6bdb2dbd1a1003d9f62394/1_b.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;size_list&quot;</span><span class="hl-1">: [ </span><span class="hl-11">2048</span><span class="hl-1">, </span><span class="hl-11">4096</span><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;tiles&quot;</span><span class="hl-1">: [ </span><span class="hl-11">1</span><span class="hl-1">, </span><span class="hl-11">2</span><span class="hl-1">, </span><span class="hl-11">3</span><span class="hl-1"> ],</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;index&quot;</span><span class="hl-1">: </span><span class="hl-11">2</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id_str&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;auto3d-light-vEY8Zp4lPlkZ7R9K_1735117912&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;up&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/2/567f94406885bf06f5586d7972da2b5e/2_u.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;down&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/2/567f94406885bf06f5586d7972da2b5e/2_d.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;left&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/2/567f94406885bf06f5586d7972da2b5e/2_l.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;right&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/2/567f94406885bf06f5586d7972da2b5e/2_r.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;front&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/2/567f94406885bf06f5586d7972da2b5e/2_f.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;back&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/2/567f94406885bf06f5586d7972da2b5e/2_b.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;size_list&quot;</span><span class="hl-1">: [ </span><span class="hl-11">2048</span><span class="hl-1">, </span><span class="hl-11">4096</span><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;tiles&quot;</span><span class="hl-1">: [ </span><span class="hl-11">1</span><span class="hl-1">, </span><span class="hl-11">2</span><span class="hl-1">, </span><span class="hl-11">3</span><span class="hl-1"> ],</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;index&quot;</span><span class="hl-1">: </span><span class="hl-11">3</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id_str&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;auto3d-light-vEY8Zp4lPlkZ7R9K_1735118067&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;up&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/3/fa70f0f26594d3023a3824c9a92033da/3_u.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;down&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/3/fa70f0f26594d3023a3824c9a92033da/3_d.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;left&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/3/fa70f0f26594d3023a3824c9a92033da/3_l.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;right&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/3/fa70f0f26594d3023a3824c9a92033da/3_r.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;front&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/3/fa70f0f26594d3023a3824c9a92033da/3_f.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;back&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/3/fa70f0f26594d3023a3824c9a92033da/3_b.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;size_list&quot;</span><span class="hl-1">: [ </span><span class="hl-11">2048</span><span class="hl-1">, </span><span class="hl-11">4096</span><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;tiles&quot;</span><span class="hl-1">: [ </span><span class="hl-11">1</span><span class="hl-1">, </span><span class="hl-11">2</span><span class="hl-1">, </span><span class="hl-11">3</span><span class="hl-1"> ],</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-15">...</span><br/><span class="hl-1"> ]</span><br/><span class="hl-1">}</span> </code><button type="button">Copy</button></pre> <p>After:</p> <pre><code class="json"><span class="hl-9">&quot;panorama&quot;</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;count&quot;</span><span class="hl-1">: </span><span class="hl-11">465</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;pattern&quot;</span><span class="hl-1">: {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;up&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/{index}/{hash}/{index}_u.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;down&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/{index}/{hash}/{index}_d.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;left&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/{index}/{hash}/{index}_l.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;right&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/{index}/{hash}/{index}_r.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;front&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/{index}/{hash}/{index}_f.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;back&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;images/cube_2048/{index}/{hash}/{index}_b.jpg&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;size_list&quot;</span><span class="hl-1">: [ </span><span class="hl-11">2048</span><span class="hl-1">, </span><span class="hl-11">4096</span><span class="hl-1"> ],</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;tiles&quot;</span><span class="hl-1">: [ </span><span class="hl-11">1</span><span class="hl-1">, </span><span class="hl-11">2</span><span class="hl-1">, </span><span class="hl-11">3</span><span class="hl-1">]</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;list&quot;</span><span class="hl-1">: [</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;hash&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;0fd265355dbb94cb22fb930e52dd3c19&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id_str&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;auto3d-light-vEY8Zp4lPlkZ7R9K_1735117678&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;index&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;hash&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;a6ca1991fc6bdb2dbd1a1003d9f62394&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id_str&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;auto3d-light-vEY8Zp4lPlkZ7R9K_1735117799&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;index&quot;</span><span class="hl-1">: </span><span class="hl-11">1</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;hash&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;567f94406885bf06f5586d7972da2b5e&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id_str&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;auto3d-light-vEY8Zp4lPlkZ7R9K_1735117912&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;index&quot;</span><span class="hl-1">: </span><span class="hl-11">2</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;hash&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;fa70f0f26594d3023a3824c9a92033da&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id&quot;</span><span class="hl-1">: </span><span class="hl-11">0</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;derived_id_str&quot;</span><span class="hl-1">: </span><span class="hl-9">&quot;auto3d-light-vEY8Zp4lPlkZ7R9K_1735118067&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-14">&quot;index&quot;</span><span class="hl-1">: </span><span class="hl-11">3</span><br/><span class="hl-1"> },</span><br/><span class="hl-1"> </span><span class="hl-15">...</span><br/><span class="hl-1"> ]</span><br/><span class="hl-1">}</span> </code><button type="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> <blockquote> <p>在序列话 Work Json 时。资源的地址,均尝试存储为 <code>base_url</code> 的相对地址,减少存储的开销。</p> </blockquote> <ul> <li> <p>可以通过 <code>work.getURL</code> 获取到完整地址。</p> <pre><code class="ts"><span class="hl-8">// 获取图片地址</span><br/><span class="hl-6">work</span><span class="hl-1">.</span><span class="hl-5">getURL</span><span class="hl-1">(</span><span class="hl-6">work</span><span class="hl-1">.</span><span class="hl-6">observers</span><span class="hl-1">[</span><span class="hl-11">0</span><span class="hl-1">].</span><span class="hl-6">image</span><span class="hl-1">.</span><span class="hl-6">left</span><span class="hl-1">);</span> </code><button type="button">Copy</button></pre> </li> <li> <p>可以通过修改 <code>work.baseURL=</code> 修改前缀。</p> </li> </ul> <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>现在 accessable_nodes 与 visible_nodes 不再有行为差异。visible_nodes 将废弃。</li> <li>observers[].derived_id 的缺损值不再是 undefiend. 而是 0。</li> <li>observers[].derived_id_str 的缺损值不再是 undefiend. 而是 空字符串。</li> <li>优化 at3d / pbm 的 material_textures 的参数的各种兼容问题 以及 错误的警告信息。</li> </ul> <h3 id="model-支持-coordinate-以及-up_axis" class="tsd-anchor-link">model 支持 coordinate 以及 up_axis<a href="#model-支持-coordinate-以及-up_axis" 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>model.coordinate 同 <code>tileeset.rootMeta.coordinate</code>。声明 <code>file_url</code> 的世界坐标。</li> <li>model.up_axis 设置 <code>file_url</code> 模型的上方向, 仅针对 obj / ply 等自身没有上方向定义的模型格式。</li> </ul> <h3 id="tojson-方法" class="tsd-anchor-link">toJSON 方法<a href="#tojson-方法" 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>通过 <code>work.toJSON()</code> 可以获取到当前序列化后的标准 Work Json。类型为 <code>WorkJson</code></li> <li>该方法并不是返回当时 <code>parseWork</code> 时的 Json。 而是从 work 数据中序列化后的结果。</li> <li>并不包含 <code>_signature</code> <code>certificate</code> 等字段。</li> </ul> <h3 id="work-downloader-的速度优化" class="tsd-anchor-link">work-downloader 的速度优化<a href="#work-downloader-的速度优化" 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>优化 对于 avif 格式的 cube 图的处理的效率。</li> <li>优化 全景图片瓦片的切割参数,该有尽有。</li> <li>优化 图片的清晰度参数,目前均使用 95 最为图片质量。</li> </ul> <h2 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></h2> <h3 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></h3> <blockquote> <p>优化 Gltf PBR 材质渲染。 对技术美术输出的模型,更准确的还原。</p> </blockquote> <ul> <li>解决混合底色是白色的问题 从修改 CustomBlending 改为在着色器中处理,所以只有使用 PBM 的材质支持。three 默认材质不处理这个改动。</li> <li>优化 gltf 骨骼绑定,对于骨骼关联大于 4 的情况,使用前 4 个权重大的骨骼,并归一化。并且考虑通过整形数组 normalize 的情况。</li> <li>修改 gltf 中对 uv2 copy 的逻辑,添加当检测到有 occlusionTexture 材质时,如果没有 uv2 自动拷贝 uv -&gt; uv2。</li> </ul> <h3 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></h3> <p>地址: <a href="https://vradmin.lianjia.com/gltf/">https://vradmin.lianjia.com/gltf/</a></p> <ul> <li>支持加载 线上 / 本地文件。gltf / glb。</li> <li>支持链接 单独的 gltf / glb 动画文件。</li> <li>内置了 gltf 官方测试集。<a href="https://github.com/KhronosGroup/glTF-Sample-Assets/">https://github.com/KhronosGroup/glTF-Sample-Assets/</a></li> <li>内置多个环境光照,以及上传自定义环境光照 (.exr)。</li> </ul> <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>扩展 threejs 的 Raycaster。 支持多个自定义参数。</p> <pre><code class="ts"><span class="hl-3">declare</span><span class="hl-1"> </span><span class="hl-3">module</span><span class="hl-1"> </span><span class="hl-9">&#39;three&#39;</span><span class="hl-1"> {</span><br/><br/><span class="hl-1"> </span><span class="hl-10">export</span><span class="hl-1"> </span><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">Raycaster</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-8">/**</span><br/><span class="hl-8"> * 只捕获第一个交点</span><br/><span class="hl-8"> */</span><br/><span class="hl-1"> </span><span class="hl-6">firstHitOnly</span><span class="hl-1">?: </span><span class="hl-7">boolean</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/**</span><br/><span class="hl-8"> * 对交点进行筛选</span><br/><span class="hl-8"> */</span><br/><span class="hl-1"> </span><span class="hl-5">hitFilter</span><span class="hl-1">?: (</span><span class="hl-6">intersect</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">Intersection</span><span class="hl-1">) </span><span class="hl-3">=&gt;</span><span class="hl-1"> </span><span class="hl-7">boolean</span><span class="hl-1">;</span><br/><br/><span class="hl-1"> </span><span class="hl-8">/**</span><br/><span class="hl-8"> * 作用楼层</span><br/><span class="hl-8"> */</span><br/><span class="hl-1"> </span><span class="hl-6">floorIndex</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">;</span><br/><span class="hl-1"> }</span><br/><br/><span class="hl-1">}</span> </code><button type="button">Copy</button></pre> <ul> <li>firstHitOnly - 只捕获第一个交点。比获取全部取第一个更快获取到结果。</li> <li>hitFilter - 过滤函数,可以根据逻辑否绝一些交点。配合 firstHitOnly 可以更加匹配业务需求。</li> <li>floorIndex - 过滤楼层。默认为当前显示楼层,-1 为所有楼层。其他数字则定向对应的楼层。</li> </ul> <p>同时一些内部逻辑变化</p> <ul> <li>内置事件生成的 Raycaster。均设置 firstHitOnly = true。</li> <li>交点获取,内置过滤掉了 模型裁剪 clippers 中的内容。</li> </ul> <h3 id="3d-tile-支持通过内存上限动态调整-maxscreenspaceerror。" class="tsd-anchor-link">3d-tile 支持通过内存上限动态调整 maxScreenSpaceError。<a href="#3d-tile-支持通过内存上限动态调整-maxscreenspaceerror。" 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>目的是通过有限的内存,获取到最清晰的模型效果。</p> </blockquote> <pre><code class="ts"><span class="hl-8">// 设置内存最高缓存到 512 MB</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;maxMemoryUsage&#39;</span><span class="hl-1">, </span><span class="hl-11">512</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// 设置 maxScreenSpaceError 到 32</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;maxScreenSpaceError&#39;</span><span class="hl-1">, </span><span class="hl-11">32</span><span class="hl-1">);</span><br/><br/><span class="hl-8">// 设置通过内存上限动态调整 maxScreenSpaceError</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">modelScene</span><span class="hl-1">.</span><span class="hl-6">parameter</span><span class="hl-1">.</span><span class="hl-5">set</span><span class="hl-1">(</span><span class="hl-9">&#39;memoryAdjustedScreenSpaceError&#39;</span><span class="hl-1">, </span><span class="hl-3">true</span><span class="hl-1">);</span> </code><button type="button">Copy</button></pre> <p>当设置的 <code>maxScreenSpaceError</code> 已经全部加载完毕后,发现内存空间仍有剩余。则会尝试降低 <code>maxScreenSpaceError</code> 知道内存大体到达 <code>maxMemoryUsage</code> 设置的水平。</p> <ul> <li>如果设置的 <code>maxScreenSpaceError</code> 已经全部加载完毕后,内存已经大于 <code>maxMemoryUsage</code> 设置的水平则不会变化。</li> <li>因为是动态尝试, 所以悲观情况下会出现在 <code>maxMemoryUsage</code> 附近摆动的情况。导致模型反复加载/销毁。</li> <li>只针对 layer 生效。多个 layer 是单独计算,并不是综合计算。</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="movetopano-新增-effectmodel-模型过渡效果" class="tsd-anchor-link">moveToPano 新增 effect=model 模型过渡效果<a href="#movetopano-新增-effectmodel-模型过渡效果" 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>通过过渡到模型实现点位游走效果</p> <pre><code class="ts"><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">moveToPano</span><span class="hl-1">(</span><span class="hl-11">0</span><span class="hl-1">, {</span><br/><span class="hl-1"> </span><span class="hl-6">effect:</span><span class="hl-1"> </span><span class="hl-9">&#39;model&#39;</span><span class="hl-1">,</span><br/><span class="hl-1">});</span> </code><button type="button">Copy</button></pre> <p>目前支持:</p> <ul> <li>fly - 通过相机移动方式变化</li> <li>instant - 直接变化</li> <li>fade - 通过渐变方式变化</li> <li>montage - 通过渐变穿插到黑屏方式变化</li> <li>spread - 通过扩散方式变化</li> <li>zoomin - 通过放大变化</li> <li>zoomout - 通过缩小变化</li> <li>model - 通过过度到模型</li> </ul> <h3 id="movetopano-新增参数-effecteasing-控制前后全景图的切换进度" class="tsd-anchor-link">moveToPano 新增参数 effectEasing 控制前后全景图的切换进度<a href="#movetopano-新增参数-effecteasing-控制前后全景图的切换进度" 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="ts"><span class="hl-3">function</span><span class="hl-1"> </span><span class="hl-5">easeInQuad</span><span class="hl-1">(</span><span class="hl-6">x</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">): </span><span class="hl-7">number</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-10">return</span><span class="hl-1"> </span><span class="hl-6">x</span><span class="hl-1"> * </span><span class="hl-6">x</span><span class="hl-1">;</span><br/><span class="hl-1">};</span><br/><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-5">moveToPano</span><span class="hl-1">({</span><br/><span class="hl-1"> </span><span class="hl-6">workCode:</span><span class="hl-1"> </span><span class="hl-9">&quot;axv2ZQMaKZcMl5Bc6x&quot;</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">panoIndex:</span><span class="hl-1"> </span><span class="hl-11">51</span><span class="hl-1">,</span><br/><span class="hl-1">}, {</span><br/><span class="hl-1"> </span><span class="hl-6">latitude:</span><span class="hl-1"> </span><span class="hl-11">0.5314685806864204</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">longitude:</span><span class="hl-1"> </span><span class="hl-11">4.324187623631265</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">fov:</span><span class="hl-1"> </span><span class="hl-11">90</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">effectEasing:</span><span class="hl-1"> </span><span class="hl-6">easeInQuad</span><br/><span class="hl-1">})</span> </code><button type="button">Copy</button></pre> <ul> <li>effectEasing 生命一个函数,接受一个 0 到 1 的数字, 返回一个 0 到 1 的数字。</li> <li>当值为 0 时显示前一个全景图。 为 1 时显示后一个全景图。 中间数值为两个全景图的混合, 数值表示混合比例。</li> <li>用于 地面-天空 等切换切换占比差异较大的情况下单独设置。</li> </ul> <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>默认逻辑为:</p> <pre><code class="ts"><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">panorama:</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">aerialObserverMinHeight:</span><span class="hl-1"> </span><span class="hl-11">5</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-5">panoCircleMeshCreator</span><span class="hl-6">:</span><span class="hl-1"> (</span><span class="hl-6">observer</span><span class="hl-1">, </span><span class="hl-6">options</span><span class="hl-1">) </span><span class="hl-3">=&gt;</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">distance</span><span class="hl-1"> = </span><span class="hl-6">observer</span><span class="hl-1">.</span><span class="hl-6">position</span><span class="hl-1">.</span><span class="hl-5">distanceTo</span><span class="hl-1">(</span><span class="hl-6">observer</span><span class="hl-1">.</span><span class="hl-6">standingPosition</span><span class="hl-1">);</span><br/><span class="hl-1"> </span><span class="hl-10">if</span><span class="hl-1"> (</span><span class="hl-6">distance</span><span class="hl-1"> &gt; </span><span class="hl-6">options</span><span class="hl-1">.</span><span class="hl-6">aerialObserverMinHeight</span><span class="hl-1">) {</span><br/><span class="hl-1"> </span><span class="hl-10">return</span><span class="hl-1"> </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-5">PanoCircleMeshSolid</span><span class="hl-1">();</span><br/><span class="hl-1"> } </span><span class="hl-10">else</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-10">return</span><span class="hl-1"> </span><span class="hl-3">new</span><span class="hl-1"> </span><span class="hl-5">PanoCircleMesh</span><span class="hl-1">();</span><br/><span class="hl-1"> }</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> <ul> <li>如果距地大于 5 米的点位为航拍点。</li> <li>如果是航拍点,则使用 PanoCircleMeshSolid, 否则使用 PanoCircleMesh。</li> <li>内部逻辑。航拍点会面向相机展示。</li> </ul> <p>业务可以修改或介入这个逻辑。</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>重写了渲染相关的逻辑。将 scene-renderer 和 postprocessing 分开</p> <ul> <li>scene-renderer 场景的渲染相关,需要多次渲染场景采样比如抗锯齿(aa),或者对场景内容改变,必须点云的点融合等。</li> <li>postprocessing 后处理,将 scene-renderer 的结果通过多次处理,比如轮廓增强,调整亮度等,将最终处理后的结果显示到画布上。</li> </ul> <h3 id="提供的-scene-renderer" class="tsd-anchor-link">提供的 scene-renderer<a href="#提供的-scene-renderer" 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>scene-renderer - 直接渲染</li> <li>point-cloud-high-quality-scene-renderer - 点云融合渲染</li> <li>ssaa-scene-renderer - SSAA算法的抗锯齿渲染</li> </ul> <pre><code class="ts"><span class="hl-8">// 通过 renderMode 切换</span><br/><br/><span class="hl-8">// 直接渲染</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">renderMode</span><span class="hl-1"> = </span><span class="hl-9">&#39;default&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 点云融合渲染</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">renderMode</span><span class="hl-1"> = </span><span class="hl-9">&#39;point-cloud-high-quality&#39;</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// SSAA算法的抗锯齿渲染</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">renderMode</span><span class="hl-1"> = </span><span class="hl-9">&#39;ssaa&#39;</span><span class="hl-1">;</span> </code><button type="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> <ul> <li>adaptive-luminance-pass - 屏幕空间动态亮度</li> <li>eye-dome-lighting-pass - 轮廓增强</li> </ul> <pre><code class="ts"><span class="hl-8">// 开启 eye-dome-lighting-pass</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">enableEDL</span><span class="hl-1"> = </span><span class="hl-3">true</span><span class="hl-1">;</span><br/><br/><span class="hl-8">// 开启 adaptive-luminance-pass</span><br/><span class="hl-6">five</span><span class="hl-1">.</span><span class="hl-6">enableAdaptiveLuminance</span><span class="hl-1"> = </span><span class="hl-3">true</span><span class="hl-1">;</span> </code><button type="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>后处理支持 THREE 对于 后处理 Pass 的定义。可以自定义追加。</p> <p>注意:目前不支持 mask 模版剔除部分的逻辑。</p> <pre><code class="ts"><br/><span class="hl-3">interface</span><span class="hl-1"> </span><span class="hl-7">Pass</span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-6">enabled</span><span class="hl-1">: </span><span class="hl-7">boolean</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-6">needsSwap</span><span class="hl-1">: </span><span class="hl-7">boolean</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-6">clear</span><span class="hl-1">: </span><span class="hl-7">boolean</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-6">renderToScreen</span><span class="hl-1">: </span><span class="hl-7">boolean</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-5">setSize</span><span class="hl-1">(</span><span class="hl-6">width</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">, </span><span class="hl-6">height</span><span class="hl-1">: </span><span class="hl-7">number</span><span class="hl-1">): </span><span class="hl-7">void</span><span class="hl-1">;</span><br/><span class="hl-1"> </span><span class="hl-5">render</span><span class="hl-1">(</span><br/><span class="hl-1"> </span><span class="hl-6">renderer</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">WebGLRenderer</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">writeBuffer</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">WebGLRenderTarget</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">readBuffer</span><span class="hl-1">: </span><span class="hl-7">THREE</span><span class="hl-1">.</span><span class="hl-7">WebGLRenderTarget</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">deltaTime</span><span class="hl-1">?: </span><span class="hl-7">number</span><span class="hl-1">,</span><br/><span class="hl-1"> </span><span class="hl-6">maskActive</span><span class="hl-1">?: </span><span class="hl-7">boolean</span><br/><span class="hl-1"> ): </span><span class="hl-7">void</span><span class="hl-1">;</span><br/><span class="hl-1">}</span><br/><br/><span class="hl-3">const</span><span class="hl-1"> </span><span class="hl-4">myPass</span><span class="hl-1">: </span><span class="hl-7">Pass</span><span class="hl-1"> = ...;</span><br/><br/><span class="hl-3">this</span><span class="hl-1">.</span><span class="hl-6">fiveRenderer</span><span class="hl-1">.</span><span class="hl-6">composer</span><span class="hl-1">.</span><span class="hl-5">addPass</span><span class="hl-1">(</span><span class="hl-6">myPass</span><span class="hl-1">)</span> </code><button type="button">Copy</button></pre> <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> <ul> <li>不再使用分层渲染。enableLayeringRendering 参数废弃。</li> <li>修复 涉嫌计算 intersectRaycaster, 如果 origin 离得太近会出现取不到的问题,优化 bvhbox 的距离判断逻辑。</li> <li>优化近处点云碰撞时,规避掉角度大 distanceToRay / distance &gt; 0.07 的点云。</li> <li>修复多个 five 实例间,共用同一个 work 时 proxy 指向错误 five 实例的问题。</li> <li>修复 mesh 模型 material.vertexMarks 没有同步 parameterValue.vertexMarks 的问题</li> </ul> </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-67x"><span>Release <wbr/>Note 6.7.x</span></a><ul><li><a href="#fivelaod-的多-work-的非阻塞性加载"><span>five.laod 的多 <wbr/>Work 的非阻塞性加载</span></a></li><li><ul><li><a href="#使用-在控制-替换--追加项目"><span>使用 在控制 替换 / 追加项目</span></a></li><li><a href="#重新定义-的行为"><span>重新定义 的行为</span></a></li></ul></li><li><a href="#work-更加精简和灵活"><span>work 更加精简和灵活</span></a></li><li><ul><li><a href="#panoramapattern-模版"><span>panorama.pattern 模版</span></a></li><li><a href="#相对路径"><span>相对路径</span></a></li><li><a href="#一些字段的新增、废弃与兼容"><span>一些字段的新增、废弃与兼容</span></a></li><li><a href="#model-支持-coordinate-以及-up_axis"><span>model 支持 coordinate 以及 up_<wbr/>axis</span></a></li><li><a href="#tojson-方法"><span>to<wbr/>JSON 方法</span></a></li><li><a href="#work-downloader-的速度优化"><span>work-<wbr/>downloader 的速度优化</span></a></li></ul></li><li><a href="#模型优化材质展示-3d-tile,以及碰撞计算"><span>模型优化材质展示, 3d-<wbr/>tile,以及碰撞计算</span></a></li><li><ul><li><a href="#gltf-模型材质-与-动画"><span>gl<wbr/>TF 模型材质 与 动画</span></a></li><li><a href="#gltf-预览工具"><span>gl<wbr/>TF 预览工具</span></a></li><li><a href="#优化模型碰撞"><span>优化模型碰撞</span></a></li><li><a href="#3d-tile-支持通过内存上限动态调整-maxscreenspaceerror。"><span>3d-<wbr/>tile 支持通过内存上限动态调整 max<wbr/>Screen<wbr/>Space<wbr/>Error。</span></a></li></ul></li><li><a href="#全景浏览"><span>全景浏览</span></a></li><li><ul><li><a href="#movetopano-新增-effectmodel-模型过渡效果"><span>move<wbr/>To<wbr/>Pano 新增 effect=model 模型过渡效果</span></a></li><li><a href="#movetopano-新增参数-effecteasing-控制前后全景图的切换进度"><span>move<wbr/>To<wbr/>Pano 新增参数 effect<wbr/>Easing 控制前后全景图的切换进度</span></a></li><li><a href="#全景图支持航拍点的差异显示"><span>全景图支持航拍点的差异显示</span></a></li></ul></li><li><a href="#渲染以及后处理"><span>渲染以及后处理</span></a></li><li><ul><li><a href="#提供的-scene-renderer"><span>提供的 scene-<wbr/>renderer</span></a></li><li><a href="#内置后处理"><span>内置后处理</span></a></li><li><a href="#自定义后处理"><span>自定义后处理</span></a></li></ul></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>