日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

圖撲軟件 3D 場景預(yù)加載應(yīng)用實現(xiàn)

圖撲-數(shù)字孿生 ? 來源:圖撲-數(shù)字孿生 ? 作者:圖撲-數(shù)字孿生 ? 2025-12-01 16:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

預(yù)加載是在進入正式場景之前提前加載所需模型、材質(zhì)、圖片等資源的技術(shù)手段,其核心價值在于消除資源加載等待,確保場景首次渲染即可完整呈現(xiàn),從而提供無縫、流暢的用戶體驗。在復(fù)雜的 Web 3D 可視化應(yīng)用中,資源預(yù)加載尤為重要,可有效解決首次加載時的卡頓、白屏及交互延遲等問題。

wKgZPGktS_yAU48EAANjcS5lXJs61.jpeg

預(yù)加載實現(xiàn)方案

01 基礎(chǔ)實現(xiàn)原理

HT for Web 中所有資源的請求都會經(jīng)過 ht.Default.convertURL 方法,該方法提供了統(tǒng)一的資源請求入口:

當(dāng)返回字符串路徑時,框架會按此路徑發(fā)起資源請求;

當(dāng)返回 {data: content} 格式對象時,框架會直接使用 content 作為資源內(nèi)容。

基于此特性,我們可實現(xiàn)預(yù)加載機制。

// 資源緩存映射表
let sourceMap = {}; 
// 判斷是否為本地資源
functionisLocalUrl(url) {
    return url.startsWith('data:') || url.startsWith('blob:');
}
// 重寫 convertURL 方法
let oldFunc = ht.Default.convertURL;
ht.Default.convertURL = function(url) {
    if (isLocalUrl(url)) return url;
    
    let source = sourceMap[url];
    if (source) {
        return { data: source };
    }
    
    return oldFunc(url);
};

02 資源加載策略

部分資源預(yù)加載適用于資源量較大但部分關(guān)鍵資源需要優(yōu)先加載的場景。

// 關(guān)鍵資源列表
let resources = [
    "models/model.json",
    "assets/texture.png",
    "symbols/symbols.json"
]
wKgZO2ktS_yAX5BbADkKBsmBpgY458.gif

全量資源預(yù)加載獲取所有已注冊資源進行預(yù)加載:

functiongetAllResources() {
    return [
        ...Object.keys(ht.Default.getImageMap()),
        ...Object.keys(ht.Default.getCompTypeMap()),
        ...Object.keys(ht.Default.getShape3dModelMap()),
        ...Object.keys(ht.Default.getMaterialMap()),
        ...Object.keys(ht.Default.getHdrTextureMap())
    ];
}
let allResources = getAllResources();
wKgZPGktS_6ATbnYADcK_TvR-V8855.gif

03 資源加載實現(xiàn)

// 資源類型判斷
const ResourceType = {
    IMAGE: /.(png|jpg|gif|jpeg|bmp|svg)$/i,
    BUFFER: /.(fbx|gltf|glb)$/i,
    HDR: /.hdr$/i,
    TGA: /.tga$/i,
    JSON: /.json$/i
};


class ResourceLoader {
constructor(resources) {
        this.resources = resources;
        this.loaded = 0;
    }
    
    load() {
        this.resources.forEach(url => {
            if (ResourceType.BUFFER.test(url)) {
                this.loadBuffer(url);
            } 
            else if (ResourceType.IMAGE.test(url)) {
                this.loadImage(url);
            }
            // 其他資源類型處理...
        });
    }
    
    loadBuffer(url) {
        ht.Default.xhrLoad(url, res => {
            this.onResourceLoaded(url, res);
        }, { responseType: 'arraybuffer' });
    }
    
    // 其他加載方法...
    
    onResourceLoaded(url, res) {
        sourceMap[url] = res;
        this.loaded++;
        this.onProgress(this.loaded, this.resources.length);
        
        if (this.loaded === this.resources.length) {
            this.onAllLoaded();
        }
    }


    // 加載進度回調(diào)
  onProgress(loaded, total) {
    console.log(`加載進度: ${loaded}/${total}`);
  };
    
    onAllLoaded() {
        console.log("所有資源預(yù)加載完成");
        // 進入主場景...
    }
}
wKgZO2ktTACAHo4cABy_79wUC8Q714.gif

加載頁面優(yōu)化

01 進度展示設(shè)計

class LoadingView{
    constructor() {
        this.initView();
    }


    initView(){
        this.dm = new ht.DataModel();
        this.view = new ht.graph.GraphView(this.dm);
        
        let style = this.view.getView().style;
        style.left = "0";
        style.right = "0";
        style.top = "0";
        style.bottom = "0";
        document.body.appendChild(this.view.getView());
    }
    
    // 更新進度
    updateProgress(percent) {
        
    }
    
    // 移除加載頁面
    remove() {
        setTimeout(() => {
            this.view.getView().remove();
            this.enterMainScene();
        }, 1);
    }
    
    // 進入主場景
    enterMainScene(){


    }
}

02視覺優(yōu)化建議

進度條設(shè)計:使用圖標實現(xiàn)平滑動畫。

wKgZPGktTAGAOWK9ADfTX27k4p8260.gif

背景動畫:添加輕量級背景動畫提升等待體驗。

wKgZO2ktTAOAH6WAACTk7Zd1aoQ642.gif

分段進度:將加載過程分為資源加載、場景初始化等階段。

預(yù)估時間:基于已加載時間預(yù)測剩余時間。

性能優(yōu)化方案

01 Service Worker 離線緩存

// sw.js
let CACHE_NAME = 'ht-resources-v1';


self.addEventListener('fetch', event => {
    event.respondWith(caches.match(event.request).then(function (response) {
        if (response !== undefined) {
            return response;
        } else {
            return fetch(event.request).then(function (response) {
                if (event.request.url.indexOf('storage') != -1) {
                    let responseClone = response.clone();
                    caches.open(CACHE_NAME).then(function (cache) {
                        cache.put(event.request, responseClone);
                    });
                }
                return response;
            }).catch(function () {
                return caches.match('./');
            });
        }
    }));
});


self.addEventListener('activate', function (event) {
    event.waitUntil(clients.claim());
    event.waitUntil(
        caches.keys().then(function (keyList) {
            returnPromise.all(keyList.map(function (key) {
                if (key !== CACHE_NAME) {
                    // 刪除舊緩存
                    return caches.delete(key);
                }
            }));
        })
    );
});

02 資源壓縮策略

■模型優(yōu)化:輕量化模型,對模型進行減面。

■圖片優(yōu)化:圖片資源壓縮。

效果對比與總結(jié)

01 加載效果對比

預(yù)加載方案雖然初始顯示時間較長,但提供了更優(yōu)的整體用戶體驗:

■完整的場景一次性呈現(xiàn),避免零碎加載造成的視覺割裂。

■無卡頓的交互體驗,所有資源已就緒。

■可控的等待預(yù)期,進度反饋降低用戶焦慮。

■更穩(wěn)定的性能表現(xiàn),避免運行時資源加載導(dǎo)致的卡頓。

wKgZPGktTASAdNgxAAFZpUNk_1I799.gif

預(yù)加載效果

wKgZO2ktTASAbIjVAAMF4A7k_YY682.gif

常規(guī)加載效果

wKgZPGktTAWALEu3AAEWTja-nE817.jpeg

02 適用場景

大型 3D 場景:包含復(fù)雜模型和紋理的場景。

wKgZO2ktTAWAFmsLAD8Ja7Px6S8044.gif

儀表盤應(yīng)用:需要快速響應(yīng)的監(jiān)控系統(tǒng)。

移動端應(yīng)用:網(wǎng)絡(luò)條件不穩(wěn)定的環(huán)境。

演示系統(tǒng):需要流暢演示效果的場合。

03 實施建議

分階段實施:先對關(guān)鍵資源預(yù)加載,再逐步擴展。

性能監(jiān)控:添加加載時間統(tǒng)計和分析。

A/B 測試:對比不同策略的實際效果。

綜上所述,本預(yù)加載方案能顯著提升 HT for Web 應(yīng)用的加載性能和用戶體驗,特別適合對流暢性要求高的可視化應(yīng)用場景。在實際項目中,應(yīng)根據(jù)資源規(guī)模和用戶場景靈活調(diào)整預(yù)加載策略,平衡加載時間和用戶體驗。

圖撲軟件 (Hightopo) 長期專注于 Web 可視化領(lǐng)域,自主研發(fā) HT for Web 2D 和 3D 圖形渲染引擎、低代碼數(shù)字孿生組態(tài)平臺及相關(guān)工具。目前產(chǎn)品已廣泛應(yīng)用于工業(yè)組態(tài)、電力能源、孿生工廠、電信機房、智慧交通、智慧城市、園區(qū)樓宇、智慧水務(wù)、航天軍工等行業(yè)領(lǐng)域,為客戶提供可靠的一站式數(shù)字孿生解決方案。

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1365

    瀏覽量

    22912
  • 數(shù)字孿生
    +關(guān)注

    關(guān)注

    4

    文章

    1690

    瀏覽量

    14047
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    基于 HT 的 2.5D 組態(tài)可視化技術(shù)方案與場景實現(xiàn)

    本文所述 2.5D 組態(tài)可視化方案,基于軟件HT 引擎構(gòu)建。HT 是依托 WebGL 與 Canvas 實現(xiàn)的純前端可視化插件,具備 2
    的頭像 發(fā)表于 04-28 14:13 ?58次閱讀
    基于 HT 的 2.5<b class='flag-5'>D</b> 組態(tài)可視化技術(shù)方案與<b class='flag-5'>場景</b><b class='flag-5'>實現(xiàn)</b>

    FBX/glTF 模型渲染與動畫技術(shù)解析 | HT 框架

    Web 3D 可視化開發(fā)中,模型動畫、材質(zhì)質(zhì)感、渲染擴展性是提升產(chǎn)品體驗的關(guān)鍵,但其底層邏輯復(fù)雜,如骨骼蒙皮、光照計算,導(dǎo)致開發(fā)門檻高、效率低。軟件自研 HT for Web(簡稱
    的頭像 發(fā)表于 04-21 11:31 ?82次閱讀
    FBX/glTF 模型渲染與動畫技術(shù)解析 | <b class='flag-5'>圖</b><b class='flag-5'>撲</b> HT 框架

    東方國信聯(lián)手軟件:共建智能礦山數(shù)字孿生應(yīng)用平臺(上)

    在《“十四五”數(shù)字經(jīng)濟發(fā)展規(guī)劃》引領(lǐng)下,礦山智能化轉(zhuǎn)型進入攻堅階段。作為工業(yè)互聯(lián)網(wǎng)核心服務(wù)商, 東方國信攜手軟件 ,依托自身深厚的解決方案能力、架構(gòu)搭建經(jīng)驗、多源數(shù)據(jù)整合、場景落地
    的頭像 發(fā)表于 04-09 14:15 ?670次閱讀
    東方國信聯(lián)手<b class='flag-5'>圖</b><b class='flag-5'>撲</b><b class='flag-5'>軟件</b>:共建智能礦山數(shù)字孿生應(yīng)用平臺(上)

    HT for Web 幀動畫 | 3D 動態(tài)渲染設(shè)計與實現(xiàn)

    幀動畫憑借靈活的序列幀設(shè)計與精準時序控制,成為軟件 HT 可視化項目的核心視覺能力。結(jié)合完善的動畫體系與性能優(yōu)化方案,可打造高沉浸、高真實感的數(shù)字孿生場景,是
    的頭像 發(fā)表于 03-24 11:05 ?209次閱讀
    HT for Web 幀動畫 | <b class='flag-5'>3D</b> 動態(tài)渲染設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    基于 HT 引擎:數(shù)字孿生民航飛聯(lián)網(wǎng)方案

    基于 HTML5 自主研發(fā) 2D、3D 圖形渲染引擎,依托 WebGL、Canvas 技術(shù)棧打造純前端可視化插件 HT for Web。該插件支持輕量化三維模型導(dǎo)入
    的頭像 發(fā)表于 02-05 14:26 ?322次閱讀
    基于<b class='flag-5'>圖</b><b class='flag-5'>撲</b> HT 引擎:數(shù)字孿生民航飛聯(lián)網(wǎng)方案

    基于 HT 數(shù)字孿生 3D 風(fēng)電場可視化系統(tǒng)實現(xiàn)解析

    了數(shù)字孿生 3D 風(fēng)電場可視化系統(tǒng),實現(xiàn)了風(fēng)電場全場景的遠程監(jiān)測、智能巡檢與數(shù)字化管理。本文從技術(shù)角度出發(fā),結(jié)合系統(tǒng)功能模塊,深入解析各核心功能的實現(xiàn)邏輯與技術(shù)路徑。 系統(tǒng)以 HT f
    的頭像 發(fā)表于 01-09 15:35 ?595次閱讀
    基于<b class='flag-5'>圖</b><b class='flag-5'>撲</b> HT 數(shù)字孿生 <b class='flag-5'>3D</b> 風(fēng)電場可視化系統(tǒng)<b class='flag-5'>實現(xiàn)</b>解析

    常見3D打印材料介紹及應(yīng)用場景分析

    3D打印材料種類豐富,不同材料性能差異明顯。本文介紹PLA、ABS、PETG等常見3D打印材料的特點與應(yīng)用場景,幫助讀者了解3D打印用什么材料更合適,為選材提供基礎(chǔ)參考。
    的頭像 發(fā)表于 12-29 14:52 ?950次閱讀
    常見<b class='flag-5'>3D</b>打印材料介紹及應(yīng)用<b class='flag-5'>場景</b>分析

    智慧汽車展示平臺全自研技術(shù)方案

    ,為車企提供從研發(fā)設(shè)計到市場推廣的一站式可視化解決方案,同時為消費者構(gòu)建沉浸式產(chǎn)品認知場景。 平臺整體基于軟件自主研發(fā)的 HT for Web 技術(shù)體系構(gòu)建,核心覆蓋二三維協(xié)同設(shè)計
    的頭像 發(fā)表于 11-21 15:16 ?350次閱讀
    <b class='flag-5'>圖</b><b class='flag-5'>撲</b>智慧汽車展示平臺全自研技術(shù)方案

    邀您相聚 2025 國家工業(yè)軟件大會

    軟件核心技術(shù)攻關(guān)成果、企業(yè)需求與生態(tài)體系、應(yīng)用場景拓展等關(guān)鍵議題展開深入交流。 作為國內(nèi)外領(lǐng)先的 2D3D 數(shù)據(jù)可視化前端圖形技術(shù)解決方案供應(yīng)商 ,將在 A05 展位 全面展示自
    的頭像 發(fā)表于 09-24 15:34 ?568次閱讀
    <b class='flag-5'>圖</b><b class='flag-5'>撲</b>邀您相聚 2025 國家工業(yè)<b class='flag-5'>軟件</b>大會

    玩轉(zhuǎn) KiCad 3D模型的使用

    時間都在與 2D 的焊盤、走線和絲印打交道。但一個完整的產(chǎn)品,終究是要走向物理世界的。元器件的高度、接插件的朝向、與外殼的配合,這些都是 2D 視圖難以表達的。 幸運的是,KiCad 提供了強大的 3D 可視化功能。它不僅能讓你
    的頭像 發(fā)表于 09-16 19:21 ?1.2w次閱讀
    玩轉(zhuǎn) KiCad <b class='flag-5'>3D</b>模型的使用

    iTOF技術(shù),多樣化的3D視覺應(yīng)用

    視覺傳感器對于機器信息獲取至關(guān)重要,正在從二維(2D)發(fā)展到三維(3D),在某些方面模仿并超越人類的視覺能力,從而推動創(chuàng)新應(yīng)用。3D 視覺解決方案大致分為立體視覺、結(jié)構(gòu)光和飛行時間 (TOF) 技術(shù)
    發(fā)表于 09-05 07:24

    基于 HT 的 3D 可視化智慧礦山開發(fā)實現(xiàn)

    軟件 Hightopo 作為基于 HTML5 標準的 2D/3D 圖形渲染引擎,為 Web 端礦山可視化提供了輕量化、高性能的技術(shù)支撐。
    的頭像 發(fā)表于 07-18 15:49 ?851次閱讀
    基于 HT 的 <b class='flag-5'>3D</b> 可視化智慧礦山開發(fā)<b class='flag-5'>實現(xiàn)</b>

    軟件邀您相聚第二十屆中國國際中小企業(yè)博覽會

    作為國家級專精特新 “小巨人” 企業(yè),軟件將是本次中博會廈門展區(qū)的重要數(shù)字產(chǎn)品展示窗口。屆時將攜 Web 端的 UI、2D、3D、GIS
    的頭像 發(fā)表于 06-24 11:45 ?746次閱讀
    <b class='flag-5'>圖</b><b class='flag-5'>撲</b><b class='flag-5'>軟件</b>邀您相聚第二十屆中國國際中小企業(yè)博覽會

    TechWiz LCD 3D應(yīng)用:微液晶分子摩擦排布

    ) 結(jié)構(gòu)創(chuàng)建完成后在TechWiz LCD 3D加載并進行相關(guān)參數(shù)設(shè)置 2.2在TechWiz LCD 3D軟件中設(shè)置微擾方式為用戶自定義,并設(shè)置微擾角度 2.3其它設(shè)置 此例
    發(fā)表于 06-10 08:44

    TechWiz LCD 3D應(yīng)用:撓曲電效用仿真

    完成后在TechWiz LCD 3D加載并進行相關(guān)參數(shù)設(shè)置 2.2在TechWiz LCD 3D軟件中開啟應(yīng)用撓曲電效應(yīng)的功能 2.3其它設(shè)置 液晶設(shè)置 電壓條件設(shè)置 光學(xué)分
    發(fā)表于 05-14 08:55
    鄢陵县| 阿鲁科尔沁旗| 枣强县| 银川市| 肇州县| 祁门县| 怀化市| 淮滨县| 南漳县| 松桃| 泸定县| 克什克腾旗| 九寨沟县| 荣昌县| 神农架林区| 衡东县| 陇川县| 阿尔山市| 石景山区| 竹山县| 昆明市| 句容市| 贡觉县| 中阳县| 商丘市| 澜沧| 澎湖县| 抚松县| 蓝山县| 阿克| 通河县| 开化县| 铜鼓县| 济南市| 宜春市| 通许县| 胶南市| 仁布县| 黄骅市| 聂荣县| 吴江市|