0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Unityでファイル差し替えに対応する

Last updated at Posted at 2020-01-20

 会場の雰囲気とかみて現場で動画とか音声を差し替えたいんだよねって言われたときに、oFとかだとファイルを入れ替えるだけでよかったんですが、Unityでassetにインポートしてあるとファイル差し替えできませんでしたので試行錯誤してみました。
検索しても、対応策があまり見つからなかったので書いてみたいとおもいます。

 Unityはあまり慣れてないので、別の方法があったらご指摘いただきたいです。

 Windows
 Unity 2018.4.14f1

##準備
 差し替えたいファイルをStreamingAssetsフォルダにコピーする
 StreamingAssetsフォルダはビルドした後特定のフォルダにそのままコピーされます
 なければフォルダを作成します

##動画の場合
 Application.streamingAssetsPathでビルド後のStreamingAssetsのパスが取得できるので、ファイル名を追加してから、VideoPlayerのurlに設定します

###サンプル
 uGUIのRawImageに動画再生させます

  1. AssetにRenderTextureを作成(ムービーと同じサイズ)
  2. RawImageをHierarchyに作成
  3. 作成したRawImageがちゃんと見えるかRect Transformを確認
  4. 3で作成したRawImageのTextureに1で作成したRenderTextureをアタッチ
  5. 3で作成したRawImageにVideoPlayerをアタッチ
  6. 3で作成したRawImageにC#スクリプトをアタッチ
  7. 5でアタッチしたVideo PlayerのTarget Textureに1で作成したRenderTextureをアタッチ
using UnityEngine;
using UnityEngine.Video;

public class LoadMovie : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        VideoPlayer videoPlayer = GetComponent<VideoPlayer>();
        videoPlayer.url = Application.streamingAssetsPath + "/movie.mp4";
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

##音声の場合
 半日ぐらい検索しても見つかりませんでした。
 有料アセットのEasy Saveを使うとAudioClipとして読み込みができますので、StreamingAssets内のパスを動画と同様の方法で取得したのちAudioSourceのclipに指定すればよいです。

                    string url = Application.streamingAssetsPath + "/" + file.Value;

                    AudioClip audioClip = ES3.LoadAudio(url, audioType);
                    audioClip.name = file.Value;
                    if(audioClip !=null) {
                        audio.clip = audioClip;
                    }
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?