2023虛擬人和虛擬場(chǎng)景技術(shù)探索_第1頁(yè)
2023虛擬人和虛擬場(chǎng)景技術(shù)探索_第2頁(yè)
2023虛擬人和虛擬場(chǎng)景技術(shù)探索_第3頁(yè)
2023虛擬人和虛擬場(chǎng)景技術(shù)探索_第4頁(yè)
2023虛擬人和虛擬場(chǎng)景技術(shù)探索_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

虛擬角色和虛擬場(chǎng)景技術(shù)探索目錄我們有什么

我們想做什么01我們一起來(lái)創(chuàng)作02技術(shù)框架內(nèi)幕03未來(lái)展望04我們有什么?我們想做什么?淘寶人生首頁(yè)旅行玩法首頁(yè)人生小屋入口路徑我們想做什么:人生小屋演示視頻人生小屋我們一起來(lái)創(chuàng)作Get

Started!技術(shù)框架內(nèi)幕制作場(chǎng)景資產(chǎn)標(biāo)準(zhǔn)室內(nèi)場(chǎng)景Step1:

加載房間模型引擎選擇3D場(chǎng)景模型場(chǎng)景文件格式轉(zhuǎn)換場(chǎng)景導(dǎo)入室內(nèi)場(chǎng)景同Step1:

加載家具模型場(chǎng)景1.

透視相機(jī):Perspective

camera室內(nèi)場(chǎng)景Step2:

加載相機(jī)??

預(yù)備知識(shí)Scene Camera Renderer2.

正交相機(jī):Orthographic

cameraRender

the

scene

with

camera將相機(jī)捕捉到的場(chǎng)景幀,通過(guò)渲染器渲染到畫布上展示給用戶室內(nèi)場(chǎng)景坐標(biāo)系統(tǒng):

MVP矩陣變換局部空間:

Local

Space,或者稱為物體空間(ObjectSpace),局部坐標(biāo)是對(duì)象相對(duì)于局部原點(diǎn)的坐標(biāo)世界空間:World

Space,世界坐標(biāo)作為一個(gè)更大空間范圍的坐標(biāo)系統(tǒng)室內(nèi)場(chǎng)景Step2:

加載相機(jī)??選擇透視相機(jī):Perspective

cameraFOV:

視場(chǎng)角,相機(jī)視錐體的兩端的夾角。視場(chǎng)角的大小決定了視野范圍,視場(chǎng)角越大,視野就越大。目標(biāo)物體超過(guò)這個(gè)角就不會(huì)被收在鏡頭里。室內(nèi)場(chǎng)景Step3:

相機(jī)如何圍繞場(chǎng)景中心旋轉(zhuǎn)?OrbitControlOrbitControl

軌道控制器:使相機(jī)圍繞目標(biāo)進(jìn)行軌道運(yùn)動(dòng)三維場(chǎng)景能旋轉(zhuǎn)的本質(zhì):相機(jī)對(duì)象的旋轉(zhuǎn)鼠標(biāo)左右拖動(dòng)改變相機(jī)位置、角度、渲染空間數(shù)據(jù)引起圖像變化室內(nèi)場(chǎng)景相機(jī)的張角變大,視野FOV

增大camera.rotationXyxz相機(jī)平視相機(jī)俯視,F(xiàn)OV增大zxStep3

trick:

相機(jī)視野變換?FOVyField

of

View

相機(jī)視野相機(jī)位于頂部,俯視視角時(shí),看到整個(gè)房間?室內(nèi)場(chǎng)景Up

till

now:

場(chǎng)景模型展示疑問(wèn)?為何墻壁被隱藏了?單面墻視角在入戶門背后時(shí),如何隱藏門框?mesh

visibility室內(nèi)場(chǎng)景zxStep4:

隱藏門框

mesh

visibilityy世界坐標(biāo)系camera.worldPosition(x,y,z)>doorEdge.worldPosition(x,y,z)相機(jī)z坐標(biāo)

>

門框z坐標(biāo),隱藏門框mesh角色Step1:

加載虛擬人??楧??湊?奞美術(shù)生產(chǎn)人物動(dòng)起來(lái)Step2:

Joystick操控?fù)u桿Joystick

2個(gè)重要參數(shù):joystick

force:

strength

in

%joystick

angle:

angle

in

radian疑問(wèn)?相機(jī)沒(méi)有跟隨移動(dòng),人走出視野人物動(dòng)起來(lái)且始終在視野中Step3:

相機(jī)跟隨場(chǎng)景的相機(jī),掛載到人物node父節(jié)點(diǎn)上,人物在中心Joystick操控人物node移動(dòng)場(chǎng)景相機(jī)同步移動(dòng),場(chǎng)景視角改變,人物始終在中心子節(jié)點(diǎn)設(shè)置的坐標(biāo)位置是相對(duì)于父節(jié)點(diǎn)的局部空間坐標(biāo),相機(jī)始終位于人物node正前游戲邏輯家具選中方案:RaycastRaycast光線投射原理:確定射線起點(diǎn):常用相機(jī)原點(diǎn)確定射線終點(diǎn):鼠標(biāo)點(diǎn)擊點(diǎn)(視口坐標(biāo)

->

世界坐標(biāo):

MVP)創(chuàng)建射線對(duì)象:起點(diǎn)是相機(jī)坐標(biāo),終點(diǎn)為鼠標(biāo)點(diǎn)擊處檢測(cè)碰撞結(jié)果:射線和檢測(cè)物體的包圍和求交捕獲與此射線相交的空間中的物體相交的物體按照深度排序,并返回如何選中家具?射線起點(diǎn):相機(jī)射線終點(diǎn):鼠標(biāo)點(diǎn)擊檢測(cè)物體:家具返回:與家具相交點(diǎn)的位置游戲邏輯家具拖拽移動(dòng):

Raycast核心點(diǎn):如何得知鼠標(biāo)拖拽位置的世界坐標(biāo)?射線起點(diǎn):相機(jī)射線終點(diǎn):鼠標(biāo)點(diǎn)擊檢測(cè)物體:地板返回:與地板相交點(diǎn)的位置游戲邏輯人物與家具碰撞:Raycast如何檢測(cè)人物與家具碰撞?射線起點(diǎn):人物射線方向:人物走動(dòng)方向檢測(cè)物體:家具返回:與家具相交點(diǎn)的位置大量家具時(shí),低端機(jī)達(dá)不到fps30格子游戲邏輯人物與家具碰撞:格子看不見(jiàn)的邏輯層:tileInfo將地板劃分為

n

*

n

二維數(shù)組形式家具所占地磚

x

*

y此位置地磚保存該家具信息游戲邏輯與家具動(dòng)作交互動(dòng)作觸發(fā)點(diǎn)足夠靠近動(dòng)作觸發(fā)點(diǎn)旋轉(zhuǎn)人物轉(zhuǎn)向(基于家具自轉(zhuǎn)角度

+

觸發(fā)點(diǎn)位置)播放動(dòng)畫

Play

animation視效優(yōu)化陰影渲染:

shadow

mapWhat

is

a

shadow

map?貼圖疊加。傳統(tǒng)的實(shí)時(shí)渲染?若有n個(gè)光源:使用

第1個(gè)燈光

spot

light

渲染一次整個(gè)場(chǎng)景,產(chǎn)生一個(gè)shadow

map使用

第2個(gè)燈光

directional

light

產(chǎn)生一個(gè)shadowmap3. …4. …5.

最終將

n

次渲染的陰影結(jié)果進(jìn)行合并,每個(gè)mesh渲染讀取n個(gè)shadow

map大量計(jì)算和性能

?陰影渲染Part1:家具陰影渲染如何提升陰影所需性能?方案1:可以有多個(gè)燈光,但只有一個(gè)平行光可產(chǎn)生陰影方案2:使用

光照貼圖

環(huán)境光照遮擋貼圖

來(lái)預(yù)先計(jì)算離線照明的效果方案3:使用

假陰影,添加一個(gè)平面放到物體下方的地面上,同時(shí)賦予一個(gè)看著像陰影的紋理圖片材質(zhì)離線渲染離線渲染面光源陰影渲染Part2:人物陰影渲染人物假陰影方案3,面光源投影,人物下方添加一個(gè)陰影材質(zhì)的平面如何實(shí)時(shí)渲染?離屏渲染更好的效果:模糊處理實(shí)時(shí)渲染人物陰影人物陰影渲染Off-Screen

renderingGPU屏幕渲染:On-Screen

Rendering:當(dāng)前屏幕渲染,屏幕上顯示GPU讀取幀緩沖區(qū)(Frame

Buffer)渲染好的的數(shù)據(jù)Off-Screen

Rendering:離屏渲染,因?yàn)橐恍┫拗?,無(wú)法把渲染結(jié)果直接寫入frame

buffer,GPU在當(dāng)前屏幕緩沖區(qū)以外新開辟一個(gè)緩沖區(qū)進(jìn)行渲染操作,之后再寫入framebuffer。為什么會(huì)使用離屏渲染?當(dāng)使用圓角,陰影,遮罩的時(shí)候,圖層屬性的混合體被指定為在未預(yù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論