天天看點

UE4 藍圖制作三維彈球學習筆記(一)UE4 藍圖制作三維彈球學習筆記(一)

UE4 藍圖制作三維彈球學習筆記(一)

1、BP_PinBall

Viewport

給小球Static Mesh作為根節點并添加模型,選中Simulate Physics增加實體特性。添加聲音元件Audio作為子元件。

Event Graph

(1)、防止小球飛起。使用LineTraceByChannel從小球位置發射射線到小球位置Z軸-500位置。觸碰地面傳回OutHit(射線命中的第一個物體),再選擇Break Hit Result選取Impact Normal(射線碰撞物體切面的機關法向量)。Impact Normal取負 × StickKnes(自定義變量粘合力) × Delta Seconds(每一幀執行所花時間)将最後結果(Vector)賦給Add Impulse。

(2)、根據小球速度設定聲音和音調。Get Velocity(小球目前速度) 使用VectorLength變為float÷小球的最大速度(遊戲運作測試所得大約值)。獲得一個0~1的float音量值,使用Clamp(float)限制最大值和最小值。将音量值傳給Set Volume Multiplier(音量)和Set Pitch Multiplier(音調)。

2、BP_Bumper

Viewport

添加Static Mesh作為根元件使用BumperBase模型,再添加Static Mesh作為子元件使用BumperBot模型。添加Capsule Collision作為碰撞元件,選擇OverlapAllDynamic(僅作為觸發器不會有阻擋效果)。添加PointLight位于BumperBase中心。

Event Graph

(1)、與Bumper碰撞時為小球添加一個反彈速度(直接添加力的話效果不好)。add Custom Event命名為Bump,在Input中添加名字為Ball類型為BP_PinBall的變量。使用Set Physics Linear Velocity為小球添加速度。通過GetActorLocation擷取小球位置和Bumper位置使用Get Unit Direction Vector建立方向的機關向量×變量,進而獲得速度向量。将速度向量賦給Set Physics Linear Velocity。

(2)、與Bumper碰撞時在Bumper上添加聲音。使用Spawn Sound Attached為Bumper Base添加一個聲音。

(3)、與Bumper碰撞時BumperBot往下移動。使用SetRelativeLocation(設定相對距離)通Lerp(Vector)線性移動BumperBot。使用TimeLine根據時間将Alpha值賦予lerp(Vector)。

(4)、與Bumper碰撞時使Bumper表面材質變為發光質感。使用Set Scalar Parameter Value on Materials調節材質中Emissive變量值,同樣通過Lerp和TimeLine提供的Alpha值完成線性變換。

(5)、與Bumper碰撞時使PointLight亮度提高。使用Set Intensity改變PointLight亮度,同樣通過Lerp和TimeLine提供的Alpha值完成線性變換。。

繼續閱讀