#ユニティちゃん歩く走る減衰する
前回「ユニティちゃん歩く走るくつろぐ」からの更新点は
・今回はカメラを固定して、距離減衰を試みてみた。
・ADX2LEのプロジェクトも更新してみた。
・ADX2LEのプラグインも更新(v202)してみた。
・自作メータカスタムプラグインMyCriAtomMixerを追加してみた。
#動画
#ダウンロード (Unityパッケージ)はこちら
Unity_FootstepsADX2LE_tatmos20160414_2.unitypackage
UnityChanFootsteps_ADX2LE_20140414.zip ADX2LEのAtomCraftTool用データ
上記パッケージをインポートして自由に使っていただいて構いません。
ってか遊んでみてね。
#距離減衰の設定
##「footstep」キューの「3Dポジショニング」で、「減衰距離」を設定
最大80.00
最小4.00
単位はメートルなのでかなり遠くまで聞こえるようにしている。
##「ウェーブフォームリージョン」の「パンのタイプ」をオート(パン3D/3Dポジショニング)
リストで「フィルタ」を使って一括で設定している。
#リスナーをカメラに設定
CriAtomListenerをカメラにつけた。
#SoundManagerをユニティちゃんの下に置いた
音の位置を動かすためCriAtomSourceを配置。
#ボールにもCriAtomSourceを置いた
ボールが床に接触したときも音がなるようにした。
Pitchを低くした。
#スクリプト変更
##CriAtomSourceをインスペクタから指定できるようにした。
ユニティちゃんとボールでそれぞれで音の鳴る位置ごとに
CriAtomSourceが必要なので。。。
using UnityEngine;
using System.Collections;
public class play_footstep : MonoBehaviour {
public CriAtomSource sound_manager = null;
// Use this for initialization
void Start () {
if(sound_manager == null){
// SoundManagerにアクセスできるようにする。
sound_manager = GameObject.FindGameObjectWithTag ("SoundManager").GetComponent<CriAtomSource>();
}
// 初期状態をrunに。
sound_manager.player.SetSelectorLabel ("state","run");
}
// 接地したら
void OnTriggerEnter (Collider col){
if(col.tag == "ground")
{
// 触れたオブジェのマテリアルを取得(tagで検出も実装しても良いと思う)
Renderer renderer = col.gameObject.GetComponent<Renderer> ();
if(renderer != null){
string change_material = renderer.sharedMaterial.name;
Debug.Log (change_material);
// 地面のタイプを変更し、再生
sound_manager.player.SetSelectorLabel ("ground_type",change_material);
sound_manager.Play();
}
}
}
}
#メーター
自作メータカスタムプラグインMyCriAtomMixerを追加してみた。
小さい音がでているかとか視覚的にわかるので便利。
#その他細かい変更点
カメラ位置とか少し修正したり。
マップも少し複雑にしています。