Unity3d 内に、一定量のフレームで音楽をフェードアウトする静的関数を作成しました。この関数は、Unity3d の FixedUpdate() 内に配置されているため、実際の時間に従って更新されます (または、少なくとも近いことが望ましい)。
線形フェードアウトの現在の計算は次のようになります。
if (CurrentFrames > 0) {
AudioSourceObject.volume = ((CurrentFrames / TotalFrames) * TotalVolume);
}
if (CurrentFrames <= 0) {
AudioSourceObject.volume = 0.00f;
return 0;
}
CurrentFrames--;
これは、FadeOutBGM(NumberOfFrames);... のような関数を作成する簡単な方法としてうまく機能しますが、この関数を使用して対数フェードアウトを作成する方法を検討しています。
オンラインで方程式を見て、私は何をすべきかについて完全に混乱しています。