LUAスクリプトを用いたエアサスペンション排気音放出

R33 GT-Rの動画を御覧ください。エンジンをExtraAによって始動するように設定してあります。エンジン始動とともに車高が上がります。逆にExtraAをオフにすると車高が下がり、元のサスペンションロッドの長さに戻るように調整しております。

実車のエアサスペンション装着車をご覧になったことがあればわかると思いますが、エンジン始動とともに任意に指定した車高に調整するメモリー起動が搭載されています。それを再現した感じです。車高を一気に落とす場合はエアを排出して車高を下げる仕組みです。

ExtraAをオフにすることで車高が下がる(元に戻る)ようになっております。その際に実車さながらのエア排気音のMP3音声をLUAスクリプトを使って実現しております。

local carSounds = ui.MediaPlayer()
carSounds:setSource('./airsus.mp3'):setAutoPlay(false) -- airsus.mp3を再生するように設定

local wasExtraAOn = false -- ExtraAがオンになったかを管理する変数

function update(dt)
if car.extraA and not wasExtraAOn then
carSounds:pause() -- ExtraAがオンになったら音声を停止する
wasExtraAOn = true -- 状態を更新
elseif not car.extraA and wasExtraAOn then
carSounds:play() -- ExtraAがオフになったら音声を再生する
wasExtraAOn = false -- 状態を更新
end
end

airsus.mp3がエア排気音の音声ファイルになります。こちらはChatGPTを使い生成したスクリプトになります。ExtraAの部分は機能させたいインプットに代入できますので。

今回はエアサス風にアレンジするために使っていますが、他の機能を再現することにも利用できるスクリプトかもしれません。


この記事が気に入ったらサポートをしてみませんか?