Unity3D – EasyRoad V3 – 『真』環形路面製作

簡介

我們在透過EZ Road製作道路物件時,通常都是拉直線路面,即使遇到彎道,也不會太仔細的去調整他正確的弧度,但是當你要製作非常精準的道路物件且是弧形的時候,我發現一個功能既可以節省EZ Road結點也可以非常準確的拉出完美環形路面。

最初我是想使用 ConnectionRoad 的圓環來製作「真 」 環形路面,但是它有幾個限制,1.必須至少有一個圓環出口連接處,2.最大半徑只能80m,所以活用度太低了,必須想其他方法。

後來我就想透過3D軟體製作圓形,匯入Unity給EZ Road來描繪,但是假如遇到半徑很大的環形路面,這方法必須拉非常多的EZ Road點來讓路面呈現完美弧形,但也是有可能拉出來的弧形也不是正弧形,且要耗費一些時間來調整。

根據在錯誤中學習的情況下,我就再繼續從EZ Road的調整參數著手,就發現了某個功能可以完美達成,容我介紹一下。

Marker PropertiesControl Type

我想藉由上圖說明怎麼不用EZ Road圓環來製作真環形路面,可以看到最大值只到80m,且一開始新增圓環時會有四個路口接點,但當你按下「Delete Connection」到最後一個時,系統就會報錯了。這也是開始找EZ Road有無參數可以製作環形路面的開端。

當我們開始拉路面時,要有環形的效果必須至少有3個EZ Road的結點,如上圖,我先透過Gizmo畫出再Editor可以校準結點的環形。我三個節點分別在Gizmo圓形的0度,45度,90度放上結點,如上圖,可以看到這條路沒有跟著Gizmo的輪廓。

嘗試了很久,也找實驗了一些方法,在EZ Road參數設定中的「Road Maker → Control Type」中可以實現真環形路面的實作。我就來一一介紹每個選項的不同之處。

  • Spline Controller : 這是預設的Control Type,3個節點都選擇這個選項當然就會像上上圖的樣子,他會中間的點與兩端的點做一個平滑的曲線,假如三點都選擇這個選項是無法製作出真環形路面的。先提醒大家一下,要實現真環形路面也是會跟「Road Setting中的Resolution」有關。
  • Straight XZ : 該結點假如選擇這選項,會跟上一個與下一個結點做直線的效果,先看到第一組的比較圖,從剖面看可以看出與Spline Controller選項的差異。第二組圖左測試都選擇Straight XZ的樣子,完全沒有曲線的效果,但是向右圖的第二與第三節點選擇Spline Controller第一點選Straight XZ,第一點與第二點的線會比較直,假如現實生活中有這種路面就可以做這樣的搭配。
  • Straight XYZ : 選這選項後會將該結點會跟鄰近的節點做完美的直線,如上圖一所示,但當你要製作真環形路面的時候,該選項是最能完美實現真環形道路,上圖二是我實驗出來的結果,當你在一條路面的頭跟尾節點選擇Straight XYZ,中間的結點都選擇會將路面已曲線呈現的Spline Controller,將會構成比較正的圓形,而假如你想要在更環,你可以在Straight XYZ中間加更多點。
  • Circular : 其實這才是最快製作出真環形路面的選項,如上圖所示,在三個節點的中間假如選擇該選項,會與前後結點的彎曲角度最完美,要注意的是該結點不可以在頭尾節點選Circular。

但我為什麼真環形路面我不選擇Circular來製作真環形路面?很不巧的Circular還是有半徑限制,大概是125M如上圖一。當你再把結點往旁邊拉想要擴大環形時,她就不讓你長大,且會變得很奇怪。

小結

可以看到上圖,假如我們想要製作半徑超過125公尺的真環形路面,我們就要使用

>>>「Straight XZY + Spline Controller * n 個結點 + Straight XZY」

那假如小於125m的話我們可以使用

>>>「頭尾不要選Circular其他都可以,中間的選Circular」

這算是再操作EZ Road套件時的一個小技巧,但透過這幾個選項的搭配也是可以省下你不少時間來製作「真」環形路面。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *