29044


初めて質問させていただきます。Unity初心者です。  
円形ボタンを押すと色が切り替わって音が出るサンプルを作成しましたが、SEを再生する時に遅延が出てきました。  
サウンドファイルのImport Settings > Load type はLoad into memoryにし、  
Project Settings > Audio > DSPBuffer Size はBest latencyにしました  
以下がその処理です。

[code]

    using UnityEngine;
    using System.Collections;
    
    public class TouchTest : MonoBehaviour 
    {
        AudioSource SoundMaterial;
    
        void Start()
        { 
        }
    
        void OnMouseDown()
        {
            GetComponent<AudioSource>().Play ();
            GetComponent<Renderer>().material.color = Color.red;
        }
    
        void OnMouseUp()
        {
            GetComponent<Renderer>().material.color = Color.gray;
        }
    
        void Update()
        {
        }
    }
    
[/code]

発音遅延を減らす方法についてご教授をお願いできませんでしょうか。  
よろしくお願いします。

■環境  
Surface Pro 4  
Unity 5.3.0f4 (64-bit)


CC BY-SA 3.0
2016-09-21T02:11:27.137
29015
2016-09-22T05:52:24.450
2016-09-21T03:23:07.310
3068
18865
question
unity3d
Unityで発音遅延を解決方法


Unityはしばらく触れていないので、違っているかもしれませんが。

AudioSourceに割り当てられているAudioClipの「Preload Audio Data」はオンになっていますか?  
デフォルトでオンになっているらしいので、大丈夫だと思いますが。

  * 「[Unity実習２７、音を鳴らしてみよう](http://toto0129.blog100.fc2.com/blog-entry-1183.html "Unity実習２７、音を鳴らしてみよう")」の3番目の画像あたりを参照


CC BY-SA 3.0
2016-09-21T14:52:53.383
29035
2016-09-21T14:52:53.383
15473
29015
answer

[code]

    Start(){
        soundMaterial= GetComponent<AudioSource>();
    }
    
[/code]

OnMouseDownで

[code]

    soundMaterial.Play();
    
[/code]

毎回コンポーネントを直に読みに行くのはとても重い処理です  
初回に変数に参照を取っておきましょう。


CC BY-SA 3.0
2016-09-22T04:53:22.077
29044
2016-09-22T05:52:24.450
2016-09-22T05:52:24.450
3605
18875
29015
answer