原文鏈接:Unity - Manual: Preparing Assets for Unity
? ? ? ? 第一步就是為你想要達(dá)到的效果把資源放到一個匹配的格式中。建立一個使用的3D模型應(yīng)用程序到Unity的合適的工作流是非常重要的箫攀,比如 Autodesk? 3ds Max?, Autodesk? Maya?杰妓,Blender,和Houdini傀履。將模型從3D應(yīng)用程序?qū)С龅経nity中時(https://docs.unity3d.com/Manual/HOWTO-importObject.html),你需要考慮:
? ? ? ? ·縮放和單位
? ? ? ? ·縮放模型引用的點
? ? ? ? ·紋理輸出和通道
? ? ? ? ·法線貼圖方向
縮放和單位
? ? ? ? 您工程的縮放,以及您想要的度量單位绪励,在一個可信的場景中扮演了一個非常重要的角色。在許多“真實世界”構(gòu)建過程中唠粥,我們建議您假定1Unity單位=1米疏魏,因為許多物理系統(tǒng)使用這個單位尺寸假定。更多建議晤愧,請參照藝術(shù)資源最佳實踐指導(dǎo)(https://docs.unity3d.com/Manual/HOWTO-ArtAssetBestPracticeGuide.html)大莫。
? ? ? ? 要維持3D模型應(yīng)用程序和Unity的一致性,通常要確認(rèn)導(dǎo)入的游戲物體的縮放和尺寸官份。3D模型應(yīng)用程序在FBX導(dǎo)出配置中可以設(shè)置單位和縮放(請查閱您的3D模型軟件文檔來獲取配置信息)只厘。通常,匹配縮放的最佳方式是在導(dǎo)入到Unity時將這些工具設(shè)置為以厘米為單位舅巷,并且按自動比例導(dǎo)出FBX羔味。當(dāng)然,當(dāng)建立一個新工程時您應(yīng)該經(jīng)常檢查單位和縮放設(shè)置匹配情況钠右。
? ? ? ? 想要快速的使你導(dǎo)入的設(shè)置生效的話赋元,在你的3D模型應(yīng)用程序中,創(chuàng)建一個簡單的1x1x1m的立方體并導(dǎo)入Unity。在Unity中搁凸,創(chuàng)建一個默認(rèn)的立方體媚值,這也是1x1x1m。使用這個作為一個縮放參考來比較你導(dǎo)入的模型护糖。這些立方體當(dāng)Transform組件的Scale 屬性在監(jiān)視面板中設(shè)置為1,1,1時應(yīng)該看起來是一樣的杂腰。
(圖片見原網(wǎng)頁)
對使用Autodesk? Maya?和Autodesk? 3ds Max?導(dǎo)入的立方體和在Unity中創(chuàng)建的立方體進行縮放比較。
? ? ? ? 請注意:
? ? ? ? ·Autodesk? Maya?和Autodesk? 3ds Max?會根據(jù)最后一次打開的文件來重寫你默認(rèn)的單位椅文。
? ? ? ? ·3D模型應(yīng)用程序會在工作界面顯示與其內(nèi)部單位設(shè)置不同的單位喂很,這可能會造成一些誤解。
(圖片見原網(wǎng)頁)
Autodesk? 3ds Max?中不同的顯示和內(nèi)部單位皆刺。
參考點縮放模型
? ? ? ? 當(dāng)使用占位符或是素描幾何體來遮擋一個場景時少辣,擁有參考點縮放模型比較有用。選擇適合于您制作場景的一個參考點比例模型羡蛾。在Spotlight的管道簡單模型場景情況下漓帅,我們使用一個公園長椅:
(圖片見原網(wǎng)頁)
長椅扮演了一個參考點縮放模型的作用
? ? ? ? 您的場景無需準(zhǔn)確的使用與真實生活中一樣的比例。使用一個參考點縮放模型可以簡單的實現(xiàn)相關(guān)游戲物體之間的縮放一致性痴怨,即使場景有趨向于夸張的比例忙干。
紋理輸出和通道
? ? ? ? 一張紋理中的信息在添加到一個材質(zhì)上時需要保持正確的信息來顯示一個正確的效果。紋理程序編寫軟件比如Photoshop和Substance Painter在輸出紋理時如果你將他們正確的配置浪藻,它們可以保證輸出紋理的一致性和可預(yù)測性捐迫。
? ? ? ? 這是對Substance Painter預(yù)先設(shè)置好的配置來對用于一個Unity的標(biāo)準(zhǔn)不透明紋理的例子:
(圖片見原網(wǎng)頁)
? ? ? ? 在Unity標(biāo)準(zhǔn)紋理中紋理的分配是:
? ? ? ? 用于導(dǎo)出的輸出映射? ? ? ? ? ? ? ? ? ? ? ? 在Unity標(biāo)準(zhǔn)shader材質(zhì)中的分配
? ? ? ? $textureSet_Albedo? ? ? ? ? ? ? ? ? ? ? ? ?分配到反射率
? ? ? ? $textureSet_MetallicAOGloss? ? ? ? ?分配到Metallic and Occlusion.Smoothness? Source設(shè)置到Metallic的透明度
? ? ? ? $textureSet_Normal? ? ? ? ? ? ? ? ? ? ? ? 分配到法線貼圖槽
? ? ? ? 請注意:打包多通道到單獨的紋理中,比如說MetallicAOGloss爱葵,將與導(dǎo)出Ambient Occlusion(AO)的紋理內(nèi)存保存為一個單獨紋理施戴。這是配合Unity標(biāo)準(zhǔn)材質(zhì)工作的最好方法。
? ? ? ? 當(dāng)創(chuàng)建紋理時萌丈,不要混合alpha通道非常重要赞哗。下面的例子顯示了一個PNG文件的透明度可以怎樣被使用Photoshop的創(chuàng)作者混亂,這是由于Photoshop處理一個PNG的alpha通道的方式?jīng)Q定的(不使用外部插件)辆雾。在這個例子中肪笋,一個不壓縮的32位TGA文件有專用的alpha通道,這將會是一個更好的選擇度迂,當(dāng)然這要假設(shè)原紋理文件的大小不是問題:
(圖片見原網(wǎng)頁)
? ? ? ? 上面顯示的透明PNG文件是在Photoshop中其alpha通道作為一個黑色值來創(chuàng)建的藤乙。有專門alpha通道的TGA顯示了一個預(yù)期的值。從上面您可以看出英岭,當(dāng)每個紋理被設(shè)置到標(biāo)準(zhǔn)著色材質(zhì)從alpha通道中讀取平滑數(shù)據(jù)時湾盒,有PNG紋理的材質(zhì)平滑度不符合預(yù)期的反轉(zhuǎn),然而有TGA紋理的材質(zhì)平滑度是正常的诅妹。
法線貼圖方向
? ? ? ? Unity按照下面的解釋讀取正切空間法線貼圖:
? ? ? ? ·R通道X+為右
? ? ? ? ·G通道Y+為上
? ? ? ? 例如,一個Autodesk? 3ds Max?渲染到紋理的法線貼圖輸出默認(rèn)G通道Y+為下。這導(dǎo)致了一個沿著Y軸反轉(zhuǎn)的表面方向吭狡,并且當(dāng)光照的時候產(chǎn)生了一個無效的結(jié)果尖殃。為了使法線貼圖方向生效,創(chuàng)建一個有凹斜面的簡單面片(下面例子中間的圖)划煮,并且把它烘焙到一個平面上送丰。然后把這個烘焙好的法線貼圖分配到Unity中具有可辨認(rèn)光照方向的一個面片上,然后看它是否有任何軸上的反轉(zhuǎn)弛秋。
(圖片見原網(wǎng)頁)
? ? ? ? 如要獲取關(guān)于軸設(shè)置上的建議器躏,請參考您的3D模型應(yīng)用文檔。