虛幻4 spline組件、spline mesh組件的用法

最近公司項目需要,把這兩個東東好好看了下。不得不說,這兩個組件還是非常方便的,但是相關的介紹、教程卻非常的少。它們概念模糊,用法奇特,我就總結下吧。

首先,先要明白spline component。spline,中文翻譯樣條曲線,所以虛幻裏的spline組件就是一條曲線,支持增加減少點、曲線點自動光滑連接等功能。通過spline組件可以獲得spline曲線上所有點的座標信息、切線信息。因此,可以通過spline製作特殊的路線,通過其座標信息來促使某個actor、特效等沿着該路線移動。如下是官方的一個例子(特效沿着曲線移動)。

這裏寫圖片描述

這裏寫圖片描述

spline mesh component組件是在static mesh組件的基礎上加上了一個spline而已,通過它自帶的spline組件我們可以精細的控制static mesh的各種特性,達到我們需要的轉換。其細節面板如下:

這裏寫圖片描述

可以看到,這裏重要的就是spline mesh這個地方,主要控制起點座標、切線,終點座標、切線,及forward axis朝向。其實這裏的信息都是下面spline樣條曲線裏的。官方例子:

這裏寫圖片描述

這裏寫圖片描述

下面總結下spline和spline mesh的典型用法。

一、在spline曲線上不斷增加static mesh組件,效果如下:

這裏寫圖片描述

代碼比較簡單,只需沿spline隔特定距離(根據需要,可以用總距離除以需要增加static mesh的個數)add static mesh即可,然後根據距離得到某點的座標、旋轉信息即可(get world location/rotation at distance along spline)。

二、在spline曲線上不斷增加spline mesh組件,效果如下:
這裏寫圖片描述

相比增加static mesh組件,增加spline mesh組件可以使銜接處過渡更加自然,一般用於製作道路等連續化的東西。
另外,這裏是根據spline的點來增加spline mesh組件的,可以準確方便的控制轉彎處。

三、某個actor、特效等沿着spline移動。

這裏寫圖片描述

這裏需要結合timeline時間軸來實現,方便控制運動時間、速率。timeline的float曲線(時間0到5,值0到1)輸出值相當於一個比值,乘以spline 的總長度就可以在給定時間內遍歷spline曲線所有點。

四、製作某些動畫效果,主要也是利用spline曲線的座標信息。

這裏寫圖片描述

控制這個植物沿曲線逐漸出現,模擬植物生長的效果。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章