色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

HT for Web (Hightopo) 3D場景環境配置(天空球,霧化,輝光,景深)

圖撲-數字孿生 ? 來源:圖撲-數字孿生 ? 作者:圖撲-數字孿生 ? 2023-12-07 11:07 ? 次閱讀

具體涉及到的知識點如下:

天空球

霧化

輝光

景深

這是最終效果:

天空球:

天空球(SkyBox)簡單來說,就是用來在3D場景中模擬藍天白云的效果。它是一個球形網格,完全包圍3D場景,并填充了一張環形紋理作為天空背景。紋理通常是一個天空的全景圖(例如星空、日落、云層等),通過在球形網格的表面上將紋理映射,呈現出一個連續的、無縫的天空效果。

在 HT for Web中,天空球可以通過g3d.setSkybox(node)來實現。需要注意的是,這里的node是ht.Node類型的節點,該節點當作天空球來用時,不會出現在dataModel列表當中。

/**
* 設置天空球
*
* @memberof Index3d
*/
addSkybox() {
const node = this.skybox = new ht.Node();
node.s({
"shape3d": "sphere",
"shape3d.image": "./assets/skybox.jpg",
});
this.g3d.setSkybox(node);
}

下面兩張圖片分別是設置天空球與未設置天空球的效果:

wKgZomVxNvuAPG4wABKf0cOZyF0177.pngwKgaomVxNvyAYD14ABSbykVIEUQ279.png

當然,我們也可以將藍天白云換成夜間圖片:

this.skybox.setStyle("shape3d.image", "./assets/skybox_dark.jpg");
wKgZomVxNv2AIf0vABmQvfHz_hI740.png

霧化:

霧化是一種常用的 3D 場景效果,可以讓場景中的物體在遠離攝像機的距離時變得模糊,像有一層白霧遮擋,從而增加深度感和真實感。在 HT 中,霧化效果可以通過設置場景的霧化屬性來實現,代碼如下:

/**
* 霧化
*
* @memberof Index3d
*/
addFog() {
this.g3d.setFogDisabled(false);
this.g3d.setFogMode('linear'); // 線性模式
this.g3d.setFogFar(30000);
// this.g3d.setFogMode('exp2'); // 標準模式
// this.g3d.setFogDensity(0.00007); // 濃度
this.g3d.setFogColor('green'); // 設置霧的顏色
}

霧化分為兩種模式:線性模式和標準模式。

[線性模式]

線性模式下支持設置近端距離和遠端距離,

近端距離:默認為1,代表從該距離起物體開始受霧效果影響,可通過setFogNear設置霧化近端距離、getFogNear獲取霧化近端距離。

遠端距離:默認為2000,代表從該距離之后物體完全看不清, 可通過setFogFar設置霧化遠端距離、getFogFar獲取霧化遠端距離。

wKgaomVxNv6AfY3VABWkjQ72jOY603.png

[標準模式]

標準模式下霧化效果則會自動調整霧化效果,在該模式下,可通過setFogDensity設置霧化強度來調整霧化的效果, getFogDensity可以獲取到霧化強度。

wKgZomVxNv-Ac-m8ABTJwEotiM8064.png

另外,我們還可通過g3d.setFogColor(color)設置霧化效果的顏色:

wKgZomVxNwCALw8bABU-42xYRuQ213.png

輝光:

輝光是一種用于增強場景中元素外觀和吸引力的視覺效果,其主要實現的是讓各個模型進行自發光。常用于如夜景中燈光、道路流光等元素。

wKgaomVxNwGANbr7AAJppVJqK8I815.png

在HT中,可通過 g3d.enablePostProcessing('Bloom', true/false) 開啟/關閉整個場景的輝光效果:

/**
* 開啟輝光
*
* @memberof Index3d
*/
enableBloom() {
const {g3d} = this;
g3d.enablePostProcessing("Bloom", true); // 開啟輝光
const module = this.bloom = g3d.getPostProcessingModule("Bloom");
module.strength = 0.4; // 強度
module.threshold = 0.33; // 閾值
module.radius = 0.08; //范圍
g3d.setPostProcessingValue('Bloom', 'selective', true); // 開啟輝光過濾
g3d.iv(); // 刷新拓撲
}
disableBloom() {
this.g3d.enablePostProcessing("Bloom", false); // 關閉輝光
}
// 為直升機單獨使用輝光效果
this.helicopterNode.s('bloom', true);

this.propellerNode.s('bloom', true);

其中,enablePostProcessing('Bloom', true)表示開啟 Bloom 效果;strength表示自發光亮度的強弱;threshold表示決定哪些顏色會發光;radius表示發光的范圍。在代碼的后半段,我們單獨為直升機和螺旋槳開啟了輝光效果。

wKgZomVxNwKACvh2ABS0j0KPhzg696.png

景深:

景深(Depth of Field)可以用來突出畫面中的主體元素。我們用單反相機或手機進行拍攝時,利用景深原理,通過聚焦到某一物體,可以使周圍環境變得模糊,從而突出主要元素。就像下圖一樣:

如果要對于一個3D場景設置景深效果,在 HT 中,景深效果是使用特殊的貼圖來模擬的。景深貼圖一般使用黑色的透明png貼圖實現,黑色部分為受景深影響的范圍,透明部分不受景深影響。通過使用不同的景深貼圖及參數,可以模擬出與現實一樣的景深效果。

wKgZomVxNwSACMwZAAtAbPJ9omQ909.png

具體開啟和配置景深的代碼如下:

/**
* 開啟景深
*
* @memberof Index3d
*/
enableDof() {
const {g3d} = this;
g3d.enablePostProcessing("Dof", true); // 開啟景深
const module = this.dof = g3d.getPostProcessingModule("Dof");
module.aperture = 0.01; // 景深閥值
module.image = "./assets/dof_all.png"; // 景深貼圖
g3d.iv(); // 刷新拓撲
}
disableDof() {
this.g3d.enablePostProcessing("Dof", false); // 關閉景深
}

其中,enablePostProcessing('Dof', true)表示開啟景深效果;aperture表示孔徑,代表中間空白區域的大小,取值范圍是 0 ~ 1,0 代表沒有景深效果,1 代表景深效果最明顯;image表示景深使用的貼圖。

背景音樂

背景音樂不屬于3D可視化的范圍。不過既然有了直升機和相關場景,增加一個直升機飛行的聲音可以讓場景更加逼真。

/**
* 初始化螺旋槳旋轉聲音
*
* @memberof Index3d
*/
initAudio() {
this._audio = new Audio("./assets/helicopter.MP3");
this._audio.loop = true; // 循環播放
}

要播放音樂可以使用Audio。這里我們只需要找到一個螺旋槳的音頻,然后對Audio進行初始化及簡單配置,就可以在場景加載后循環播放直升機的聲音。

需要注意的是,目前瀏覽器對于音頻自動播放有限制,即不允許在用戶沒有交互的情況下自動播放音頻文件。如果我們執行了playAudio(),在console里面會遇到這個錯誤:

Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.

要解決這個問題,我們可以在系統中增加一個監聽函數,監聽到某些事件后進行音頻播放。常見的事件有如:

觸摸事件:touchstart、touchmove、touchend、touchcancel

鼠標事件:mousedown、mouseup、click、dblclick、mousemove、mouseenter、mouseleave、mouseover、mouseout

鍵盤事件:keydown、keyup、keypress

/**
* 監聽Document事件并播放音樂
*
* @memberof Index3d
*/
addEventMonitor() {
document.addEventListener("click", (event) => {
this._audio.play();
});
document.addEventListener("keydown", (event) => {
this._audio.play();
});
}

總結

作為一款國產自研圖形渲染引擎,HT for Web對3D場景的各自效果支持還是非常強大的。在3D場景(Graph3dView)中,可以通過設置天空球、霧化、輝光和景深等特效來增強場景的逼真度和美觀度。其中,天空球可以通過設置ht.Node類型的節點來實現,霧化可以通過設置場景的霧化屬性來實現,輝光可以使用g3d.enablePostProcessing()方法來實現,景深可以使用特殊的貼圖來模擬。此外,為了讓場景更加逼真,還可以根據需要添加背景音樂。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 3D
    3D
    +關注

    關注

    9

    文章

    2910

    瀏覽量

    107799
  • 數字孿生
    +關注

    關注

    4

    文章

    1342

    瀏覽量

    12316
收藏 人收藏

    評論

    相關推薦

    如何使用javascript制作一個網頁端3D貪吃蛇游戲(附源碼)

    = null;dm = new ht.DataModel();g3d = new ht.graph3d.Graph3dView(dm); // 初始化一個3d
    的頭像 發表于 09-01 12:05 ?4149次閱讀
    如何使用javascript制作一個網頁端<b class='flag-5'>3D</b>貪吃蛇游戲(附源碼)

    HT for Web (Hightopo) 使用心得(1)- 基本概念

    本章主要介紹了 HT for Web 中的一些基本概念,包括:基礎數據 ht.Data、數據模型 ht.DataModel 和選擇模型 ht
    的頭像 發表于 09-11 10:45 ?1139次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (<b class='flag-5'>Hightopo</b>) 使用心得(1)- 基本概念

    HT for Web (Hightopo) 使用心得(4)- 3D 場景 Graph3dView 與 Obj 模型

    這里我們通過代碼建立一個 3D 場景并添加一個 Obj 模型來介紹一下 HT for Web3D
    的頭像 發表于 11-20 11:05 ?836次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (<b class='flag-5'>Hightopo</b>) 使用心得(4)- <b class='flag-5'>3D</b> <b class='flag-5'>場景</b> Graph<b class='flag-5'>3</b>dView 與 Obj 模型

    輝光資料

    看到實驗室的輝光很炫,想了解一下關于輝光的知識及制作方法。不知道那位大神有資料給分享一下{:3:}
    發表于 04-08 13:29

    3D OM顯微鏡應用范圍

    (3D Optical microscope)具有高景深、大景深、傾斜角度檢測優勢和先進的量測功能,iST宜特檢測可針對各種不同高度的待測物體,進行多角度的全面對焦,并獲得清晰的影像進行觀察。適合進行
    發表于 01-11 14:57

    3D打印技術的核心與氣霧化技術的介紹

    本文主要介紹了3D打印用金屬粉末制備技術發展現狀;氣霧化技術發展現狀、超聲氣霧化技術等等。
    發表于 10-01 10:44 ?21次下載
    <b class='flag-5'>3D</b>打印技術的核心與氣<b class='flag-5'>霧化</b>技術的介紹

    Lucid的3D融合技術實現攝像頭設備仿人類視覺3D景深識別

    設備制造商現在可以利用Lucid的核心軟件解決方案,在簡單的雙攝像頭設備上實現仿人類視覺的高精度3D景深識別。
    的頭像 發表于 07-27 17:18 ?7503次閱讀

    如何使用一種形式化方法的3D虛擬祭祀場景建模語言與環境

    針對現有三維(3D場景建模方法普遍存在著業務耦合度高,復雜場景對象屬性和特征描述能力不強、不豐富,不能很好地解決3D虛擬祭祀場景建模的問題
    發表于 01-02 14:13 ?9次下載
    如何使用一種形式化方法的<b class='flag-5'>3D</b>虛擬祭祀<b class='flag-5'>場景</b>建模語言與<b class='flag-5'>環境</b>

    運用HT豐富的2/3D組態搭建出北京大興機場3D可視化

    機場,甚至交通和旅游業關注。大興機場建設了全球機場最引人注目的理論和技術創新,以數字化升級為智慧機場樣板工程。 HT for Web 自主研發了強大的基于 HTML5 的 2D/3D
    的頭像 發表于 11-04 11:46 ?3399次閱讀

    ?3D電子圍欄搭建的小方法,使安防運維效率大幅提高

    HT for Web 產品來構造輕量化的 3D 可視化場景,該 3D 場景從正面展示了一個
    的頭像 發表于 12-14 11:33 ?1678次閱讀

    VR全景看房3D場景的制作方法

    技術構建的VR房地產展示VR全景看房3D場景可視化制作解決方案,創建3D虛擬現實世界體驗的展示,運用先進技術生成的一種模擬環境多信息化融合、交互式的三維動態
    發表于 04-23 10:21 ?9985次閱讀

    HT for Web (Hightopo) 使用心得(2)- 2D 圖紙、節點、連線 與基本動畫

    概括來說,用 HT for Web 做可視化主要分為兩部分,也就是 2D3D。這兩部分需要單獨創建。在它們被創建完成后,我們再把它們集成到一起。
    的頭像 發表于 09-21 10:52 ?946次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (<b class='flag-5'>Hightopo</b>) 使用心得(2)- 2<b class='flag-5'>D</b> 圖紙、節點、連線 與基本動畫

    圖撲 HT for Web 風格屬性手冊教程

    圖撲軟件明星產品 HT for Web 是一套純國產化獨立自主研發的 2D3D 圖形界面可視化引擎。HT for
    的頭像 發表于 10-11 10:50 ?590次閱讀
    圖撲 <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> 風格屬性手冊教程

    HT for Web (Hightopo) 使用心得(5)- 動畫的實現

    的相關概念請參考《Hightopo 使用心得(4)- 3D 場景 Graph3dView 與 Obj 模型》。 這里的主要工作分為:3D
    的頭像 發表于 11-29 11:04 ?858次閱讀
    <b class='flag-5'>HT</b> for <b class='flag-5'>Web</b> (<b class='flag-5'>Hightopo</b>) 使用心得(5)- 動畫的實現

    3D ToF三維場景距離(景深)測量系統簡介

    電子發燒友網站提供《3D ToF三維場景距離(景深)測量系統簡介.pdf》資料免費下載
    發表于 09-29 10:55 ?0次下載
    <b class='flag-5'>3D</b> ToF三維<b class='flag-5'>場景</b>距離(<b class='flag-5'>景深</b>)測量系統簡介
    主站蜘蛛池模板: 免费观看亚洲视频 | 日韩亚洲国产中文字幕欧美 | 国产私拍福利精品视频 | 国产剧情福利AV一区二区 | 亚洲 自拍 欧洲 视频二区 | 97干97吻| 国产人妻人伦精品久久久 | 欧美亚洲曰韩一本道 | 99热这里只有精品 | avove主播| 好男人资源免费观看1 | 日本国产精品无码一区免费看 | 亚洲精品国产精品精 | 国产精品久久大陆 | 最新无码国产在线视频 | 色噜噜视频影院 | 国产成人免费高清在线观看 | 99亚洲精品色情无码久久 | 亚洲视频网站欧美视频网站 | 婷婷久久无码欧美人妻 | 777久久人妻少妇嫩草AV | 极品虎白在线观看 | 99re久久超碰视频精品 | 欧美精品华人在线 | 99国内精精品久久久久久婷婷 | 国产无遮挡又黄又爽在线视频 | 少妇人妻偷人精品视蜜桃 | 久久er国产精品免费观看2 | 秋霞午夜一级理论片久久 | 亚洲综合中文字幕无线码 | 动漫人物差差差30分钟免费看 | 国产精品99亚发布 | 福利一区福利二区 | 国产又爽又黄又不遮挡视频 | 亚洲精品理论电影在线观看 | 亚洲 自拍 清纯 综合图区 | 袖珍人与大黑人性视频 | 大桥未久电影在线观看 | 一本色道久久88加勒比—综合 | 亚在线观看免费视频入口 | 国产成人免费片在线观看 |