精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一個神庫!在 Vue3 中實現 "大氣散射" 特效!

開發 前端
@takram/three-atmosphere 真的是個超棒的工具,有了它,在 Vue3 里實現超炫的大氣層渲染特效就不再是夢啦!大家趕緊試試吧,肯定能讓你的項目靚到起飛!

哈嘍,大家好!今天我得給大家分享一個超厲害的技巧,在 Vue3 里實現超炫的大氣層渲染、大氣散射特效!

這效果一出來,直接讓咱們的 3D 場景逼格滿滿,就跟打開了新世界的大門一樣。

先給大家介紹個神器——@takram/three-atmosphere。

這玩意兒是個專門搞大氣散射效果的庫,簡單來說,就是能把天空那種光影變化、太陽月亮的光照方向都模擬出來,讓咱們的 3D 場景看起來就跟真的一樣。

探秘 @takram/three-atmosphere

@takram/three-atmosphere 是基于 Three.js 與 R3F(React Three Fiber)精心打造的預計算大氣散射實現庫,它源于 Eric Bruneton 的深厚理論,專為 Web GIS 引擎渲染原型而生。

其本質是模擬大氣對光線的散射,涵蓋了太陽和月亮的光照方向、天空顏色漸變以及云層等自然現象,讓 3D 場景得以沉浸在逼真的天空之下。

主要特性

  • 預計算大氣散射 :可模擬大氣的光照和散射效果,適用于大規模場景的天空渲染和光影效果模擬。
  • 支持多種光照模式 :提供延遲光照和前向光照兩種模式。延遲光照適合大規模場景,但僅支持 Lambertian BRDF;前向光照與 Three.js 內置材質和陰影兼容,但更適合小規模場景。
  • 豐富的組件和功能 :包含 Atmosphere、Sky、Stars、SkyLight、SunLight、AerialPerspective 等 R3F 組件,以及 AtmosphereMaterialBase、SkyMaterial、StarsMaterial、SkyLightProbe、SunDirectionalLight、AerialPerspectiveEffect 等 Three.js 材質和效果類。

接下來,咱們看看在 Vue3 里怎么用這個神器。

安裝

第一步,得先把庫裝上。在項目里打開終端,敲上

npm install @takram/three-atmosphere three postprocessing`

把 @takram/three-atmosphere、three 和 postprocessing 這幾個庫都裝好。

創建 Vue 組件

接著,新建個 Vue 組件,比如叫 AtmosphereDemo.vue。

搭建基本結構

先寫個最簡單的模板,給咱們的 3D 場景留個位置。

<template>
  <div ref="containerRef" class="container"></div>
</template>

<script setup>
import { ref, onMounted } from 'vue'
const containerRef = ref(null)
onMounted(() => {
  // 后面的代碼都放這兒
})
</script>

<style scoped>
.container {
  width: 100%;
  height: 100vh;
}
</style>

初始化場景、相機和渲染器

在 onMounted 里,先用 Three.js 的基本元素把一個簡單的 3D 空間搭起來。

const container = containerRef.value
const width = container.clientWidth
const height = container.clientHeight

// 創建場景
const scene = new THREE.Scene()

// 創建相機
const camera = new THREE.PerspectiveCamera(75, width / height, 0.1, 1000)
camera.position.z = 10

// 創建渲染器
const renderer = new THREE.WebGLRenderer({ antialias: true })
renderer.setSize(width, height)
container.appendChild(renderer.domElement)

這就相當于給咱們的 3D 場景搭建好了 “舞臺”,有了展示的空間。

加載預計算紋理

然后,用 PrecomputedTexturesLoader 把預計算紋理加載進來,這玩意兒可是讓場景真實的關鍵。這紋理文件就像是給天空加上真實光影的貼圖。

import { PrecomputedTexturesLoader } from '@takram/three-atmosphere'

const precomputedTexturesLoader = new PrecomputedTexturesLoader()
precomputedTexturesLoader.load(
  '/assets', // 紋理目錄路徑,需根據實際項目結構設置
  (progress) => {
    console.log('Loading:', progress)
  }
)

創建大氣層效果

接下來,把 Atmosphere 實例化,開啟大氣效果,這就相當于把整個天空的光影變化效果給啟動起來。

import { Atmosphere } from '@takram/three-atmosphere/three'

const atmosphere = new Atmosphere()
atmosphere.date = new Date()

添加天空組件

再把 Sky、SkyLight、SunLight 這些組件加進去,分別模擬天空、天空光照和太陽光照。這就讓咱們的場景有了天空的顏色和光照。

import { Sky, SkyLight, SunLight } from'@takram/three-atmosphere/three'

// 添加天空
const sky = new Sky()
sky.frustumCulled = false
scene.add(sky)

// 添加天空光照
const skyLight = new SkyLight()
skyLight.position.set(0, 0, 0)
scene.add(skyLight)

// 添加太陽光照
const sunLight = new SunLight()
sunLight.target.position.set(0, 0, 0)
scene.add(sunLight)
scene.add(sunLight.target)

創建渲染通道

最后,搞個渲染通道,用 EffectComposer 把 AerialPerspectiveEffect 和 ToneMappingEffect 都加上,這倆組合起來,畫面效果直接拉滿。

import { AerialPerspectiveEffect } from'@takram/three-atmosphere/three'

const aerialPerspective = new AerialPerspectiveEffect(camera)

const composer = new THREE.EffectComposer(renderer, {
frameBufferType: THREE.HalfFloatType
})
composer.addPass(new THREE.RenderPass(scene, camera))
composer.addPass(
new THREE.EffectPass(
    camera,
    aerialPerspective,
    new THREE.ToneMappingEffect({ mode: THREE.AGXMode })
  )
)

設置窗口大小調整和動畫循環

為了讓畫面能隨著窗口大小調整,并且能動態更新,再加上窗口大小調整事件監聽和動畫循環。

// 窗口大小調整事件監聽
window.addEventListener('resize', () => {
  camera.aspect = container.clientWidth / container.clientHeight
  camera.updateProjectionMatrix()
  renderer.setSize(container.clientWidth, container.clientHeight)
})

// 動畫循環
function animate() {
  requestAnimationFrame(animate)
const date = newDate()
  atmosphere.updateByDate(date)
  renderer.render(scene, camera)
}
animate()

功能與限制

最后,給大家講講這玩意兒的功能和限制。它的功能很強大,能渲染天空、星星,計算天空和太陽的光照效果,還能通過日期更新太陽和月亮的方向。

不過呢,它也有點小限制,比如參考系固定為 ECEF 且不可配置,視角僅支持在大氣內層球體上方,大氣透視的 inscatter 項存在地平線偽影問題,未實現體積光束效果,主要針對地球大氣設計,對于其他行星的渲染有限制,目前基于 GLSL 實現,尚未支持 node-based TSL 和 WebGPU。

總之,這個 @takram/three-atmosphere 真的是個超棒的工具,有了它,在 Vue3 里實現超炫的大氣層渲染特效就不再是夢啦!大家趕緊試試吧,肯定能讓你的項目靚到起飛!

  • 更多參考案例:https://takram-design-engineering.github.io/three-geospatial/?path=/story/atmosphere-minimal-setup--minimal-setup
  • Github 地址:https://github.com/takram-design-engineering/three-geospatial
責任編輯:趙寧寧 來源: 前端開發愛好者
相關推薦

2024-08-12 08:33:05

2025-07-28 06:42:45

2025-09-30 12:00:00

Vue 3Hooks

2025-04-30 08:00:00

Vue3拖拽組件開發

2021-07-07 08:00:50

Vue3 router-linAppLink

2022-09-20 11:00:14

Vue3滾動組件

2022-03-08 13:23:38

Vue3抖音前端

2022-07-18 10:43:12

項目TienChinJava

2025-06-17 09:21:13

2022-11-01 11:55:27

ReactVue3

2021-09-12 17:23:57

canvas動畫函數

2024-03-21 08:34:49

Vue3WebSocketHTTP

2022-03-10 11:04:04

Vue3Canvas前端

2024-01-25 09:09:00

fsp幀數游戲

2021-12-02 05:50:35

Vue3 插件Vue應用

2024-04-08 07:28:27

PiniaVue3狀態管理庫

2021-12-01 08:11:44

Vue3 插件Vue應用

2024-07-30 08:59:22

2024-12-09 00:00:03

Vue3項目表單

2021-07-29 12:05:18

Vue3Api前端
點贊
收藏

51CTO技術棧公眾號

久久奇米777| 中文高清一区| 日韩欧美国产1| www.日本在线播放| 免费理论片在线观看播放老| 另类调教123区| 欧美激情xxxx性bbbb| 日本aaa视频| 久久精品九色| 色狠狠色狠狠综合| 黄色片免费在线观看视频| 亚洲 小说区 图片区 都市| 免费在线观看精品| 久久人人爽人人| 国产成人在线网址| 欧美日韩大片免费观看| 欧美日韩国产一级片| 少妇人妻大乳在线视频| 日本在线视频观看| 久久综合久久综合九色| 91九色精品视频| 伦av综合一区| 影音先锋久久精品| 久久精品中文字幕免费mv| 久久丫精品国产亚洲av不卡| 亚洲精品国产九九九| 欧美中文字幕不卡| 69堂免费视频| 日韩123区| 国产精品久久久久7777按摩| 你懂的网址一区二区三区| 亚洲成a人片77777精品| 精品系列免费在线观看| 国产999在线观看| 丰满少妇乱子伦精品看片| 午夜激情一区| 久久精品美女视频网站| 欧美一区二区三区粗大| 久久成人高清| 日韩精品视频在线免费观看| 男人网站在线观看| 中文字幕一区二区三区四区久久 | 国产在线视频综合| 欧美jizz18性欧美| 日本一区二区三区四区在线视频| 玛丽玛丽电影原版免费观看1977 | 日韩在线观看免费全| 精品国产无码在线观看| 欧美综合自拍| 精品亚洲永久免费精品 | 一级特黄aaa大片在线观看| 亚洲欧美日韩精品一区二区| 91超碰caoporn97人人| 国产精品111| 亚洲欧洲一级| 2019国产精品自在线拍国产不卡| 日韩精品一区二区av| 亚洲日本黄色| 欧美主播福利视频| 国产一区二区视频网站| 日韩中文字幕1| 欧美日韩亚洲丝袜制服| 人妻无码视频一区二区三区| 北岛玲heyzo一区二区| 欧美日韩一区二区在线| 少妇高潮喷水久久久久久久久久| 成人免费网站视频| 欧美影院精品一区| 三级一区二区三区| 日韩精品成人| 日韩国产欧美精品一区二区三区| 黄瓜视频污在线观看| 精品国产a一区二区三区v免费| 亚洲性xxxx| www.xx日本| 综合激情婷婷| 97在线精品国自产拍中文| 99热只有这里有精品| 天堂蜜桃91精品| 成人精品久久久| 精品国产无码一区二区| 成人av电影免费在线播放| 欧美国产一区二区在线| 1769在线观看| 亚洲综合精品久久| 99re在线视频免费观看| 日韩五码电影| 亚洲精品91美女久久久久久久| 国产精品一二三区在线观看| 久久精品国内一区二区三区水蜜桃 | 乱码一区二区三区| 亚洲伊人春色| 久久亚洲国产成人| 五月婷婷中文字幕| 精品午夜久久福利影院| 久久66热这里只有精品| 日韩大片在线永久免费观看网站| 亚洲综合激情网| 中文字幕欧美人妻精品一区| 日韩欧美中文在线观看| 亚洲人av在线影院| 免费在线一区二区三区| 日本中文字幕一区| 国内精品久久久久久久果冻传媒| 91社区在线观看| 欧美日韩色婷婷| 中文字幕在线观看日| 青青草久久爱| 欧美xxxx综合视频| 欧美性受xxx黑人xyx性爽| 白白色亚洲国产精品| 在线观看欧美激情| 久久青青视频| 亚洲精品福利在线| 一区二区三区四区五区| 日韩精品一区第一页| 国产精品一区二区三区在线观| 在线免费看黄网站| 欧美性生交xxxxxdddd| 在线成人精品视频| 日韩夫妻性生活xx| 日韩免费在线免费观看| 天天操天天操天天操| 一区二区三区加勒比av| 性生活免费在线观看| 欧美日韩xxxx| 欧美中文在线观看国产| 成人免费视频国产| 亚洲免费观看高清完整版在线观看熊 | 欧美成人aa大片| 日韩欧美三级在线| 亚洲精品一区二区三区精华液| 久久久国产一级片| 久久精品日产第一区二区 | 国产主播在线看| 97久久亚洲| 欧美精品性视频| 国产精品一区二区三区在线免费观看| 国产欧美日韩三级| 五月婷婷深爱五月| 欧美精品羞羞答答| 国产精品白丝jk喷水视频一区| 视频三区在线观看| 色综合一个色综合亚洲| 精品人妻无码一区二区三区换脸| 亚洲免费中文| 欧美一二三区| av久久网站| 丝袜一区二区三区| 97超碰人人模人人人爽人人爱| 国产精品乱码一区二三区小蝌蚪| 黄色手机在线视频| 天天综合一区| 成人在线资源网址| 涩涩网在线视频| 日韩高清中文字幕| 中文字幕一区二区人妻视频| 久久精子c满五个校花| 久久久久久久久久久视频| 校花撩起jk露出白色内裤国产精品| 97国产成人精品视频| 亚洲三区在线播放| 欧亚洲嫩模精品一区三区| 精品欧美一区二区久久久| 麻豆精品在线观看| 超碰10000| 日韩三级毛片| 国产精品久久久久9999| 国产成人无吗| 亚洲精品福利在线| 这里只有精品国产| 亚洲另类春色国产| 香港三日本8a三级少妇三级99| 国产精品夜夜夜| 亚洲人一区二区| 综合激情网...| 欧美亚洲国产精品| 免费在线毛片网站| 精品成人a区在线观看| 天堂网中文字幕| 亚洲视频在线观看一区| 大尺度做爰床戏呻吟舒畅| 日韩av高清在线观看| 四虎永久免费网站| 欧美91在线| 成人精品视频在线| 涩涩视频网站在线观看| 久久中文字幕视频| 日本国产在线| 欧美一区二区三区日韩| 中文字幕精品三级久久久| 中文字幕亚洲精品在线观看| 国产成人精品无码片区在线| 免费成人在线观看| 男女激情免费视频| 精品国产123区| 国产欧美一区二区三区不卡高清| av免费在线一区| 性色av一区二区三区红粉影视| 国产福利在线视频| 亚洲国产精品免费| 国产三级第一页| 色诱亚洲精品久久久久久| 色欲人妻综合网| 国产日韩欧美激情| 亚洲av成人片无码| 国产一区美女在线| 日韩欧美黄色大片| 亚洲天堂黄色| 性欧美18一19内谢| av中字幕久久| 精品中文字幕一区| 日韩欧美中文在线观看| 国产美女直播视频一区| 中国色在线日|韩| 欧美激情在线观看视频| 国产成人无吗| 日韩在线一区二区三区免费视频| 日本福利在线观看| 精品99999| 99热这里只有精品66| 欧美日韩午夜在线视频| 无码人妻av一区二区三区波多野| 精品国产福利在线| 麻豆changesxxx国产| 自拍偷在线精品自拍偷无码专区| 欧美激情 一区| 国产亚洲一区字幕| 九色porny自拍视频| www精品美女久久久tv| 亚洲中文字幕无码一区| 国产91精品久久久久久久网曝门| 善良的小姨在线| 国内成+人亚洲+欧美+综合在线| 日韩av片网站| 奇米影视一区二区三区| 免费涩涩18网站入口| 久久亚洲国产精品一区二区| 116极品美女午夜一级| 国产亚洲毛片| 六月丁香婷婷在线| 免费视频久久| 999香蕉视频| 久久亚洲色图| 男人插女人下面免费视频| 天堂成人国产精品一区| 亚洲精品高清无码视频| 日韩av电影免费观看高清完整版| 黄色免费网址大全| 麻豆精品新av中文字幕| 91av视频免费观看| 韩国一区二区视频| 日本成人在线免费| 成人av电影在线| 亚洲成人网在线播放| 国产片一区二区三区| 97在线观看免费视频| 国产精品免费久久久久| 精品无码一区二区三区蜜臀| 中文字幕在线观看一区二区| www.毛片com| 亚洲大片一区二区三区| 国产精品久久久免费视频| 日本丶国产丶欧美色综合| 一区二区乱子伦在线播放| 欧美日韩不卡一区二区| 精品国产免费无码久久久| 亚洲国产第一页| 欧美成熟毛茸茸| 色婷婷综合久久久久| 污视频网站在线免费| 91国在线精品国内播放| 成人免费视频观看| 99久久久精品免费观看国产| 国产丝袜一区| 亚洲电影网站| 伊人精品在线| 一区二区三区韩国| 国产精品白丝jk黑袜喷水| 三级男人添奶爽爽爽视频| 国产目拍亚洲精品99久久精品| www.色小姐com| 欧美性感美女h网站在线观看免费| 中文字幕一区二区三区四区免费看| 欧美一区二区性放荡片| 水莓100在线视频| www.亚洲免费视频| 麻豆网站免费在线观看| 国产伦精品一区二区三区精品视频| 成人在线超碰| 亚洲一区二区三区在线观看视频| 欧美午夜在线视频| 久章草在线视频| 国产成人小视频| www久久久久久久| 亚洲成人动漫一区| 一卡二卡三卡在线观看| 精品亚洲国产视频| av中文字幕在线观看| 国产精品第3页| 国产成人澳门| 2021狠狠干| 日韩中文字幕av电影| 国产精品成人无码专区| 一区视频在线播放| 免费黄色av片| 亚洲韩国欧洲国产日产av| gogogogo高清视频在线| 国产精品第一区| 日本中文字幕在线一区| 91麻豆天美传媒在线| 日韩高清一区在线| 欲求不满的岳中文字幕| 亚洲精品国产一区二区精华液 | 最新日韩精品| 国产精品裸体一区二区三区| 久久久久久影院| 国产色视频在线播放| 久久综合九色综合欧美亚洲| 日本少妇在线观看| 日韩欧美在线观看一区二区三区| 99视频在线观看地址| 国产精品va在线| 深爱激情综合网| 18岁网站在线观看| 大胆亚洲人体视频| 久草中文在线视频| 欧美一级爆毛片| yellow91字幕网在线| 成人美女av在线直播| 91亚洲国产高清| 亚洲一区精品视频在线观看| 国产精品天美传媒沈樵| 欧美另类高清videos的特点| 亚洲老头同性xxxxx| 无遮挡在线观看| 久久精品99| 先锋a资源在线看亚洲| 免费a级黄色片| 色婷婷一区二区| 国产高清视频免费最新在线| 国产精品高潮呻吟久久av无限| 亚洲动漫精品| 国产精品69页| 国产精品网站在线观看| 在线播放精品视频| 日韩一级黄色av| 999精品视频在线观看| 免费看av软件| 国产成人无遮挡在线视频| 国产小视频在线观看免费| 精品国产麻豆免费人成网站| hd国产人妖ts另类视频| 好吊妞www.84com只有这里才有精品 | 日本亚洲视频| 青青在线免费观看| 91在线播放网址| 国产精品熟女视频| 日韩在线欧美在线国产在线| 成人国产精品久久| 成人高清dvd| 成人av在线网| 无码人妻熟妇av又粗又大| 在线国产精品播放| 国产麻豆精品| 黄网站欧美内射| 国产午夜精品理论片a级大结局| 中文在线免费看视频| 欧美成人网在线| 香蕉国产成人午夜av影院| 老司机午夜性大片| 亚洲一区在线电影| 日本又骚又刺激的视频在线观看| 国产精品久久久久久久久免费看| 欧美aaaaaaaaaaaa| 国产女主播在线播放| 色哟哟亚洲精品| 中文字幕在线观看网站| 精品综合在线| 韩国女主播成人在线| 日韩黄色在线视频| 深夜成人在线观看| 成人av地址| mm131国产精品| 午夜视频在线观看一区二区| 国产一区二区影视| 国产精品10p综合二区| 日韩国产欧美一区二区三区| 黄色一级视频免费| 国产亚洲精品久久久久久| 一区二区三区在线免费看| www日韩在线观看| 亚洲自拍与偷拍| 国产h在线观看| 精品国产乱码久久久久久郑州公司 | 亚洲宅男网av| 国模大尺度视频| 欧美亚洲动漫制服丝袜| 123区在线| 成人手机在线播放|