国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果

這篇具有很好參考價(jià)值的文章主要介紹了WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

上文 WEB 3D技術(shù) three.js 3D賀卡(1) 搭建基本項(xiàng)目環(huán)境 我們簡(jiǎn)單搭了一個(gè)賀卡雛形
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
然后 我們要引入一個(gè)hdr的一個(gè)天空的效果 所以 我們需要在代碼中導(dǎo)入 RGBELoader

//導(dǎo)入 RGBELoader hdr工具
import { RGBELoader } from "three/examples/jsm/loaders/RGBELoader";

這里 大家可以選擇下載我的hdr資源
WEB 3D技術(shù) three.js 3D賀卡 天空 hdr資源
下載好之后呢 我們?cè)谕饷嫣滓粋€(gè) xhdr 文件夾 然后 放進(jìn)public靜態(tài)資源目錄下
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
然后 我們找個(gè)位置 加入一下這段代碼

//添加背景貼圖
let rgbeloader = new RGBELoader();
rgbeloader.load("/xhdr/xidis.hdr",(texture) =>{
    texture.mapping = THREE.EquirectangularReflectionMapping;
    scene.background = texture;
    scene.environment = texture;
})

導(dǎo)入一下 hdr 資源
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
運(yùn)行結(jié)果如下
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
我們外面的背景就出來(lái)了

然后 我們?cè)阡秩酒?下面加入代碼

//設(shè)置背景映射
renderer.toneMapping = THREE.ACESFilmicToneMapping;
//調(diào)整亮度
renderer.toneMappingExposure = 0.5;

toneMappingExposure 調(diào)整亮度 它默認(rèn)是 1 值是 0到1
這里 我們給 0.5 明顯就會(huì)稍微暗一點(diǎn)
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
接下來(lái) 我們來(lái)設(shè)置一下水文

然后 這里 我們?cè)?glb 加載的位置 將 traverse 每次遍歷的 對(duì)象 子元素 輸出出來(lái)
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
運(yùn)行代碼然后看控制臺(tái)
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
控制臺(tái)輸出的就是這個(gè)對(duì)象中全部的內(nèi)容

然后 我們這個(gè)模型中 地面的name 叫 Plane 這個(gè)每個(gè)模型人家設(shè)計(jì)的可能都不一樣
我們編寫

gltfLoader.load(
    // 模型路徑
    "/model/scene.glb",
    // 加較完成同調(diào)
    (gltf) =>{
        gltf.scene.traverse((child) => {
            if (child.name === "Plane"){
              child.visible = false;
            }
            if (child.isMesh) {
                child.frustumCulled = false;
                child.castShadow = true;
                child.material.emissive = child.material.color;
                child.material.emissiveMap = child.material.map;
            }
        });
        scene.add(gltf.scene);
    }
)

將name 等于 Plane 的 給他隱藏掉 visible 給false

然后 我們模型中 白色的一片地面就沒(méi)有了
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
這里 我們要引入一下依賴

import{ Water } from "three/examples/jsm/objects/Water2";

我們加入如下代碼

//添加水文
const waterGeometry = new THREE.CircleGeometry(300, 32);
const water = new Water(waterGeometry,{
  textureWidth: 1024,
  textureHeight: 1024,
  color: 0x00ffff,
  flowDirection: new THREE.Vector2(1, 1),
  scale: 100
})
scene.add(water);

但是運(yùn)行之后 我們會(huì)驚奇的發(fā)現(xiàn) 這個(gè)水 跑到我們整個(gè)場(chǎng)景的 中間去了
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
我們把他角度旋轉(zhuǎn)過(guò)來(lái)
設(shè)置rotation屬性 旋轉(zhuǎn) 90度

water.rotation.x = -Math .PI / 2;

WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript

我們這個(gè)水就躺下去了
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
然后 我們?cè)阡秩酒骱竺?加上

renderer.outputEncoding = THREE.sRGBEncoding;

紋理映射
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript
整個(gè)水的顏色 也會(huì)自然很多
WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果,前端,3d,javascript文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-801030.html

到了這里,關(guān)于WEB 3D技術(shù) three.js 3D賀卡(2) 加入天空與水面效果的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • web上構(gòu)建3d效果 基于three.js的實(shí)例

    web上構(gòu)建3d效果 基于three.js的實(shí)例

    web頁(yè)面上提供3D效果,可以為頁(yè)面提供不少色彩,H5之后canvas 為webgl提供了基礎(chǔ),使得在web頁(yè)面使用JS也能寫出3D的效果,其中three.js作為封裝了圖形函數(shù) 的框架,為入門提供了方便,效果圖如下。 ? 以上是官方例子中其中的三個(gè),沒(méi)接觸過(guò)的朋友肯定會(huì)覺(jué)得很神奇,事實(shí)上

    2024年02月05日
    瀏覽(88)
  • WEB 3D技術(shù) three.js 點(diǎn)光源

    WEB 3D技術(shù) three.js 點(diǎn)光源

    本文的話 我們來(lái)設(shè)置一下點(diǎn)光源 點(diǎn)光源其實(shí)最直觀的就是可以做螢火蟲 也可以做星光 點(diǎn)點(diǎn)的效果 我們可以直接在官網(wǎng)中搜索 Pointlight 大家可以在官網(wǎng)這里看一下 其實(shí) SpotLight 聚關(guān)燈中的屬性 Pointlight 點(diǎn)光源也有的 我們先編寫代碼如下 PointLight 創(chuàng)建一個(gè)點(diǎn)光源 這里我們給了

    2024年01月19日
    瀏覽(92)
  • WEB 3D技術(shù) three.js 陰影屬性

    WEB 3D技術(shù) three.js 陰影屬性

    上文 WEB 3D技術(shù) three.js 光照與陰影 我們說(shuō)了陰影 那么 我們繼續(xù)將陰影的屬性 目前 我們的代碼 目前陰影效果是這樣的 我們可以設(shè)置它的一個(gè)模糊度 我們官網(wǎng)搜索 LightShadow 下面找到 radius 模糊度的一個(gè)屬性 這里 我們可以 設(shè)置 20 的一個(gè)模糊度 運(yùn)行代碼 然后看我們的模糊度

    2024年01月22日
    瀏覽(85)
  • WEB 3D技術(shù) three.js 聚光燈

    WEB 3D技術(shù) three.js 聚光燈

    本文 我們來(lái)說(shuō)說(shuō) 點(diǎn)光源和聚光燈 點(diǎn)光源 就像一個(gè)電燈泡一樣 想四周發(fā)散光 而聚光燈就像手電筒一樣 像一個(gè)方向射過(guò)去 距離越遠(yuǎn)范圍越大 光越弱 我們先來(lái)看一個(gè)聚光燈的效果 我們可以編寫代碼如下 SpotLight 聚光燈 然后通過(guò) position 設(shè)置一下光的位置 運(yùn)行代碼如下 目前看

    2024年01月21日
    瀏覽(96)
  • WEB 3D技術(shù) three.js draco解壓器 解決 壓縮后的gltf/glb報(bào)錯(cuò) Error: THREE.GLTFLoader: No DRACOLoader instance pravid

    WEB 3D技術(shù) three.js draco解壓器 解決 壓縮后的gltf/glb報(bào)錯(cuò) Error: THREE.GLTFLoader: No DRACOLoader instance pravid

    通常 我們 glb/gltf里面都是非常大的場(chǎng)景 有些工具 它會(huì)因?yàn)檫^(guò)大做了壓縮 導(dǎo)致 我們開(kāi)始是用不了的 我們可以官網(wǎng)搜索 draco 如下圖選擇 這是個(gè)解壓工具 用在我們各種的3D建模軟件中 大部分是通用的 我們先在代碼中導(dǎo)入工具 我們?cè)陧?xiàng)目根目錄中 找到 node_modules下的 three 然后

    2024年04月16日
    瀏覽(95)
  • Three.js中的3D文字效果

    Three.js中的3D文字效果

    對(duì)于一些設(shè)計(jì)網(wǎng)頁(yè)中經(jīng)常會(huì)出現(xiàn)一些3D的文字效果,本文將利用Three.js實(shí)現(xiàn)各種動(dòng)畫WebGL文本輸入效果。 示例效果 原文章 通常情況下,文本網(wǎng)格是2D的平面形狀,我們所要實(shí)現(xiàn)的3D文本形狀則是要在2D的平面下,再生成z值形成一個(gè)立體的效果。 首先,我們創(chuàng)建一個(gè)canvas元素,

    2024年02月02日
    瀏覽(22)
  • Three.js--》實(shí)現(xiàn)3D汽車展廳效果展示

    Three.js--》實(shí)現(xiàn)3D汽車展廳效果展示

    目錄 項(xiàng)目搭建 初始化three.js基礎(chǔ)代碼 加載汽車模型 設(shè)置展廳效果 設(shè)置GUI面板動(dòng)態(tài)控制車身操作 車門操作與車身視角展示 設(shè)置手動(dòng)點(diǎn)擊打開(kāi)關(guān)閉車門 設(shè)置圖片背景 今天簡(jiǎn)單實(shí)現(xiàn)一個(gè)three.js的小Demo,加強(qiáng)自己對(duì)three知識(shí)的掌握與學(xué)習(xí),只有在項(xiàng)目中才能靈活將所學(xué)知識(shí)運(yùn)用起

    2024年02月09日
    瀏覽(92)
  • Three.js--》實(shí)現(xiàn)圖片轉(zhuǎn)3D效果展示

    Three.js--》實(shí)現(xiàn)圖片轉(zhuǎn)3D效果展示

    目錄 項(xiàng)目搭建 初始化three.js基礎(chǔ)代碼 加載圖片紋理 設(shè)置著色器 今天簡(jiǎn)單實(shí)現(xiàn)一個(gè)three.js的小Demo,加強(qiáng)自己對(duì)three知識(shí)的掌握與學(xué)習(xí),只有在項(xiàng)目中才能靈活將所學(xué)知識(shí)運(yùn)用起來(lái),話不多說(shuō)直接開(kāi)始。 項(xiàng)目搭建 本案例還是借助框架書寫three項(xiàng)目,借用vite構(gòu)建工具搭建vue項(xiàng)目

    2024年02月08日
    瀏覽(88)
  • vue 項(xiàng)目使用three.js 實(shí)現(xiàn)3D看房效果

    vue 項(xiàng)目使用three.js 實(shí)現(xiàn)3D看房效果

    0.前言 該教程能幫助直接寫出vue項(xiàng)目的3D看房效果?。?! 先上效果圖 1.安裝依賴 2.vue代碼 這里文件名為three.vue 代碼非原創(chuàng),出處 vue3+threejs實(shí)現(xiàn)全景看房 (異步加載 BOLLROOM 部件為對(duì)原代碼的修改) 注意這里的hdr 文件必須要放在assets文件夾中,且要通過(guò)import模塊的形式導(dǎo)入!

    2024年02月13日
    瀏覽(94)
  • vue2+three.js實(shí)現(xiàn)類似VR、3D全景效果

    vue2+three.js實(shí)現(xiàn)類似VR、3D全景效果

    效果圖: 倆圖標(biāo)是我自己加的前進(jìn)后退按鈕,也是百度了好久,再加上GPT的幫助,才給搞出來(lái)。因?yàn)樾枨蠹保疾豢垂俜轿臋n,百度到一個(gè)能跑的demo之后改吧改吧,就先用著了。 下面是代碼: 這里 代碼有很多用不到的地方和需要優(yōu)化的地方,我是來(lái)不及改了,就先這樣吧

    2024年02月15日
    瀏覽(87)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包