~(文章開始)~

目的:匯入新模型車到模擬場景內運作。由於在台灣沒有找到相關的參考文獻,所以我蒐集國外資料及本身對此軟體的理解,在這進行總彙整,讓不懂得朋友參考,也讓以後的我可以回顧。


系統介紹:
Linux ubuntu18.04 
Carla 0.9.11 
Unreal Engine_4.24 
Blender-3.1.2-linux-x64


模型資料夾創建:
參考國外作者,將資料分門別類的歸檔,降低檔名因大小寫不同而發生Error訊息,創建過程如下:
Step1:開啟「Documents」 > 創建資料夾檔名為「Carla_models」 > 依據創建模型種類再創建資料夾,如:「Car_model」、「Truck_model」(注意大小寫)> 再依據車種將模型細分開來,如:「Car00」、「Car01」、...、「CarXX」。


事前準備檔案:
由於後續會使用到UN4裡面的TESLA模型.fbx,所以要事先下載,下載方式如下:

Step1:開啟UN4,開啟方式:開啟終端機於Carla資料夾下 > 輸入make launch-only,如:Figure1

image
Figure 1: 在終端機輸入語法: make launch-only 開啟UE4

Step2:在UN4將下方的Content Browser目錄引導至Content>Carla>Static>Vehicle>4Wheeled>Tesla,如: Figure 2 (a)

Step3:找到SM_TeslaM3_v2 點擊右鍵,如:Figure 2 (b),選擇Asset Actions > Exprot... 將檔案存至剛剛創建的Carla_models資料夾中,選擇FBX File(*.FBX) 再選Save。

image
Figure 2: (a)目錄位置、(b) 選擇的檔案

Step4:系統會彈出FBX Export Options,依下圖勾選再Export,如:Figure 3 。

image
Figure 3


下載模型檔案:

這邊將匯入自己喜歡的模型車,

本範例是使用cgtrader網站裡的免費模型 https://www.cgtrader.com/items/670505/download-page

Step1:點擊上方網址>選擇「RS_coup_FBX.rar」進行下載,如:Figure 4 。

Fig4
Figure 4: 選擇RS_coup_FBX.rar 進行Download

Step2:並將解壓縮的文件放置於上方建議的資料夾中,如:「Documents」>「Carla_models」>「Car_model」>「Car_02」。如:Figure 5 。

Fig5

Figure 5: 壓縮檔案放置Car_02位置 (02為自己定義)


開啟Blender:(還沒安裝可以看此篇文章有教學)

此步驟將設定輪胎轉動,所以使用Blender進行調整。

Step1:開啟一個新的專案,選擇「General」。

Step2:按下鍵盤上的A鍵全選新專案內的所有物件,再按鍵盤上的「delete」。

Step3:在blender畫面右方利用滑鼠左鍵點擊一下「Collection」在到blender畫面左邊按「File」>「Import」>「FBX(.fbx)」,如:Figure 6 

Figure6_0.png
Figure 6

Step4:將SM_TeslaM3_V2.FBX匯入,如:Figure 7 

Figure7_0.png
Figure 7

Step5:依據下方圖示開啟隱藏群組,並將SM_TeslaM3_V2_LOD1、SM_TeslaM3_V2_LOD2、SM_TeslaM3_V2_LOD3的眼睛關閉,如:Figure 8 

image
Figure 8

Step6:再新增一個Collection2,如:Figure 9 

image
Figure 9 

Step7:在blender畫面右方左鍵選擇「Collection2」,在按「File」>「Import」>「FBX(.fbx)」,將剛才下載的模型檔案匯入,如:Figure 10 

Figure10_0.png
Figure 10 

Step8:右邊視窗中所有有包含綠色倒三角形的檔案全選(剛好這個模型只有一個檔案),再點擊Object>Join,如:Figure 11

Figure11_0.png

Figure 11

Step9:接下來,依據下圖,先選擇(1),將(2)替換成圖片中綠色框選處裡的綠色倒三角形名稱,如:Figure 12

Figure12_0.png

Figure 12

Step10:此時會發現模型消失,但其實是變得非常小,我們要將其變大再旋轉成與SM_TeslaM3_V2相同的方向與大小。

(1) 將其選取後,先按下鍵盤R再按Z進行對著Z軸旋轉90度,讓車頭方向與SM_TeslaM3_V2相同。(備註:旋轉後左下角會出現一彈跳視窗,可以指定旋轉角度)

(2) 將其選取後,按下S,透過滑鼠前後移動可以縮放車輛大小,讓此車輛大小與SM_TeslaM3_V2差不多即可.如:Figure 13

image

Figure 13 開啟特斯拉視圖比對

Step11:選擇 (1)畫面中-Y軸,再選擇 (2) Viewport Shacding,將其模型變成透視狀態,如:Figure 14

Figure14_0.png

Figure 14

Step12:讓車輛模型高於紅色X軸之上,所以選擇該模型,按下G移動模型,再按Z讓模型黏在該軸上移動。

Step13:設定輪胎旋轉軸心,先選擇畫面(1)紅框處,將其編輯狀態改為Edit Mode,再按住ctrl點擊(2) Wheel_Front_Left 、Wheel_Front_Right ,滑鼠點擊(3) Move the vlew移動畫面至前輪的範圍,如:Figure 15(a),再按G移動軸心點至輪胎中心,後輪軸心點也如法炮製,完成後,如:Figure 15(b)所示。

Figure15_0_a.png

Figure 15(a)

Figure15_0_b.png

Figure 15(b)

Step14:設定旋轉物件部位,將左上角改成Object Mode (1),點擊畫面右邊SM_TeslaM3_v2_LOD0 (2),再點擊(3)綠色倒三角形,於(4)Vertex Groups欄位中按"+"新增下列四個輪胎項目(手打上去),如:Figure 16

Figure16_0.png

Figure 16

Step15:於軟體右測單獨選擇其中一個輪胎(1),如:Wheel_Front_Left ,再將軟體左上改成 Edit Mode (2),選擇(3)滑鼠左鍵長按,選擇Select Circle,再將(4) Radius改成 50,如:Figure 17

Figure17_0.png

Figure 17

Step16:選擇Wheel_Front_Left,按住鍵盤shift+滑鼠左鍵,將輪胎部分塗滿,塗錯的部分請按ctrl+滑鼠左鍵將其塗銷,塗好一輪後按Assign,如:Figure 18。其他輪胎部分如法炮製,如:Figure 19。

(備註:如果有些線段是無法輕易用ctrl+滑鼠左鍵塗銷,可以按ctrl+小鍵盤上的"-",軟體會自動刪除多餘的線段。另外,該步驟要先搭配 Step15的選擇後才有辦法執行)

Figure18_0.png

Figure 18

Figure19_0.png

Figure 19

Step17:先點選SM_TeslaM3_v2_LOD0 > 選擇下方其中一輪,再到軟體畫面左上方選擇"Weight Paint"再點擊群組中的每一輪查看是否與剛剛繪製的輪胎部位一致,如:Figure 20

(備註:做到這步時,從下圖會發現車燈處有綠黃色,可能是塗輪胎時,有其他非輪胎線段不小心塗到,我後來是整個模型殺掉重新再塗一次,就沒有這個問題了,如果不除錯繼續往下個步驟做模型開始動作時會很滑稽)

Figure20_0.png

Figure20

Step18:軟體畫面左上方選擇"Object Mode (1)"接著要設定旋轉的方向,點擊畫面右邊群組中的Vehicle_Base (2),展開Pose(3),選擇其中一輪,再將軟體畫面左上方選擇"Pose Mode (4)",再選擇"(5)Bone Constraint Properties ",如:Figure 21

Figure21_0.png

Figure 21

Step19:點擊(1)"Add Bone Constraint"下拉式選單,選擇(2)"Limit Location",將選單中的項目依據下圖選擇及勾選,如:Figure 22

Figure22_0.png

Figure 22

Step20:點擊(1)"Add Bone Constraint"下拉式選單,選擇(2)"Limit Rotation",將選單中的項目依據下圖選擇及勾選,如:Figure 23

Figure23_0.png

Figure 23

Step21:其他3輪也如法泡製。

Step22:再來選擇其中一輪按下鍵盤上的R,再投過滑鼠滑動,預先觀察輪胎是否如期旋轉。

Step23:將其他SM_TeslaM3_LOD1、SM_TeslaM3_LOD2、SM_TeslaM3_LOD3 的模型刪除,如:Figure 24

Figure24_0.png

Figure 24

Step24:最後確認一次輪胎轉動方向,點擊 (1)框選處其中一輪,(2)選擇Pose Mode,(3)紅框處,再來點擊綠框中的每一個輪胎,檢查是否與圖片上的箭頭顏色方向相同,如:Figure 25

Figure25_0.png

Figure 25

Step25:儲存Blender專案。

Step26:導出模型選擇File>Export>FBX(.fbx),勾選項目如:Figure 26 紅框處所示。

Figure25_0.png

Figure 26

到此步驟已經設定好基本模型了,可關閉Blender。


開啟Unreal Engine 4:

在UN4中設定模型參數。

Step1:開啟UN4,將路徑移轉到Content>Carla>Static>Vehicle>4Wheeled,並創建一新資料夾名稱與模型名稱相同,如:Car02。如:Figure 1所示。

圖片1.png

Figure 1

Step2:進到Car02資料夾中,Import Blender 調整後的模型。彈出來的FBX Import Options視窗功能不需調整,點擊Import All即可,將會看到下圖,如:Figure 2

圖片2.png

Figure 2

Step3:點擊兩下Car02_PhysicsAsset 。

Step4:每個輪胎,依下圖步驟,逐一勾選與修改,如:Figure 3

圖片3.png

Figure 3

備註:滑鼠左鍵按住不放,透過鍵盤W、A、S、D即可將畫面 前、左、後、右、的進行調整。

Step5:點擊車身,並將Primitive Type:Box,如:Figure 4 (1),再點擊(2)選擇2.812 度,點擊(3)黃色彎曲拉桿將角度調整成水平,點擊(4)拉桿即可放大縮小BOX,另外,輪胎也把它調整大一點,如圖就沒錯。

圖片4.png

Figure 4

 

Step6:點擊左上Save,再關閉該視窗。

Step7:空白處按右鍵>Anumation>Anumation Blueprint,如:Figure 5。再由Figure 6 搜尋指定項目點擊ok。

圖片5.png

Figure 5

圖片6.png

Figure 6

Step8:將檔案命名為: BP_Car02_anim,如:Figure 7

圖片7.png

Figure 7

Step9:回到下圖頁面,打開Tesla_Animetion,如:Figure 8

圖片8.png

Figure 8

Step10:點擊(1) AnimGraph,將裡面(2) 4個方塊框選並Ctrl+C,如:Figure 9

圖片9.png

Figure 9

Step11:回到Step8 剛剛創建的檔案裏面,將Step10所複製的內容貼進去,點擊Compile,再點Save,如:Figure 10

圖片10.png

Figure 10

Step12:將UN4目錄退回Content>Carla,並進入Blueprints>Vehicles,如:Figure 11

圖片11.png

Figure 11

Step13:在此目錄下點擊滑鼠右鍵創建新資料夾,並命名為:Car02,如:Figure 12

圖片12.png

Figure 12

Step14:進入Car02資料夾中,點擊滑鼠右鍵>選擇Blueprint Class,在搜尋欄中打入 VehicleWheel,點擊 Selet。需要創建兩個檔案,名稱分別「Car02_FrontWheel」、「Car02_RearWheel」如Figure 13所示。

圖片13.png

Figure 13

Step15:點擊開啟Car02_FrontWheel,將模型輪胎「半徑(範例為:50cm)」與「胎寬(範例為:12cm)」數值設定,設定方法與量測方法如Figure 14所示。設定完成後點擊Compile,再點Save。

圖片14.png

Figure 14

Step16:點擊開啟Car02_RearWheel,並依Figure 15設定。設定完成後點擊Compile,再點Save。

圖片15.png

Figure 15

Step17:依據下圖創建一新檔案,並且命名為BP_Car02,如Figure 16所示。

圖片16.png

Figure 16

Step18:開啟BP_Car02,彈出視窗中左邊選擇Mesh(Inherited),將Anim Class與Skeletal Meshf選擇如Figure 17所示。

圖片17.png

Figure 17

Step19:同一視窗中再選擇VehicleMovement(Inherited),再右側搜尋處打上「Wheel」,並將Wheel Class依序改成Car02_FrontWheel、Car02_FrontWheel、Car02_RearWheel、Car02_RearWheel,如Figure 18所示。設定完成後點擊Compile,再點Save。

圖片18.png

Figure 18

Step20:UE4目錄回到Content>Carla>Blueprints>Vehicles,如Figure 19所示。

圖片19.png

Figure 19

Step21:開啟Vehicle Factory,點擊Vehicle,右邊選擇+,卷軸拉到最下方,依Figure 20選擇對應參數Make:Car、Model:Car02、Class:BP_Car02。設定完成後點擊Compile,再點Save。

圖片20.png

Figure 20

Step22:在UN4點擊Play。

Step23:在Carla>PythonAPI>examples中開啟終端機,並打上 python3 manual_control.py --filter car02 ,如:Figure 21所示。

圖片21.png

Figure 21

備註:前面步驟一直以來Car02的C都是大寫,可是這邊卻要key小寫,我也不知道為什麼。

最後成果如下圖所示:

圖片99.png

至於為什麼沒顏色,這點我也還在研究。如果有人知道,歡迎下方留言!

~(文章結束)~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

創作者介紹
創作者 小田記事專區 的頭像
小田(JasonTian)

小田記事專區

小田(JasonTian) 發表在 痞客邦 留言(0) 人氣( 1112 )