深夜
查看: 4541
回復: 90
打印 上一主題 下一主題

辽宁35选7多期开奖结果查询: 圖形圖像 轉載《閃耀暖暖》如何實現頂級美術表現?先看看疊紙怎么做3D建模吧

 

辽宁35选7开奖公告 www.ddjzo.com TA的畫板

24萬

元素幣

4082

活躍度

373

貢獻值

界王

小戰士 努力努力努力

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

積分
349771

龍晶之刃元素銅幣元素銀幣元素金幣元素秘幣元素圣幣光之杖紅龍戰甲魔神戰甲摘星散夜對劍裁決原始之火小蘋果【元素晶石】不死鳥羽翼守望者【EX】守望者【天使】守望者【烏鴉鈦鋼】守望者【獵空】守望者【D.Va兔子】振金項鏈擴散者之握

主題
1446
精華
83
擴散
340
首發
1
土豪金
369
神石
250
在線時間
1489 小時
QQ
跳轉到指定樓層
樓主-元素創造者
發表于 2019-6-4 19:27:26

馬上注冊成為元素者,獲取海量元素資源,結識各路大神級人物

您需要 登錄 才可以下載或查看,沒有帳號?注冊

x
《閃耀暖暖》如何實現頂級美術表現?先看看疊紙怎么做3D建模吧
編輯導讀
平均建模超50000面的手游

5月10日至5月12日,Unity全球開發者大會Unite Shanghai 2019在上海召開,期間諸多技術專家來到現場為開發者分享最新的技術和制作經驗。

疊紙游戲技術中心技術總監張霽和美術總監柳叢,在大會期間進行了“閃耀暖暖技術分享:2D到3D的進化之路與 創造之路 ”的主題演講,首次對外分享了這款拳頭產品在制作時遇到的難題與解決方案。


以下為演講內容整理:

大家好,很榮幸在Unite 2019大會中分享《閃耀暖暖》的思路與收獲。

這次分享將由兩個人共同完成,我叫張霽,從事游戲行業8年了。2016年初加入疊紙,參與《閃耀暖暖》的研發,今天我會給大家分享一些引擎自定義和工作流的內容。

另一位演講者是柳叢,他有十幾年的開發經驗,之前參與過多款次世代游戲的美術研發,今天他將帶來一些美術效果的研發心得。

關于《閃耀暖暖》,這是疊紙的第二款Unity項目,我們用的引擎版本最初是Unity5,去年升級到了Unity2018?!渡烈肥橋盜械牡謁拇?,也是疊紙的首款3D手游。

項目開發前期,我們經歷了一些技術和風格上的迭代,起初它甚至并不是一款3D游戲。初期的嘗試方向是基于spine來做360度旋轉,后面很快轉向3D方向。

這個時期我們更多考慮的是如何用卡通渲染還原2D暖暖,如何還原2D暖暖的線條,讓3D線條有顏色粗細虛實的變化,這是當時做到的效果。在2016年下半年的時候,對卡通渲染的研究進入了一個瓶頸期,因為想做到期望的品質,要求非常的高,對移動平臺壓力過大。


同時3D線條的效果與2D暖暖仍然有較大差距。即使這個差距可以繼續縮小,卡通渲染導致的畫面過于相似也會讓新作缺少獨特的吸引力。

這迫使我們回到原點思考問題,換裝游戲的根本究竟是什么?我們的答案是漂亮的衣服和多樣的穿搭體驗。我們將其拆分成幾個技術點:衣服的極致細節、穿搭的自由度,以及藝術的傳承和創新,這也是我們這次分享的目錄。

首先是細節,暖暖系列的基石。3D游戲要想達到足夠高的精度,制定合理的美術規格是重要的基礎。

我們發現模型面數對性能的影響并不是很大,影響較高的是貼圖的分辨率。這是使用1024和2048貼圖的表現效果,以及相應的AB占用和渲染耗時??梢鑰吹郊詞?048在鏡頭拉近的時候仍然無法達到我們希望的精度,而隨著分辨率的增加,包體內存壓力迅速增加,也不利于持續更新。


為了解決這個問題,我們使用多層UV和多層貼圖拼合,這是達到的效果。精度有了顯著的提升,相當于4096的貼圖。這個例子里使用了四層UV,四層貼圖,總的占用比1024的單張貼圖還要小。

《閃耀暖暖》的包體目在是2G多,有一半是3D的容量,其中一半是貼圖。如果把這部分全按4K重置,包體會達到10多G。接近一款3A游戲了。同時加載多張4K貼圖更會直接撐爆手機內存。使用多UV其實也有巨大的代價,渲染耗時從6.85毫秒到8.67毫秒,增加了26%。

我們對UV的優缺點做了總結,除了精度和包體優勢,還有一個好處,就是在制作完成后,有較大的后期調整空間。缺點方面,除了pixel shader負荷增加較多,多UV會導致貼圖數較高。Unity默認采樣器的數量等于貼圖的數量,這樣就要求控制單個材質中貼圖的使用,不能超過16張。


除了硬件和性能上的問題,多UV對于制作也有較大影響。設計時需要考慮圖案規劃,而制作時需要根據情況對UV進行調整和拆解。例如這個比較簡單的裙子,它的UV是這樣的。從另外一個方面,UV拆分過于靈活,也會導致這個流程難以推廣和流程化。


針對這個問題,我們制定了一套工作流來進行標準化,首先是色塊填充構成底色,平鋪布紋,接下來印花,最后是風格化處理。對于復雜的服裝,可以靈活變通,實現精度的最大化。


對于一些用貼圖也達不到預期精度,我們會通過程序化方式進行細節補充,比如珍珠和寶石等。


作為例子,分享一下程序化閃點的實現方式。

首先,這個是我們期望閃點能夠做到的內容,其實就是一些隨機分布的點,點與點之間有一些表現顏色和大小的隨機性差異。美術希望能有方便直觀的控制方式,比如用密度貼圖控制哪些地方需要有更多的點。同時,點的大小分布也能以類似的方式進行控制。其次希望有穩定可靠的閃爍,類似高光的表現。


閃點算法的基礎其實很簡單,其實就是在UV空間上生成棋盤格,這其實是一個2D的問題,我們可以轉化成平面進行考慮。每格的索引就是隨機數種子,使用這個隨機數種子,可以生成偏移量、縮放和顏色和相位。


接下來是填充格,可以直接填滿就是方塊?;蛘呷嶧沓閃廡位蛘咴?。接下來是根據相位和預設的密度閾值進行剔除,達到密度控制。


處理偏移的時候,會出現越界的問題,就會出現截斷的情況,看起來比較奇怪。


處理越界閃點的方式,就是隨著點隨機縮小,把偏移量限制在格內。但是這樣過于規律,幾乎看不出什么變化。


后來我們發現只要限制點的中心在格里就可以了,這樣一共是自己加周圍8個鄰居,共9次閃點相關的計算??梢岳靡恍┣榭隼春喜⒓撲?。


由于點的中心不能出框,左鄰居只會影響當前格左半邊的像素,右鄰居只會影響當前格右半邊像素,左右兩半邊可以合并計算。同理,上下兩鄰居也可以合批計算,四個對角也可以合并計算。上下左右加邊角加自己,只需要計算4次閃點相關計算。


此外,還可以利用GPU的向量計算能力進一步減少計算量。對于偏移等float2計算,可以兩兩合并為一個float4;對于縮放等矢量計算,可以四組合并,這樣最終的開銷略小于兩次完整的閃點計算。


最后是閃爍處理,我們的處理方式是利用剛才隨機生成的相位值調整nh,進行高光計算。同時用一個統一的閃點光滑度控制閃爍程度。


由于我們使用了多UV,加上剛才各種材質特性,還需要實現不同光照模型,這樣就會導致我們的shader變成一個龐大的uber shader家族,如何管理shader材質是一個重要的問題。

在工作流方面,一個自定義的材質面板是非常好用的工具,它可以在同一組shader中進行切換。同時可以開關feature,根據特性集來動態調整面板,還可以結合自己的工具進行性能分析、監控和預警。在發布和runtime方面,海量變種對編譯速度非常敏感,我們去年把引擎版本從5.6升級到2018,因為2018修復了5.6的重復編譯bug,同時大大提升了shader的編譯速度。


接下來介紹一下光照系統,由三部分組成,預烘焙的環境光、主燈以及輪廓光。

我們希望有更豐富的光照變化,單LightProbe的效果太單調,沒有場景,只能烘焙一個預設的Cubemap。我們的解決方法是沿豎直方向增加LightProbe采樣點,讓美術增加點光源和方向光作為額外光源,將其直接關照和Cubemap一起合并到環境SH,運行時根據世界坐標的高度在vs中進行插值計算環境光。


輪廓光方面,可以強調角色輪廓,增強體積感。

在使用輪廓光的時候,發現很多衣服存在漏光的問題,這是因為輪廓光沒有ShadowMap計算。注意到漏光區域主要是局部形體,我們可以對Mesh靜態結構進行預計算。在模型導入在T-pose下后計算網格每個頂點的遮擋信息。對于每個頂點,在其球面上發射若干條陰影光線,進行碰撞測試。

對于每條陰影光線,將其轉化到對應頂點的切空間,并將陰影測試的結果累計入2階SH中。最終結果是4個浮點數,可以把結果存到頂點色中。運行時把輪廓光轉換到切空間采樣SH進行遮擋判斷。


這個是做到的結果,左側是有輪廓光的,中間是輪廓光+遮擋,可以看到漏光現象大為緩解。因為SH近似存儲所有遮擋信息,動態情況下也可以工作,即使增加輪廓光,也可以用這個方案進行統一解決,性能開銷不會顯著增加。


下面是陰影處理,由于Unity5的陰影不支持半透明物件投影和受影的,我們自定義了shadow pass。同時根據相機與人物的關系可以提升ShadowMap的利用率。我們把人物的包圍體按豎直方向細分,根據相機和每個小段的相交結果,調整的投影矩陣。

此處下側的圖像是Shadow Map的情況,右側是關閉自適應陰影,左側是開啟,可以看到陰影質量得到了相應的提升。


角色的面部是一個重點關注區域,頭發尤其是劉海處的投影如果用不透明方式處理會顯得過于生硬。我們的處理方式是使用Screendoor Depth,每4×4像素為一個tile,每像素根據透明度值來順序丟棄寫深度操作??梢鑰吹階詈蟮玫降腟hadowMap,頭發末端有一個點陣的狀態。再用一個單獨的四分之一大小RT,對皮膚做屏幕陰影蒙版,再進行模糊處理,以獲得半透明的陰影效果。


這是最后實現的效果,我專門挑了幾個在劉海部分模型非常接近的頭發,僅有貼圖差異較大,可以看到左邊一個,它的半透過渡比較柔和,所以它的陰影也就會淡一些。而右邊的實體區域比較多,所以陰影比較銳利。


對于正常投影難以表達的微小部件,或者程序化生成的模型,我們會調整bias,以達到強化陰影的效果。


接下來一個重要的點是穿搭組合的自由度,也是換裝游戲可玩性的支持。


由于暖暖系列中衣服版型設計多種多樣。我們的綁定設計分為基礎骨架和擴展骨架兩個部分?;」羌莧范ㄒ院?,可以在其基礎上編輯人物的碰撞體配置,而擴展骨架則需要設置其物理參數。兩部分數據合在一起,在運行時,由物理系統計算其動態效率。


由于移動平臺性能有限,暖暖系列衣服復雜度又比較高,即使是PC平臺也無法完全使用布料系統來做到我們想要的效果。我們的物理系統是一個鏈式迭代的質點系統,粒子之間可以添加彈簧,用這種方式可以做到簡單的布料模擬。


關于碰撞處理,粒子和彈簧都可以作為碰撞處理對象。我們的碰撞體有兩類,第一類由跟隨基礎骨架,包括平面碰撞體和膠囊碰撞體。膠囊碰撞體可以調整兩端的大小,讓它更貼合人的形體。

在處理腿與裙子的碰撞時,當腿的移動范圍較小的時候,能夠正確往外推裙子。而腿移動量較大時,腿反而會向內壓裙子。我們的解決方法是用彈簧方向和粒子鏈方向的叉乘向量,作為彈簧的碰撞主方向,當彈簧與膠囊體發生碰撞時,優先朝主方向那一側推。這樣效果更為穩定。


第二類碰撞體跟隨擴展骨架。根據服裝的骨骼鏈和鄰居結構可以構建出虛擬的網格碰撞體。下圖藍色的點是當前的物理粒子,線是物理骨骼鏈和鄰居結構。我們可以將其轉換成黃色所示的虛擬網格。

在運行時,可以查找粒子所最接近的虛擬網格中的三角形,用這個三角形作為平面碰撞。我們使用八叉樹管理網格碰撞體中的所有三角形,方便運行時快速查找。網格碰撞體的三角形比較大,過渡比較劇烈,在某些情況下可能會抖動,我們允許在運行時動態取最近的四個三角形,根據距離權重插值進行平滑處理。


網格碰撞體的另一個作用是可以處理部件間的碰撞,我們為每類部件可以取一個別名,粒子設置它與哪個別名進行碰撞。如圖我們設置頭發與“裙子”進行碰撞,接下來我們切裙子的時候,只要通過別名,就可以動態尋找到當前所穿的究竟是哪個裙子,這個裙子針對的網格碰撞體是怎樣的,可以實時調整頭發與網格碰撞體的碰撞。


這里我錄了一個快速播放的視頻,可以看到美術如何用物理編輯器進行可視化編輯以及最終的成品效果。


除了物理系統,《閃耀暖暖》中還有美術修正的方式,如圖中這個外套,形狀復雜且不規則,如果用物理和碰撞表現會非常差。我們對骨骼用關鍵幀rbf驅動。下面是四個關鍵幀,手臂不同朝向情況下,其他五個骨骼對應的位置與旋轉的關系。在運行時,可以根據手臂的實際朝向,在這些關鍵幀中線性插值。


另一個例子是掛點系統,經歷多輪迭代以后,現在的方式是逐部件組合進行調整,可以控制不同組合的掛點對象、位置以及旋轉。


接下來由柳叢給大家介紹一下美術上的傳承與創新。


很高興今天能來這里為大家分享,今天我為大家介紹下開發過程中的一些重點開發內容,我的標題是“傳承與創新”。今天會講到《閃耀暖暖》比較重點的地方,就是布料的材質效果開發,還有2D風格的表現。

通過認知創新來突破高度,通過流程創新來進行自我革新。這張紋理看上去非常簡單,但其實并不簡單,我給大家講講。


首先,做一件事情的時候肯定要進入一個比較好的狀態,我當時的狀態是幾乎是走火入魔了。經?;岜某鲆瘓洌骸罷獠鬧屎躊BR!”有時候陪我老婆逛街看到衣服就想摸一摸,搓一搓,拍一拍照。但這個相片很明顯是擺拍。


那段時間,我手機里幾乎都是這樣的狀態。因為我覺得很多東西需要基于真實去進行考量,基于真實對它進行美化和改良。藝術畢竟是源于生活而高于生活的存在。


在網上我們可以搜集很多自己需要的資料,但是網上什么資料都有,有好的有壞的。所以要做出高品質的東西就要掌握高品質的信息來源,畢竟眼界決定境界。


那么收集這么多資料干嘛呢?總不能是占內存的。所以要把資料變成有價值的信息。我會對以上我收集的資料進行一些提取,先會做一些分類,然后做簡化信息,然后做一些重點提取。

我把一些資料按照自己的分析提取,最終把它匯集成了一個二維編織圖。我認為編織這塊是組成紋理的非常重要的部分。大家可以看一下,根據不同的編制方式,紋理效果差距是非常大的,我們可以先不要看這個圖片上的顏色的變化。


其實這樣編的方式有非常多種,可能我現在研究到的程度,也就不到百分之二三十。


一些重要信息已經整理出來,拿就要先試試看,剛開始我選擇的是一個比較快捷的方法,因為用建模制作紋理,比較直觀,得到的貼圖精度也很好,但是也存在很明顯的短板。


這是一個法線貼圖的效果,問題很明顯。制作成本非常大,后面的持續修改成本也是非常大的。但是有問題是件好事情,證明還有很大的優化空間,所以要在現在的流程上做一些明顯的改變。


我有幾個方式,一個是從繁到簡,一個是從慢到快,一個是從難到易??梢鑰吹腳員叩娜鶚烤?,看上去非常臃腫的感覺。


畢竟工欲善其事,必先利其器,所以我們要做工具上的優化,這時候有一個叫程序紋理的方式進入了我的視野中。


當時嘗試了下這個叫Substance Designer軟件,來做程序紋理。這里舉個比較簡單的例子說明下,這個軟件是通過線性的方式對材質進行管理,我可以在這個線性的流程做刪除和添加調整來改變結果,但是這樣就需要一個很好的規范。所以在制作的時候需要分區,這樣修改起來會更方便,在動一個區域的內容就不會影響到其他區域。


游戲隨著游戲行業內各類自動化流程的到來,使用這樣的流程,未來可以更快的融入自動化的工作流,加速項目的開發效率。

這里大致給大家做了一個簡單的范例,我當時做這個紋理的時候分了三層,一個基礎層,一個隨機層,還做了一個細節層。這是完成效果的渲染圖。


這是我當時做的第一層,做了一個簡單的編織效果。


再通過一張隨機的機理,針對上面的紋理,做了一些隨機性變化??梢岳斫獬?,這個布在使用一段時間以后會產生磨損,導致它有一些類似于這樣,有些地方層次比較深,有些地方層次比較淺的隨機感。


最終我在這里,我加了一些線頭的效果,加什么東西都不重要,主要是順序關系。


完成版就是剛才看到的渲染圖的效果。這里還做了一些其他紋理的效果,做這些紋理的時候,我只針對第一層的紋理層,做了紋理圖案的修改,后面兩層我沒有做任何的修改。


試錯在研發過程中是非常重要的一個環節,試錯需要很多手段去做,比如說測試環境,需要結果去論證。


當時我使用了這樣一塊布料檢查我的布紋效果。其實我們只需要其中一部分,我們需要幾個特質,一個是近景,一個是中景,一個遠景。在不同空間下,不同的紋理朝向,就會在這個載體上很清晰的顯示出來,這樣我們就知道紋理效果的好壞了。同樣對這種效果我們也需要用更多的可能性對它進行驗證。


比如這里,我弄了一個黑灰白的布料,還有粗糙的光滑的,來驗證它的結果,是否符合我們的要求。


如果需要更多的驗證結果,可以嘗試這樣的色塊變化,但是這樣的結果會比較累。


再介紹一下我們材質編輯思路,ABCD各代表每個材質???。通過不同的組合,也就只有11種變化。但是我們在每個材質功能下做做了很多的編輯模式,所以如果是這樣的話,那我們的變化就有600多種。我們在Unity里開發了一套自由度非常高的材質編輯工具,是這樣的,相當自由。


這些系統開發,我們會編輯出非常多種類的材質。現在我們里面的材質數量已經極其龐大了,而且我們還在一直擴充材質的類型。


這里再講一下我們的風格問題,風格的話需要一個最具有代表性的特征,我們當時在選風格的時候選擇了筆觸效果,這也是暖暖系列獨有的風格。大屏幕可能有一點曝,可以看到3D的這個效果,胸口類似于筆觸的變化。


這里是一個成品的效果,我們做了一層類似于AO的方式,在上面繪制了我們的筆觸效果,然后添加到其他的貼圖在上面。


突破的話,我們做了很多特別的突破,比如說貼圖精度,剛才張霽也介紹了貼圖的精度方法?;褂刑厥獠鬧實謀硐?,在開發工具上我們也進行了革新。


這里可以看一下,這是我們目前的京劇衣服的細節表現。現在我們這個精度,幾乎可以放在真人高度的顯示器上面去,讓玩家可以直接觀看。這邊我們做了比較特殊的材質,比如鐳射的材質效果,為了研究特殊材質,我也在搜集很多類似的資料。


我們近期也加入了3D掃描這樣的流程,可能3D掃描最早源于工業行業,會用它做逆向工程。在游戲行業,現在也開始被越來越多的人關注,通過掃描實物,獲得一個模擬的3D模型。

掃描對我們來說,意義就是兩點,一個是還原真實,一個是高效產出。我們操作的時候,發現掃描模型幾乎不可能直接使用,很多東西需要修改,但是掃描出來的東西有一個符合真實的外輪廓,這個東西,很多美術制作人員在制作的時候很難抓準。但是對我們來說這個不是最重要的,產出對我們來說才是非常重要的,我發現投入制作后效率提升了700%,不僅提高制作效率,也降低了反饋成本。


這是我們使用3D掃描儀的實錄,非??煬涂梢緣玫剿櫛鍰宓母吣DP褪?。


今天要講的內容就到這里了,謝謝大家!



評分

參與人數 6元素幣 +80 活躍度 +123 貢獻值 +1 收起 理由
小月兒 + 12 【給力】閱貼無數,樓主最強!
大西幾 + 8 + 15 還要什么女朋友,充錢就完事了
浮生如夢 + 10 【喜歡】看到這么好的帖如同回到初戀的年代!
畢加索的仰望 + 3 + 10 很驚艷,如果圖片更清晰一點的話就更好了
淡淡燃燒的芹菜 + 3 + 10 解決了我很多疑惑
空空如也不知處 + 66 + 66 + 1 純正干貨 叭錯啊 就等國服上了

查看全部評分

再讓我睡一會

使用道具 舉報

回復 論壇版權

盤 TA

感謝分享?。?!

盤 TA

非常詳細,受教了?。。。。。。。。。。。。。。。。。。。。。。。。。。。?!

盤 TA

很詳細  學到一些東西

盤 TA

感謝分享

盤 TA

雖然看不懂  但游戲不錯

盤 TA

感謝分享?。。?!

盤 TA

非常詳細,受教了?。。。。。。。。。。。。。。。。。。。。。。。。。。。?!

盤 TA

666

盤 TA

謝謝分享

盤 TA

很好的資源,感謝分享

盤 TA

感謝分享,受教了。66666

盤 TA

資源哪里好,肯定元素找!

盤 TA

資源甚好,且行且閱讀

盤 TA

感謝分享?。。。?!

盤 TA

2222222222222

盤 TA

我只想說,游戲玩不了

盤 TA

盤 TA

期待下次更新,內容很豐富,有啟發,辛苦了

盤 TA

6666666

盤 TA

閃耀暖暖 太美惹  等玩

盤 TA

制作的思考過程真的很重要。

盤 TA

我女兒居然上元素了

盤 TA

資源甚好,發帖艱辛,且閱且珍惜

盤 TA


元素帖子強,滿滿正能量

盤 TA

感謝分享?。?!非常受用??!

盤 TA

路過看看 感謝分享

盤 TA

路過看看 感謝分享

盤 TA

666666666666

盤 TA

835玩這游戲玩的太卡了

盤 TA

資源哪里好,肯定元素找

盤 TA

厲害了,干貨

盤 TA


從業不識微元素,做遍項目也枉然

盤 TA

想要成大觸,天天上元素!

盤 TA


想要成大觸,天天上元素!

盤 TA

盤 TA

這可太有用了,解決我很多疑問

盤 TA

雖然看不懂 但是好厲害 這個游戲上架了嗎?

盤 TA

資源甚好,且行且閱讀

盤 TA

123下一頁
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

元素推薦-友情提示上一條 /1 下一條

快速回復 辽宁35选7开奖公告 返回列表