国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于Unity3D檢驗(yàn)三維模型導(dǎo)出問題及構(gòu)建模型場景的解決方案

2024-12-05 00:00:00林蘇美時(shí)月梅
現(xiàn)代信息科技 2024年20期

摘 要:當(dāng)下功能強(qiáng)大的三維建模軟件如3ds Max、Maya等,能制作精美的三維模型,而后導(dǎo)入三維模型到Unity3D開發(fā)引擎中構(gòu)建各種形態(tài)的、美觀的三維游戲或虛擬場景,但三維模型往往在開發(fā)引擎中會出現(xiàn)多種問題,如無法添加貼圖、找不到導(dǎo)入模型、大小不符合規(guī)范、渲染時(shí)無陰影等。文章著重研究三維建模軟件導(dǎo)出FBX格式三維模型和導(dǎo)入U(xiǎn)nity3D開發(fā)引擎過程中出現(xiàn)的問題,以及這些問題的解決方法,方便后期游戲開發(fā)或虛擬現(xiàn)實(shí)中應(yīng)用三維模型,增強(qiáng)Unity3D項(xiàng)目的吸引力。

關(guān)鍵詞:Unity3D;三維模型;導(dǎo)出問題與解決

中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2024)20-0023-04

A Solution to Testing of 3D Model Export Problems and Construction of Model Scenes Based on Unity3D

LIN Sumei, SHI Yuemei

(School of Artificial Intelligence and Big Data, Chengdu College of Arts and Sciences, Chengdu 610401, China)

Abstract: At present, good 3D modeling software such as 3ds Max, Maya and so on, could produce beautiful 3D models, and import the 3D model into the Unity3D development engine to build various forms and beautiful 3D games or virtual scenes. However, the 3D models often present a variety of problems in development engines, such as unable to add a map, can not find the import model, the size does not meet the specification, rendering without shadow, and so on. This paper focuses on the problems arising in the process of exporting the 3D model with FBX format by 3D modeling software and importing the Unity3D development engine, and the solutions to the problems. It is convenient to apply 3D models in later game development or Virtual Reality and enhance the attractiveness of Unity3D projects.

Keywords: Unity3D; 3D model; problem export and solution

0 引 言

當(dāng)下市場商用中使用較多的建模軟件是3ds Max、Maya或C4D、LightWare等,通過它們易懂的軟件界面、強(qiáng)大的功能,可制作出各式各樣模型。盡管如此,也會有導(dǎo)出問題。此文著重研究從三維軟件導(dǎo)出的.FB三維模型,在Unity3D游戲開發(fā)引擎中檢驗(yàn)三維模型導(dǎo)出是否有問題,并處理規(guī)范化模型,構(gòu)建虛擬現(xiàn)實(shí)場景,方便后期游戲開發(fā)或制作虛擬現(xiàn)實(shí)項(xiàng)目[1-3]。

1 Unity3D開發(fā)引擎平臺

本案例選用當(dāng)下比較流行的游戲開發(fā)工具是Unity3D游戲開發(fā)引擎,是由Unity Technologies公司開發(fā)的一款集建筑可視化、三維游戲等多源的、可交互的軟件開發(fā)引擎。Unity意為“團(tuán)結(jié)”,核心是告訴開發(fā)者,游戲開發(fā)項(xiàng)目是需要團(tuán)隊(duì)相互協(xié)作完成。故此案例選用游戲項(xiàng)目團(tuán)隊(duì)中美工組前期完成的三維模型,再由開發(fā)組接受三維模型,繼續(xù)完成游戲項(xiàng)目。雙擊桌面unity3D軟件圖標(biāo),登錄用戶名后,可打開Unity3D游戲開發(fā)引擎。Unity擁有強(qiáng)大的3D場景界面視窗,在一些簡易的游戲編創(chuàng)過程中,開發(fā)者甚至可以通過其進(jìn)行可視化的游戲設(shè)計(jì)與編輯。Unity由菜單欄、工具欄以及五大視圖所構(gòu)成,界面構(gòu)成親和科學(xué),可供游戲開發(fā)者在較短的時(shí)間內(nèi)掌握相應(yīng)的基礎(chǔ)操作方法[4]。

Unity的基本界面布局共包括菜單欄、工具欄及五個(gè)主要的視圖操作窗口。五個(gè)主要的視圖操作窗口分別為Hierarchy(層級視圖)、Project(項(xiàng)目視圖)、Inspector(審查器視圖)、Scene(場景視圖)與Game(游戲視圖)[5-6]。

俗話說“工欲善其事,必先利其器”。Unity3D游戲開發(fā)引擎是開發(fā)VR游戲最重要的工具之一。如果想要制作一套時(shí)裝,同時(shí)出現(xiàn)剪刀與扳手兩種工具,通常會毫不猶豫地選擇剪刀,這就是需要的工具,如果選擇使用扳手,那么它將毫無幫助。正如想要制作一款有魅力的游戲,想要的工具就可以是Unity3D開發(fā)引擎。Unity3D開發(fā)引擎中自帶有Unity資源商店,英文全稱為Unity Assets Store,資源商店中為用戶提供了豐富的下載資源,如人物模型、動畫、粒子特效、音樂特效及功能腳本等,也提供了形態(tài)各異的三維模型、動畫。開發(fā)者點(diǎn)擊Unity3D開發(fā)引擎界面“窗口”菜單,選擇“資源商店”,在工作區(qū)可見資源商店,再單擊“Seach Online”可在瀏覽器中打開資源商店。如在搜索框中搜索“Hamster 3D”,通過關(guān)鍵詞Hamster和3D可搜索三維地鼠模型,資源商店提供相應(yīng)的資源,開發(fā)者可根據(jù)當(dāng)前需求進(jìn)行下載與導(dǎo)入相應(yīng)資源。但Unity資源商店雖資源豐富,缺少靈活性,為適應(yīng)生產(chǎn)實(shí)際,開發(fā)者還是需要獨(dú)立地創(chuàng)建模型,尤其是中高級模型[7-10]。

2 開發(fā)引擎中三維模型

在Unity中復(fù)雜世界X是由大量簡單物體組成,需要從最基礎(chǔ)的物體開始添加。在Unity場景中可以創(chuàng)建3D幾何物體對象,如球體、立方體、圓柱體、水平面、膠囊體等,可以使用基本幾何體去構(gòu)建物品或場景模型等。在Unity3D開發(fā)引擎界面層級視圖,點(diǎn)擊創(chuàng)建按鈕,選擇3D對象,選擇對應(yīng)三維模型,可創(chuàng)建不同的基本幾何體。如可創(chuàng)建兩個(gè)球體、一個(gè)圓柱體構(gòu)建啞鈴。

3 FBX格式的三維模型

三維模型選用可愛造型的三維地鼠模型和地鼠場景模型,前期已經(jīng)在3ds Max軟件中制作完成,并導(dǎo)出為.FBX模型,如圖1所示。

Unity游戲引擎支持的模型文件不一定全部是FBX格式的3D模型。答案是Unity這款具有超強(qiáng)通用性的游戲引擎,除了支持.fbx格式文件外,還能支持大部分三維動畫制作的文件。目前,Unity支持多種主流的3D模型文件格式導(dǎo)入:有通用的模型文件,如.fbx、.obj格式和原始模型文件,如.max、.mb、.blend等。其中第二種方式需要在電腦安裝模型軟件。通常選用fbx格式的模型文件,原因是它具有節(jié)省資源,文件小的特點(diǎn),且它靈活性高,可減少項(xiàng)目工程的復(fù)雜程度。

4 導(dǎo)入U(xiǎn)nity3D引擎

資源導(dǎo)入U(xiǎn)nity3D引擎的方法有多種,這里介紹兩種:一種是以Unity資源包導(dǎo)入,一種是以文件夾/文件的形式直接導(dǎo)入。

第一種以Unity資源包導(dǎo)入U(xiǎn)nity3D開發(fā)引擎。首先準(zhǔn)備好資源包(文件擴(kuò)展名為.unitypackage),點(diǎn)擊Unity3D開發(fā)引擎界面的資源菜單,選擇“導(dǎo)入”,在彈出對話框中找到對應(yīng)的資源包,即導(dǎo)入。獲取資源包的方法,可以在Unity資源商店里面下載和導(dǎo)入;也可以準(zhǔn)備好Unity工程項(xiàng)目,點(diǎn)擊Assets文件,點(diǎn)擊“資源”菜單,點(diǎn)擊“導(dǎo)出”,選擇存放資源包的位置,點(diǎn)擊確認(rèn),可生成當(dāng)前Unity3D工程項(xiàng)目的資源包(文件擴(kuò)展名為unitypackage)。

第二種,右擊Unity3D開發(fā)引擎界面項(xiàng)目視圖下Assets文件夾,選擇新建文件夾Moles,用于專門存儲三維地鼠模型,將FBX三維模型文件直接拖入該文件夾內(nèi),即導(dǎo)入三維模型,并在Unity3D引擎中可見三維模型縮略圖,如圖2所示。

5 規(guī)范化配置模型

導(dǎo)入模型后,通常需要對三維模型進(jìn)行規(guī)范化配置操作。規(guī)范化操作至少包括對三維模型設(shè)置縮放系數(shù)、網(wǎng)格壓縮、生成光照貼圖等??s放系數(shù),是建立在以立方體(長寬高為1米)為對比三維模型,對照生活中相似事物,設(shè)定縮放系數(shù),使三維地鼠模型符合現(xiàn)實(shí)生活,方便后期構(gòu)建虛擬世界中場景模型。設(shè)置三維地鼠模型的Model選項(xiàng)下,縮放系數(shù)為10。

規(guī)范配置操作1:設(shè)置模型資源的Model面板屬性中Scale Factor屬性、Mesh Compression屬性、Generate LightMap屬性。

Scale Factor屬性,中文名稱為縮放系數(shù):用于矯正不同軟件、不同單位創(chuàng)建的模型資源的大小。即修改Scale Factor屬性參數(shù)值,使3D模型大小貼近生活,提升用戶的VR體驗(yàn)指數(shù)。不能直接到Unity的SCence視圖中直接修改模型的大小,否則可能影響模型的整體參數(shù)如重力、大小等方面。

Unity游戲引擎中物理系統(tǒng)默認(rèn)游戲世界中一個(gè)單位等于1米。也就是說如果在Unity中新建一個(gè)Cube(立方體),立方體的長寬高都是1米。Unity默認(rèn)的系統(tǒng)單位為“米”,為操作方便,在三維軟件中應(yīng)盡量也使用“米”作為單位。各種三維軟件系統(tǒng)在設(shè)置成米制情況下與Unity系統(tǒng)單位的比例關(guān)系如表1所示。

三維軟件中制作3D模型單位不是米,卻也能成功地導(dǎo)入U(xiǎn)nity中,原因是模型能否成功地導(dǎo)入U(xiǎn)nity與模型文件格式有關(guān),與三維軟件使用的單位無關(guān),但三維軟件中使用的單位與Unity中不一致時(shí),會導(dǎo)致導(dǎo)入U(xiǎn)nity后的模型大小與現(xiàn)實(shí)生活中的大小有出入,或者看不見模型。那出現(xiàn)這種狀況時(shí),可以在Unity中以Cube立方體為長寬1米的參考物體大小,結(jié)合生活常識,去設(shè)定整個(gè)場景大小。具體配置場景大小步驟如下:

1)拖動Ground模型到Scence視圖中,創(chuàng)建立方體Cube。

2)比較立方體Cube與Gound模型的大小,以Cube為長寬為1米的大小,結(jié)合

生活常識,估算Gound模型的大小為30×30平方米。

3)點(diǎn)擊在Unity中Project視圖中Moles文件夾內(nèi)的Gound模型,

在審查器Inspector屬性查看器中設(shè)置Scale Factor屬性的參數(shù)值為40。此時(shí)場景模型大小符合現(xiàn)實(shí)。

Model面板中第二屬性是Mesh Compression,中文名稱是網(wǎng)格壓縮,用于壓縮模型,減少項(xiàng)目文件大小。該設(shè)置有四個(gè)選項(xiàng),優(yōu)先選擇該項(xiàng)。

Model面板中第三屬性是Generate LightMap,中文名稱為生成光照貼圖UV通道,勾選后將產(chǎn)生光照貼圖所用的第二UV通道,適用于光照烘焙中靜態(tài)物體產(chǎn)生光照貼圖。

以上屬性參數(shù)值設(shè)置完成后,需要點(diǎn)擊APPLY應(yīng)用,剛剛設(shè)置的參數(shù)值才會有效,見圖4。至少是以上三項(xiàng)都做踏實(shí),才能達(dá)到對三維地鼠模型規(guī)范化處理。

6 檢查三維模型問題

導(dǎo)入模型后,需要對模型添加材質(zhì),本次案例中有四個(gè)三維地鼠模型,分別對其添加材質(zhì)。新建四種材質(zhì),并設(shè)置其Main Maps組件下Albedo參數(shù)添加貼圖,材質(zhì)圖如圖3所示。將這四種材質(zhì)分別給對應(yīng)的三維地鼠模型,效果圖如圖4所示。從圖4可知,黃色地鼠模型貼不上材質(zhì)。

檢查在場景中的地鼠模型對象,發(fā)現(xiàn)地鼠模型被重復(fù)導(dǎo)出,或有空對象(如圖5所示),導(dǎo)致材質(zhì)不知道給哪個(gè)地鼠模型,故黃色地鼠模型貼不上。

導(dǎo)入地鼠場景模型后,場景模型也是不符合現(xiàn)實(shí)實(shí)際生活,需要重塑場景。

7 解決方案

7.1 處理三維地鼠模型

針對以上從建模軟件中三維模型重復(fù)導(dǎo)出、導(dǎo)出多個(gè)空對象等問題,可對場景中地鼠模型對象進(jìn)行處理:右擊每一個(gè)地鼠模型對象,選擇對其完全解壓縮,為其所有子對象“解綁”,即可單獨(dú)刪除(Delete)空對象,或移除重復(fù)導(dǎo)出對象。效果圖如圖6所示。

在打地鼠游戲中,出現(xiàn)一些游戲?qū)ο笪矬w是被反復(fù)使用的,如樹木、狗、花以及不同造型的地鼠對象物體,那么這些反復(fù)被使用的物體,在Unity游戲引擎中通常被創(chuàng)建為預(yù)制體,也就是Prefabs。在打地鼠游戲中,以創(chuàng)建和應(yīng)用地鼠預(yù)制體為例對如何創(chuàng)建預(yù)制體以及如何使用預(yù)制體進(jìn)行講解。

首先按照之前導(dǎo)入3D模型資源的方法,導(dǎo)入地鼠模型;分離地鼠模型材質(zhì),以防止模型材質(zhì)貼圖丟失;將地鼠模型拖入到Scene視圖中,調(diào)整好大小、位置,此時(shí)可發(fā)現(xiàn)在Hierarchy視圖下多了一個(gè)名為Hamster的游戲?qū)ο?,這就是剛剛拖入Scene視圖中的地鼠模型;在Project視圖中Assets資源文件下,創(chuàng)建文件夾,名為Prefabs,將Hierarchy視圖下Hamster的游戲?qū)ο笸先氲皆撐募A內(nèi),此時(shí)可發(fā)現(xiàn)Prefabs文件夾內(nèi)多了一個(gè)預(yù)制體。將刪除掉在Scene視圖中的地鼠模型,可發(fā)現(xiàn)在Prefabs文件夾內(nèi)預(yù)制體還在。將地鼠模型預(yù)制體拖動至Scene視圖中,可見復(fù)制的地鼠對象的字體顏色變成藍(lán)色,說明這是一個(gè)預(yù)制體實(shí)例,按Ctrl+D復(fù)制地鼠模型。類似地創(chuàng)建其他5種不同造型的地鼠模型預(yù)制體,在場景中共建立12個(gè)地鼠模型預(yù)制體。

給地鼠模型添加網(wǎng)格碰撞體,方便后期使用,如地鼠模型與其他物體進(jìn)行碰撞,產(chǎn)生碰撞效果或地鼠落在地面上不會穿越等。

7.2 處理地鼠場景模型

導(dǎo)入及配置3D模型后,需要對模型進(jìn)行重新整合,是它符合現(xiàn)實(shí)規(guī)律,重新塑造生活功能區(qū),讓用戶在打地鼠VR游戲中能有身臨其境的感受。

重塑生活功能區(qū)的準(zhǔn)備工作有:分離場景材質(zhì)球,準(zhǔn)備工作:分離材質(zhì),方便對場景材質(zhì)的屬性進(jìn)行修改。點(diǎn)擊地鼠場景模型,在Inspector屬性查看器中點(diǎn)擊Materials材質(zhì)屬性面板,在Location屬性中,選擇Use External Materials(Legacy),點(diǎn)擊Apply。此時(shí)分離整個(gè)場景中模型的材質(zhì)成功,可以在Moles文件夾下自動生成Materials文件夾,點(diǎn)擊可查看場景中所有材質(zhì)球。準(zhǔn)備工作做好了,可以重塑場景中生活區(qū),貼近生活,增強(qiáng)用戶的VR體驗(yàn)效果。重塑技巧通常需要使用如下幾個(gè)技巧:

1)樹木是集群生長。

2)生活功能區(qū)挨著住宅,飼養(yǎng)區(qū)遠(yuǎn)離住宅區(qū)。

3)以Cube的長寬為1米,調(diào)整地鼠和地鼠洞大小至合適。

4)適當(dāng)?shù)脑黾邮^,豐富充實(shí)場景。

根據(jù)生活經(jīng)驗(yàn)與重塑生活區(qū)的技巧,將整個(gè)游戲場景分為以下幾部分,分別是種植區(qū)、飼養(yǎng)區(qū)、生活功能區(qū)、樹木集群、主游戲區(qū),如圖7所示。

8 結(jié) 論

本文以三維地鼠模型為例,介紹Unity3D開發(fā)引擎平臺、導(dǎo)入三維模型、配置2d71f5805322000dc7328c0fc3f20662bc0eca9b16c87e20aa59c3c400f896c0三維模型、檢查三維模型問題、處理三維模型等環(huán)節(jié)關(guān)鍵技術(shù)和技巧,實(shí)現(xiàn)了從導(dǎo)入三維模型到獲取規(guī)范化三維模型的流程過程,便于后期游戲開發(fā)或構(gòu)建虛擬現(xiàn)實(shí)世界,也更好地優(yōu)化系統(tǒng)運(yùn)行流暢度和執(zhí)行效率。

參考文獻(xiàn):

[1] 段永良,劉敏.一款學(xué)習(xí)型游戲設(shè)計(jì)與制作 [J].工業(yè)控制計(jì)算機(jī),2024,37(1):111-114.

[2] 張鈺,李佳靜,朱向陽,等.ASSISTments平臺:一款優(yōu)秀的智能導(dǎo)學(xué)系統(tǒng) [J].現(xiàn)代教育技術(shù),2018,28(5):102-108.

[3] 吳亞峰,于復(fù)興,索依娜.Unity 3D游戲開發(fā)標(biāo)準(zhǔn)教程 [M].北京:人民郵電出版社,2016:1-3.

[4] 許怡.虛擬現(xiàn)實(shí)技術(shù)發(fā)展下的數(shù)字媒體藝術(shù)設(shè)計(jì)研究 [J].鞋類工藝與設(shè)計(jì),2023,3(19):48-50.

[5] 梁靜,王敏,趙甜甜.基于虛擬現(xiàn)實(shí)技術(shù)的三維漫游系統(tǒng)設(shè)計(jì)與開發(fā)研究 [J].鞋類工藝與設(shè)計(jì),2023,3(23):187-189.

[6] 許欣然,顧鳳梅.一種基于3ds Max和Unity3D的虛擬校園系統(tǒng) [J].中國科技信息,2023(14):74-76.

[7] 曲蘊(yùn)慧,白新國.基于3DMax及Unity3D的博物虛擬展示系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].微型電腦應(yīng)用,2022,38(4):1-3.

[8] 吳保文,楊柏軍.基于3ds Max與Unity 3D的虛擬展廳圖片更新的實(shí)現(xiàn) [J].文山學(xué)院學(xué)報(bào),2016,29(6):56-58.

[9] 宣雨松.Unity3D游戲開發(fā) [M].北京:人民郵電出版社,2012.

[10] 王宇琛,黃蓋先,艾鴻.基于虛擬現(xiàn)實(shí)技術(shù)的3D智慧校園設(shè)計(jì)與實(shí)現(xiàn) [J].智能計(jì)算機(jī)與應(yīng)用,2015,5(2):89-92.

作者簡介:林蘇美(1987—),女,漢族,四川成都人,講師,碩士研究生,研究方向:數(shù)字媒體技術(shù)。

安新县| 灌阳县| 泽库县| 曲麻莱县| 台南县| 绵竹市| 丰城市| 乌鲁木齐市| 都匀市| 兴安盟| 资溪县| 筠连县| 社会| 南和县| 永吉县| 祁门县| 汤阴县| 延长县| 万州区| 普洱| 五家渠市| 赤峰市| 略阳县| 西华县| 杭锦后旗| 阳高县| 陇川县| 鹤峰县| 准格尔旗| 泸西县| 江西省| 临潭县| 临海市| 独山县| 宁夏| 竹山县| 花莲市| 灵寿县| 怀远县| 崇仁县| 淳安县|