SlideShare a Scribd company logo
1 of 66
「Unityサウンド入門編」と
「サウンドワークショップ事例」
  【TechBuzz】2012-09-27 田中孝
【駆け上がれ馬ども】iOS版
  リリースしました




 是非、ダウンロードしてみてください。
      【KakeagareUmadomo】で検索
           AppStoreへのリンクは
 http://itunes.apple.com/jp/app/i-lian-genlite/
    id552793968?mt=8&ign-mpt=uo%3D4
レジュメ


• Unity サウンド入門
 「ゲームジャムで作成したプログラムの説明」を通して
 「サウンドプログラムって奥が深い」と言う事を伝えたい


• サウンドワークショップ事例
 「ワークショップで紹介したUnityとツールの連携」
 のデモを通して
 「もっとサウンドを調整できる事」を伝えたい
【Unityサウンド入門編】

 サウンド製作(DTMとか波形編集とか)
 に関してはググるといろいろありますが

   【ゲームの音を鳴らす方法】って
    なかなか見当たらない。

今回は「サウンドプログラマの入門編」です。
Unityで作成した
 「駆け上がれ馬ども」の
【サウンド関連のプログラム】
   を紹介します。
合計16個のサウンドを用意

 【BGM】2個                 【効果音】8個
 •BGM(メインBGM)            •eat(ばくっ)
 •ending(エンディングBGM)      •flagget(ゲット音)
【台詞】6個
                         •jet(ステージクリア音)
•CountDown(3、2、1)
                         •picon(馬カウント音)
•staff(スタッフロール読み上げ)
                         •shoten(短いアーメン)
•retry(やりなおし!)
•takenokoserif(たけのこ!)    •Start(ステージ開始ファンファーレ)
•titlecall(かけあがれ、うまども)   •tick(時計音)
•ninjin(にんじーん!)
合計16個のサウンドを用意




とりあえず、音を聞いてみます。
UNITY WEBPLAYER版↓
http://chahix.ddo.jp/~chahi/unity/20120806FGJ12/soundTest.html
これらの「16個の音」を
 どうやって用意したか
   というと事で
 制作ツールをさらっと紹介
合計16個のサウンドを用意




これらのツールを駆使してwavファイルを作ります。
DAWの【Logic Pro】 で
効果音、BGMを作った。
     ライブラリから
   馬の鳴き声を検索したり
 ソフトシンセで効果音を作ったり
   声にエフェクトをかけたり
声は( VOICEROID+民安ともえ)
      を使いました。
   なお、無料アプリの使用は問題ないですが、
   商用アプリで使う場合は問い合わせが必要
波形のモノラル化、レート
 変更、トリミングは
Audacityを使いました。
できたwavファイルをUnityへ追加します。
波形ファイル(.wav)を
Resources/Sound以下に配置



          Unity側の波形の設定
          3D Sound、Format等
            はここで行う
これらの16個の音を
    【ただ鳴らす】だけではなく
   ゲーム中不自然にならないように
また【効果的になるような演出】をしています。
サウンド関連処理すべてを
【SoundManager.cs】スクリプトで
      行っています。
【SoundManager】
  プレファブを作り
Resourcesに置きました
  【SoundManager】は
  すべてのシーンに存在し
ゲーム中で音を鳴らしたい場合は
 これを経由して鳴らします。
【SoundManager】を検索して
              関数を呼び出しています。
   public class GameMain : MonoBehaviour {
�
SoundManager sm;
void Start () {��
� GameObject go = GameObject.FindGameObjectWithTag("SoundManager");
� if(go == null){
� � go = GameObject.Instantiate(Resources.Load("SoundManager",
typeof(GameObject))) as GameObject;
� }
� sm = go.GetComponent<SoundManager>();
}

public void Hoge()
{
�������sm.PlayHoge();� //�「Hoge」を再生
}
複数人でシーンを作っ
   ていて、
【SoundManager】
配置忘れが起るのを
  避けるため、
プログラムで自動的に
クローンを作るように
  していた。
クローンはこんな感じで作られた
    using UnityEngine;
using System.Collections;

public class GameMain : MonoBehaviour {
�
� SoundManager sm;

� void Start () {� � � � � � �
� � GameObject go = GameObject.FindGameObjectWithTag("SoundManager");
� � if(go == null){
� � � go = GameObject.Instantiate(Resources.Load("SoundManager",
typeof(GameObject))) as GameObject;
� � }
� � sm = go.GetComponent<SoundManager>();
� �
ちなみにTag検索してます
    using UnityEngine;
using System.Collections;

public class GameMain : MonoBehaviour {
�
� SoundManager sm;

� void Start () {� � � � � � �
� � GameObject go = GameObject.FindGameObjectWithTag("SoundManager");
� � if(go == null){
� � � go = GameObject.Instantiate(Resources.Load("SoundManager",
typeof(GameObject))) as GameObject;
� � }
� � sm = go.GetComponent<SoundManager>();
� �
さて、ここからは
  【SoundManager.cs】が
サウンド関連で何をしているかを
ソースを見ながら説明します。
AudioClip
    using UnityEngine;
using System.Collections;

public class SoundManager : MonoBehaviour {
�  AudioClip bgm0;                            16個の波形の登録の為
�  AudioClip start;
�  AudioClip jet;
�  AudioClip picon;
                                                AudioClipを
�  AudioClip tick;
�
�
   AudioClip takenoko;
   AudioClip countDown;
                                                ファイル名
�  AudioClip takenokoserif;
�  AudioClip ninjin;                          そのまま変数名にして
�  AudioClip staff;
�  AudioClip titleCall;
�  AudioClip eat;                                  宣言
�  AudioClip shoten;
�  AudioClip retry;
�  AudioClip flagget;
�  AudioClip ending;
�
【Awake】で【Resources】からロードし
        ソースだけで登録を済ませる。(ミス防止)
        ファイル名と変数名も同じに。(ミス防止)

    �   �    bgm0 = Resources.Load("Sound/BGM0", typeof(AudioClip)) as AudioClip;
�   �   start = Resources.Load("Sound/Start", typeof(AudioClip)) as AudioClip;
�   �   jet = Resources.Load("Sound/jet", typeof(AudioClip)) as AudioClip;
�   �   picon = Resources.Load("Sound/picon", typeof(AudioClip)) as AudioClip;
�   �   tick = Resources.Load("Sound/tick", typeof(AudioClip)) as AudioClip;
�   �   takenoko = Resources.Load("Sound/takenoko", typeof(AudioClip)) as AudioClip;
�   �   countDown = Resources.Load("Sound/CountDown", typeof(AudioClip)) as AudioClip;
�   �   takenokoserif = Resources.Load("Sound/takenokoserif", typeof(AudioClip)) as AudioClip;
�   �   ninjin = Resources.Load("Sound/ninjin", typeof(AudioClip)) as AudioClip;
�   �   staff = Resources.Load("Sound/staff", typeof(AudioClip)) as AudioClip;
�   �   titleCall = Resources.Load("Sound/titlecall", typeof(AudioClip)) as AudioClip;
�   �   eat = Resources.Load("Sound/eat", typeof(AudioClip)) as AudioClip;
�   �   shoten = Resources.Load("Sound/shoten", typeof(AudioClip)) as AudioClip;
�   �   retry = Resources.Load("Sound/retry", typeof(AudioClip)) as AudioClip;
�   �   flagget = Resources.Load("Sound/flagget", typeof(AudioClip)) as AudioClip;
�   �   ending= Resources.Load("Sound/ending", typeof(AudioClip)) as AudioClip;�
�  AudioSource audioSourceBgm;�
                                                              【AudioSource】は
�   AudioSource audioSourceJet;                                発音単位で必要。
�
�   int maxPicon = 10;
�   AudioSource[] audioSourcePicon = new AudioSource[10];       【Picon音】は
�   AudioSource audioSourceTick;
                                                            連続コンボ音で使うので10個用
�   AudioSource audioSourceTakenoko;
�   AudioSource audioSourceTakenokoSerif;                          意。
�   AudioSource audioSourceCountDown;
�   AudioSource audioSourceNinjin;
�   AudioSource audioSourceStaff;                             あとの音は一音色
�   AudioSource audioSourceEat;
�   AudioSource audioSourceShoten;                              一ボイス。
�   AudioSource audioSourceFlagget;
�                                                                間違って
�   int piconCount = 0;
�   �                                                        沢山リクエストしても
                                                               【後着優先】
                                                             【モノフォニック】
                                                                 になる。
Awakeで【AudioSource】生成。
        【AudioSource】一つで一つ音が鳴る。
         同時に10音+11音鳴る可能性がある。

    �   void Awake () {
�   �   audioSourceBgm = gameObject.AddComponent<AudioSource>();
�   �   audioSourceJet = gameObject.AddComponent<AudioSource>();
�   �   for(int i =0;i<maxPicon;i++){
�   �   �   audioSourcePicon[i] = gameObject.AddComponent<AudioSource>();
�   �   }
�   �   audioSourceTick = gameObject.AddComponent<AudioSource>();
�   �   audioSourceTakenoko = gameObject.AddComponent<AudioSource>();
�   �   audioSourceTakenokoSerif = gameObject.AddComponent<AudioSource>();
�   �   audioSourceCountDown = gameObject.AddComponent<AudioSource>();
�   �   audioSourceNinjin = gameObject.AddComponent<AudioSource>();
�   �   audioSourceStaff = gameObject.AddComponent<AudioSource>();
�   �   audioSourceEat = gameObject.AddComponent<AudioSource>();
�   �   audioSourceShoten = gameObject.AddComponent<AudioSource>();
�   �   audioSourceFlagget = gameObject.AddComponent<AudioSource>();
�   �
GameObject.DontDestroyOnLoad(this.gameObject);




        【SoundManager】は
一度生成したら破棄されないように
【DontDestroyOnLoad】を呼ぶ
これで、シーンが切り替わっても
  BGMが途切れなくなります。
例えば【BGM】は
明らかに一つしか鳴らないから、
 【EndingのBGM】と兼用したり
節約できるところは節約しています。
再生関数はすべてカプセル化。
【サウンドイベント】や【キュー】という考え方。
  サウンド処理ごとに関数を用意した。
   こうすると、後で拡張しやすい。
ほとんどただ
    �   public void PlayEnding()
�   {
�   �   audioSourceBgm.clip = ending;         再生するだけの
�   �   audioSourceBgm.loop = true;
�   �   audioSourceBgm.Play();�   �             関数。
�   }
�
�   public void PlayBGM()
�
�
    {
    �  audioSourceBgm.clip = bgm0;
                                            後で拡張しても呼び出し
�   �  audioSourceBgm.loop = true;
�   �  audioSourceBgm.Play();�  �           側のソースは弄らないで
�   }
�
�   public void PlayFlagget()
                                                済む。
�   {
�   �  audioSourceFlagget.clip = flagget;
�   �  audioSourceFlagget.Play();
�   }                                       【BGM】は共有なので
                                            【clip】指定している。
余談
リトライは「やりなおし∼」とやる気無い声で
馬が昇天する時は、「ヤラレチャッタ」という
    感じなど意識して作った。
左側のボタンが関数呼び出しテスト




サウンドテストがあると
大まかなな音量バランス調整がしやすい
UNITY WEBPLAYER版↓
http://chahix.ddo.jp/~chahi/unity/20120806FGJ12/soundTest.html
public void PlayRetry()
�   {
�   �  audioSourceStaff.clip = retry;
�   �  audioSourceStaff.Play();
�   }                                     音が鳴りそうな部分は先
�
�   public void PlayShoten()              に空の関数でも良いので
�   {
�   �  audioSourceShoten.clip = shoten;
�   �  audioSourceShoten.Play();           用意しておくと、
�   }
�                                         後で音を付けるといった
�   public void PlayEat()
�   {
�   �  audioSourceEat.clip = eat;           ことも可能。
�   �  audioSourceEat.Play();
�   }
�
にんじんを投げる時に
 「にんじーん」とかけ声が入る。

連続して投げ入れても一音しか鳴らない。
   音割れとかしなくて良い。
�   public void TitleCall()
�   {
�   �   audioSourceStaff.clip = titleCall;
�   �   audioSourceStaff.Play();
�   }
�
�   public void PlayStaff()
�   {
�   �  audioSourceStaff.clip = staff;        途中からPlay〇〇に関数
�   �  audioSourceStaff.Play();� �
�
�
    }                                            名を統一した。
�   public void PlayNinjin()
�   {� �
�   �  audioSourceNinjin.clip = ninjin;                ので、
�   �  audioSourceNinjin.Play();
                                                     最初に作った
�   }
                                             TitleCallだけ関数名が命名規則違う・・・
余談
  タケノコが伸びる音はシンセ音

だけだったけど、途中で声も追加した。
�   public void PlayTakenoko()                         「タケノコ!」
�   {
�
�
    �
    �
        audioSourceTakenoko.clip = takenoko;
        audioSourceTakenoko.Play();
                                                         と言ってほしいと要望が
�   �
�   �   audioSourceTakenokoSerif.clip = takenokoserif;     あった為、
�   �   audioSourceTakenokoSerif.Play();
�   }
                                                           波形追加。



             一つの波形におさめてもよかったけど、
               音量調整の為同時再生にしています。
ゴール時、馬がゴールに入ると
  3秒間だけ「チクタク」時計が鳴る。
その間にゴールした馬だけスコアに加算される。
   加算されるので音程が上がる。
  連続して入ると音がどんどん上がる。
  【連続コンボヒット】の気持ちよさ。
public void PlayTickStart()
�   {
�   �  if(audioSourceTick.isPlaying == false){
�   �  �    audioSourceTick.clip = tick;
�   �  �    audioSourceTick.loop = true;
�   �  �    audioSourceTick.Play();�                 「チッ」というループと
�   �  �
�
�
    �
    �
       �
       �
            audioSourceCountDown.clip = countDown;
            audioSourceCountDown.Play();
                                                     カウントダウン台詞
�   �  }
�   }                                                   「3,2,1」
チクタク音停止と停止時に
                                ジェット音も鳴らした

                                                              「チッ」のループ音を
    �   public void PlayTickStop()
�   {
�   �   audioSourceTick.Stop();�                               停止と同時に
�   �
�   �   if(audioSourceJet.isPlaying == true){                    別の
�   �   �   audioSourceJet.Stop();�
�   �   }
�   �                                                         「ビューッ」と言う音
�   �   if(audioSourceJet.isPlaying == false){� �
�   �   �   audioSourceJet.clip = jet;                          を鳴らす。
�   �   �   audioSourceJet.pitch = Random.Range(0.8f,1.2f);
�   �   �   audioSourceJet.Play();
�   �   }�
�   }
                                                              少しランダムピッチを
                                                                加えた。
「ピコン」音は【連続コンボヒット】音

    �   public void PlayPicon(Vector3 pos)
�   {
�   �   if(audioSourcePicon[piconCount%maxPicon].isPlaying == true)
�   �   {
�   �   �   piconCount++;
�   �   } else {
�   �   �   piconCount = 0;
�   �   }
�
�   �   audioSourcePicon[piconCount%maxPicon].pitch = Mathf.Pow(2,(piconCount/12.0F));
�   �   audioSourcePicon[piconCount%maxPicon].clip = picon;
�   �   audioSourcePicon[piconCount%maxPicon].Play();� �    �
�   }




        再生中に再生が来たら、音程を上げて行く。
                      再生中かはisPlayingで判定
�   public void PlayPicon(Vector3 pos)
�   {
�   �   if(audioSourcePicon[piconCount%maxPicon].isPlaying == true)
�   �   {
�   �   �   piconCount++;
�   �   } else {
�   �   �   piconCount = 0;
�   �   }
�
�   �   audioSourcePicon[piconCount%maxPicon].pitch = Mathf.Pow(2,(piconCount/12.0F));
�   �   audioSourcePicon[piconCount%maxPicon].clip = picon;
�   �   audioSourcePicon[piconCount%maxPicon].Play();� �    �
�   }




    最初posも貰って3Dで鳴らしたらカメラから遠く
                    て聞こえにくいのでやめた。
    3Dサウンドはバランス調整が面倒になりがち。
BGMは常に鳴り続けている。
もし鳴っていなかったら鳴るようにしていた。

台詞が鳴る時はBGMが自動的にレベルを下げる
   ようにしていた。【ダッキング】
BGM<台詞 (ダッキング)

    �   void Update () {
�
�   �   if(audioSourceBgm.isPlaying == false){         【台詞を聞かせたい】の
�   �   �   audioSourceBgm.clip = bgm0;
�   �   �   audioSourceBgm.loop = true;                     で、
�   �   �   audioSourceBgm.Play();
�   �   }                                              【台詞が再生中かどうか】
�   �   �
�   �   //� dacking                                       を監視して
�   �   if(audioSourceCountDown.isPlaying == true ||
�   �   �   audioSourceTakenoko.isPlaying == true ||      再生中なら
�   �   �   audioSourceNinjin.isPlaying == true ||
�   �   �   audioSourceStaff.isPlaying == true          【BGM音量を下げ】
�   �   �   ){
�   �   �   audioSourceBgm.volume = 0.2f;                 ている。
�   �   } else {
�   �   �   audioSourceBgm.volume = 1.0f;�
�   �   }� �
�   }
BGMはもし停止していたら自動リトリガ

    �   void Update () {
�
�   �   if(audioSourceBgm.isPlaying == false){
�   �   �   audioSourceBgm.clip = bgm0;
�   �   �   audioSourceBgm.loop = true;
�   �   �   audioSourceBgm.Play();
�   �   }
�   �   �
�   �   //� dacking
�   �   if(audioSourceCountDown.isPlaying == true ||
�   �   �   audioSourceTakenoko.isPlaying == true ||
                                                       デバッグ時などにBGM
�   �   �   audioSourceNinjin.isPlaying == true ||
�   �   �   audioSourceStaff.isPlaying == true         が鳴らない時があった
�   �   �   ){
�   �   �   audioSourceBgm.volume = 0.2f;              ので、ここでリトリガ
�   �   } else {
�   �   �   audioSourceBgm.volume = 1.0f;�
�   �   }� �
                                                         している。
�   }
【SoundManager】まとめ
【サウンド登録】、【SoundSource作成】
【再生イベント関数用意(カプセル化)】
        【多重再生】
【ピッチ半音あげ】、【ランダムピッチ】
     【ダッキング効果】、
【停止時再生音(再生時ループ音停止)】
【ADX2】でやると・・・

  Unity単体でやるよりも多くの
【サウンド演出】が楽に実装できます。
  【より高音質高圧縮な音声】
  【制限のないループ再生】
  【より多くのサウンド管理】
【サウンド演出(イベント)をキュー】として
【ゲームによくある基本演出はツール上で設定】
   (プライオリティ、発音数管理)
     【プログラム側は最小限】
  (初期化、PACKロード、再生、停止)
   【作業分担】【暗号化】が可能に
   【インタラクティブミュージック】
と、いうことで、
【サウンドワークショップ】の紹介です。
【サウンドワークショップ事例】

       2012-8-21
     CEDEC2012で

   Unityで作ったアプリ
  「ピンボールに音を付ける」
というワークショップを行いました。
『CRI ADX2』サウンドオーサリングツール
           体験会
       (初∼中級編)
∼ゲーム開発の流れに沿ったサウンド制作の
     新しいワークフロー∼


       2012-08-22 田中孝


                          51
はじめに




       52
はじめに


• ゲーム開発の流れに沿った
 サウンド制作の新しいワークフロー ?




                      52
はじめに


• ゲーム開発の流れに沿った
 サウンド制作の新しいワークフロー ?

• ちょっと変わったゲームの音作りの提案になるかも?




                        52
はじめに


• ゲーム開発の流れに沿った
 サウンド制作の新しいワークフロー ?

• ちょっと変わったゲームの音作りの提案になるかも?
• ゲームジャムっぽい?


                        52
はじめに


• ゲーム開発の流れに沿った
 サウンド制作の新しいワークフロー ?

• ちょっと変わったゲームの音作りの提案になるかも?
• ゲームジャムっぽい?
• 音をつけるの楽しいよね?

                        52
環境について




         53
環境について
• 少ない手順でゲーム中の音を加工できる環境として
 【CRI ADX2】の【CRI Atom Craft】を使います。
 ※イベント版ADX2として特別なツールとランタイムを使用しています。
 正式リリース版と混在しないよう注意してください。




                                      53
環境について
• 少ない手順でゲーム中の音を加工できる環境として
 【CRI ADX2】の【CRI Atom Craft】を使います。
 ※イベント版ADX2として特別なツールとランタイムを使用しています。
 正式リリース版と混在しないよう注意してください。




                                      53
環境について
• 少ない手順でゲーム中の音を加工できる環境として
 【CRI ADX2】の【CRI Atom Craft】を使います。
 ※イベント版ADX2として特別なツールとランタイムを使用しています。
 正式リリース版と混在しないよう注意してください。




• ゲームは【Unity3D】で作成しています。
 ※本ワークショップでは直接弄りませんが、UnityEditorのプロジェクトファ
 イルも添付していますので、
 【C://CEDEC2012】フォルダごと持ち帰りソースを確認できます。
 ※なお、Editor実行にはUnity Proライセンスが必要です。
 こちらで呼び出し側のソースを確認できます。

                                       53
音の演出
    【初∼中級編】

    第1章 バンパーのリアクション音 •
                                       第5章 ボールロスト時の声
•                                      【実況?声の魅力】
                                       ロスト状況音にリアクションセリフのランダム再生を追加
    【音の登録と設定】
    1Shot音の追加、発音数制限、 インゲームプレビュー
                                   •   第6章 BGMをつける
                                       【情動を与える、無音を埋める】
                                       ループ波形の登録
•   第2章 ボールのリアクション音
    【リアル?アンリアル?インタラクティブ音】
    AISACによる衝撃度による変化を追加
                                   •   第7章 声を目立たせる
                                       【自動バランス調整の設定】
                                       カテゴリによるバランス調整と、
                                       REACTによるダッキング
• 第3章 ターゲットの音
                                       【上級編】
    【印象的な音を目指して】
    ランダムピッチ、ランダムフィルタ、デチューン音
                                   •   第8章 BGMをインタラクティブ化
                                       【気分はDJ】
• 第4章 エフェクトをつける                        ボールロスト毎に変化するブロック再生
    【全体をなじませる、塩こしょう少々】
    リバーブ、エコーをかける                       【おまけ】
                                       完成イメージの確認、リリースアプリに反映

                                  ※このワークショップでは『初∼中級編』までやります。
                                         『上級編』は別の機会で・・・
                                                              54
ゲームについて

                        マウスクリックする
                        と
                        ボールの位置を
                        クリックした位置に
                        移動ます。

【Click to Start】ボタン
でゲーム開始。
                      デバッグ時に有効で
15秒くらい放置していても         す。
自動で開始します。
                                  55
ゲームのポーズについて
       【Stopper】を
       チェックすると
       ゲームオーバーにな
       なくなります。
       【Pause/Resume】
       ボタンでポーズでき
       ます。

       【Multi Ball】おまけ
       です。




                         56
と、時間ないので
• ワークショップの情報は
• 詳しくはSlideShare で「ADX2 CEDEC」
 で検索
デモ



• 簡単に
• ツール起動、Unityアプリ起動
• インゲーム接続、ツール紹介
最後に
•   CRI・ミドルウェアではお客様のニーズに合わせた解決策を
    一緒に考えます。難しい案件でも
    無料で相談にのります。お手伝いします。
    お気軽にお問い合わせ下さい。


•   Facebook「サウンド助け合い所」「ADX2ユーザー助け合い所」

    もよろしく


•   「サウンドゲームジャム」企画中、興味ある方は

    twitter @tatmos へメッセージ下さい

More Related Content

What's hot

サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解したサウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解したTakaaki Ichijo
 
レベルデザインの四要素
レベルデザインの四要素レベルデザインの四要素
レベルデザインの四要素Toshiyuki NAGATA
 
実践的Reaper勉強会
実践的Reaper勉強会実践的Reaper勉強会
実践的Reaper勉強会Satoru Okubo
 
決定版:サービスの盛り上がり具合をユーザの数(DAU)から読み解く方法
決定版:サービスの盛り上がり具合をユーザの数(DAU)から読み解く方法決定版:サービスの盛り上がり具合をユーザの数(DAU)から読み解く方法
決定版:サービスの盛り上がり具合をユーザの数(DAU)から読み解く方法Daisuke Nogami
 
「Adx2 LE」Unity活用編 初~中級編
「Adx2 LE」Unity活用編 初~中級編「Adx2 LE」Unity活用編 初~中級編
「Adx2 LE」Unity活用編 初~中級編Takaaki Ichijo
 
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜UnityTechnologiesJapan002
 
ゲームにおけるインタラクションのための音楽技術「MAGI」~瞬間、波形、重ねて~
ゲームにおけるインタラクションのための音楽技術「MAGI」~瞬間、波形、重ねて~ゲームにおけるインタラクションのための音楽技術「MAGI」~瞬間、波形、重ねて~
ゲームにおけるインタラクションのための音楽技術「MAGI」~瞬間、波形、重ねて~Sho Iwamoto
 
【Unity道場スペシャル 2017札幌】カッコいい文字を使おう、そうtext meshならね
【Unity道場スペシャル 2017札幌】カッコいい文字を使おう、そうtext meshならね【Unity道場スペシャル 2017札幌】カッコいい文字を使おう、そうtext meshならね
【Unity道場スペシャル 2017札幌】カッコいい文字を使おう、そうtext meshならねUnity Technologies Japan K.K.
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-Unity Technologies Japan K.K.
 
ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方tuna cook
 
時代遅れと言われようとMdaフレームワークの紹介
時代遅れと言われようとMdaフレームワークの紹介時代遅れと言われようとMdaフレームワークの紹介
時代遅れと言われようとMdaフレームワークの紹介MaxNeetGames
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインKouji Ohno
 
リアクティブプログラミング
リアクティブプログラミングリアクティブプログラミング
リアクティブプログラミングYuuki Takano
 
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~UnityTechnologiesJapan002
 
ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意
ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意
ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意Yasuyuki Kamata
 
重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて
重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて
重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについてSho Iwamoto
 
ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」
ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」
ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」Sho Iwamoto
 
Unity + PlayFab + Azure Functions
Unity + PlayFab + Azure FunctionsUnity + PlayFab + Azure Functions
Unity + PlayFab + Azure FunctionsYutoNishine
 
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)Youichiro Miyake
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Atsushi Odagiri
 

What's hot (20)

サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解したサウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
サウンド実装の手間を省くための CRI ADX2 UnityAudio完全に理解した
 
レベルデザインの四要素
レベルデザインの四要素レベルデザインの四要素
レベルデザインの四要素
 
実践的Reaper勉強会
実践的Reaper勉強会実践的Reaper勉強会
実践的Reaper勉強会
 
決定版:サービスの盛り上がり具合をユーザの数(DAU)から読み解く方法
決定版:サービスの盛り上がり具合をユーザの数(DAU)から読み解く方法決定版:サービスの盛り上がり具合をユーザの数(DAU)から読み解く方法
決定版:サービスの盛り上がり具合をユーザの数(DAU)から読み解く方法
 
「Adx2 LE」Unity活用編 初~中級編
「Adx2 LE」Unity活用編 初~中級編「Adx2 LE」Unity活用編 初~中級編
「Adx2 LE」Unity活用編 初~中級編
 
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
【Unite Tokyo 2019】たのしいDOTS〜初級から上級まで〜
 
ゲームにおけるインタラクションのための音楽技術「MAGI」~瞬間、波形、重ねて~
ゲームにおけるインタラクションのための音楽技術「MAGI」~瞬間、波形、重ねて~ゲームにおけるインタラクションのための音楽技術「MAGI」~瞬間、波形、重ねて~
ゲームにおけるインタラクションのための音楽技術「MAGI」~瞬間、波形、重ねて~
 
【Unity道場スペシャル 2017札幌】カッコいい文字を使おう、そうtext meshならね
【Unity道場スペシャル 2017札幌】カッコいい文字を使おう、そうtext meshならね【Unity道場スペシャル 2017札幌】カッコいい文字を使おう、そうtext meshならね
【Unity道場スペシャル 2017札幌】カッコいい文字を使おう、そうtext meshならね
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
 
ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方ノベルゲーム動的演出の考え方
ノベルゲーム動的演出の考え方
 
時代遅れと言われようとMdaフレームワークの紹介
時代遅れと言われようとMdaフレームワークの紹介時代遅れと言われようとMdaフレームワークの紹介
時代遅れと言われようとMdaフレームワークの紹介
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
 
リアクティブプログラミング
リアクティブプログラミングリアクティブプログラミング
リアクティブプログラミング
 
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
【Unite 2018 Tokyo】Unityにおける疎結合設計 ~UIへの適用事例から学ぶ、テクニックとメリット~
 
ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意
ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意
ゲームジャムに使える! いろんな素材サイトとライセンスに関するご注意
 
重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて
重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて
重い音楽と軽い音楽 欧米と日本のゲーム音楽の違いについて
 
ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」
ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」
ゲーム音楽演出を進化させる「インタラクティブミュージック」と「音楽的ゲームデザイン」
 
Unity + PlayFab + Azure Functions
Unity + PlayFab + Azure FunctionsUnity + PlayFab + Azure Functions
Unity + PlayFab + Azure Functions
 
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
 

Viewers also liked

UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDとsters
 
スペースディスタンス at FGJ16
スペースディスタンス at FGJ16スペースディスタンス at FGJ16
スペースディスタンス at FGJ16NAKAOKU Takahiro
 
6月の広島は unity三昧!
6月の広島は unity三昧!6月の広島は unity三昧!
6月の広島は unity三昧!NAKAOKU Takahiro
 
「ADX2 LE」Unity プラグイン クイック導入ガイド
「ADX2 LE」Unity プラグイン クイック導入ガイド「ADX2 LE」Unity プラグイン クイック導入ガイド
「ADX2 LE」Unity プラグイン クイック導入ガイドTakaaki Ichijo
 
ゲームエンジンUnityとオープンソースとの新しい関係
ゲームエンジンUnityとオープンソースとの新しい関係ゲームエンジンUnityとオープンソースとの新しい関係
ゲームエンジンUnityとオープンソースとの新しい関係NAKAOKU Takahiro
 
「もののけ大戦“陣”」製作事例
「もののけ大戦“陣”」製作事例「もののけ大戦“陣”」製作事例
「もののけ大戦“陣”」製作事例Ryohei Tokimura
 
モバイル×VRにおける3Dサウンド実践
モバイル×VRにおける3Dサウンド実践モバイル×VRにおける3Dサウンド実践
モバイル×VRにおける3Dサウンド実践GREE/Art
 
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)Takashi Kawasaki
 
Los caracteres sexuales primarios y secundarios
Los caracteres sexuales primarios y secundariosLos caracteres sexuales primarios y secundarios
Los caracteres sexuales primarios y secundariosDavid Aguilera Reyes
 

Viewers also liked (9)

UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDと
 
スペースディスタンス at FGJ16
スペースディスタンス at FGJ16スペースディスタンス at FGJ16
スペースディスタンス at FGJ16
 
6月の広島は unity三昧!
6月の広島は unity三昧!6月の広島は unity三昧!
6月の広島は unity三昧!
 
「ADX2 LE」Unity プラグイン クイック導入ガイド
「ADX2 LE」Unity プラグイン クイック導入ガイド「ADX2 LE」Unity プラグイン クイック導入ガイド
「ADX2 LE」Unity プラグイン クイック導入ガイド
 
ゲームエンジンUnityとオープンソースとの新しい関係
ゲームエンジンUnityとオープンソースとの新しい関係ゲームエンジンUnityとオープンソースとの新しい関係
ゲームエンジンUnityとオープンソースとの新しい関係
 
「もののけ大戦“陣”」製作事例
「もののけ大戦“陣”」製作事例「もののけ大戦“陣”」製作事例
「もののけ大戦“陣”」製作事例
 
モバイル×VRにおける3Dサウンド実践
モバイル×VRにおける3Dサウンド実践モバイル×VRにおける3Dサウンド実践
モバイル×VRにおける3Dサウンド実践
 
C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)C++からC#まで Visual Studio 縛り (で死ぬ実験)
C++からC#まで Visual Studio 縛り (で死ぬ実験)
 
Los caracteres sexuales primarios y secundarios
Los caracteres sexuales primarios y secundariosLos caracteres sexuales primarios y secundarios
Los caracteres sexuales primarios y secundarios
 

More from Takashi Tanaka

第七回サウンドゲームジャム.pptx
第七回サウンドゲームジャム.pptx第七回サウンドゲームジャム.pptx
第七回サウンドゲームジャム.pptxTakashi Tanaka
 
VR近未来サウンドデザイン
VR近未来サウンドデザインVR近未来サウンドデザイン
VR近未来サウンドデザインTakashi Tanaka
 
第5回サウンドゲームジャム
第5回サウンドゲームジャム第5回サウンドゲームジャム
第5回サウンドゲームジャムTakashi Tanaka
 
ハッカソンでみかけた インタラクティブミュージック っぽいもの
ハッカソンでみかけた インタラクティブミュージック っぽいものハッカソンでみかけた インタラクティブミュージック っぽいもの
ハッカソンでみかけた インタラクティブミュージック っぽいものTakashi Tanaka
 
インタラクティブミュージックの歴史ちゃーりー感 2013-12-15
インタラクティブミュージックの歴史ちゃーりー感 2013-12-15 インタラクティブミュージックの歴史ちゃーりー感 2013-12-15
インタラクティブミュージックの歴史ちゃーりー感 2013-12-15 Takashi Tanaka
 
20130706ADX2LEのみ編
20130706ADX2LEのみ編20130706ADX2LEのみ編
20130706ADX2LEのみ編Takashi Tanaka
 
ネコでもわかるインタラクティブサウンド20130706
ネコでもわかるインタラクティブサウンド20130706ネコでもわかるインタラクティブサウンド20130706
ネコでもわかるインタラクティブサウンド20130706Takashi Tanaka
 
サウンドゲームジャムとは?
サウンドゲームジャムとは?サウンドゲームジャムとは?
サウンドゲームジャムとは?Takashi Tanaka
 
ADX2LE GGJ13向けワークショップ
ADX2LE GGJ13向けワークショップADX2LE GGJ13向けワークショップ
ADX2LE GGJ13向けワークショップTakashi Tanaka
 
サウンドの方へのGGJ紹介
サウンドの方へのGGJ紹介サウンドの方へのGGJ紹介
サウンドの方へのGGJ紹介Takashi Tanaka
 
CEDEC2012 sound workshop
CEDEC2012 sound workshopCEDEC2012 sound workshop
CEDEC2012 sound workshopTakashi Tanaka
 

More from Takashi Tanaka (11)

第七回サウンドゲームジャム.pptx
第七回サウンドゲームジャム.pptx第七回サウンドゲームジャム.pptx
第七回サウンドゲームジャム.pptx
 
VR近未来サウンドデザイン
VR近未来サウンドデザインVR近未来サウンドデザイン
VR近未来サウンドデザイン
 
第5回サウンドゲームジャム
第5回サウンドゲームジャム第5回サウンドゲームジャム
第5回サウンドゲームジャム
 
ハッカソンでみかけた インタラクティブミュージック っぽいもの
ハッカソンでみかけた インタラクティブミュージック っぽいものハッカソンでみかけた インタラクティブミュージック っぽいもの
ハッカソンでみかけた インタラクティブミュージック っぽいもの
 
インタラクティブミュージックの歴史ちゃーりー感 2013-12-15
インタラクティブミュージックの歴史ちゃーりー感 2013-12-15 インタラクティブミュージックの歴史ちゃーりー感 2013-12-15
インタラクティブミュージックの歴史ちゃーりー感 2013-12-15
 
20130706ADX2LEのみ編
20130706ADX2LEのみ編20130706ADX2LEのみ編
20130706ADX2LEのみ編
 
ネコでもわかるインタラクティブサウンド20130706
ネコでもわかるインタラクティブサウンド20130706ネコでもわかるインタラクティブサウンド20130706
ネコでもわかるインタラクティブサウンド20130706
 
サウンドゲームジャムとは?
サウンドゲームジャムとは?サウンドゲームジャムとは?
サウンドゲームジャムとは?
 
ADX2LE GGJ13向けワークショップ
ADX2LE GGJ13向けワークショップADX2LE GGJ13向けワークショップ
ADX2LE GGJ13向けワークショップ
 
サウンドの方へのGGJ紹介
サウンドの方へのGGJ紹介サウンドの方へのGGJ紹介
サウンドの方へのGGJ紹介
 
CEDEC2012 sound workshop
CEDEC2012 sound workshopCEDEC2012 sound workshop
CEDEC2012 sound workshop
 

Recently uploaded

International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1Toru Oga
 
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...yutakashikano1984
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfoganekyokoi
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdfoganekyokoi
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrRodolfFernandez1
 
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイントshu1108hina1020
 
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...oganekyokoi
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 

Recently uploaded (8)

International Politics I - Lecture 1
International Politics I - Lecture 1International Politics I - Lecture 1
International Politics I - Lecture 1
 
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
レポートの書き方講座 [大学生初年次向けに対する講義資料] Lecture on how to write a report [lecture mater...
 
Divorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdfDivorce agreements in administrative work.pdf
Divorce agreements in administrative work.pdf
 
What I did before opening my business..pdf
What I did before opening my business..pdfWhat I did before opening my business..pdf
What I did before opening my business..pdf
 
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhrKARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
KARAPATANG PANTAO.pptxhrhrhrhrhrhrhrhrhr
 
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
3年前期 交通基盤工学 第一回 ガイダンス 交通基盤工学の概要  パワーポイント
 
Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...Registration of travel agents - 'Explanation of the registration system under...
Registration of travel agents - 'Explanation of the registration system under...
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 

第8回Unity勉強会 Unityサウンド入門編 と サウンドワークショップ事例 Tech buzz8 Unity Study 20120927 tanaka

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n