Unityで衝突の強さによって音量を変えるUnityで衝突の強さによって音量を変える衝突したときの音を衝突の強さによって変えてみます。Sphereのプレハブと音声を用意します。SphereにはコライダーとRigidbodyがついています。Planeで段差を作って一番上にCubeを置きました。Sphereを発射させる位置に空のゲームオブジェクトを起きます。空のゲームオブジェクトにスクリプトを付けます。このスクリプトで、Fキーを押すとSphereがCubeに向かって発射されるようにします。Source、新規スクリプトを付けました。Awakeのチェックを外します。Listenerのついたオブジェクトと音源との距離によって音量が変わるのでまずは2Dにします。Cubeのスクリプトでは衝突のインパルスのベクトルの長さを調べて、0~1の間の値にして、それをAudioSourceの音量にしています。衝突のインパルスで、magnitudeでそのベクトルの長さが返ります。0~1の値になるように、適当な値で割っています。0~1のfloat値を入れます。衝突のインパルスのベクトルの長さと音量をコンソールに表示させています。Cubeの衝突の強さによって音量が変わっています。Blendを3Dにしてみます。メインカメラがCubeから離れている分聞こえにくいですが、衝突によって音量が変わっているのがわかると思います。﻿プロフィール猫ロモーフねころもーふUnityでゲームを作っています。Design:Template-Party。