Unity でビデオ ファイルを再生する方法
Unity では、ビデオ クリップを再生すると、ゲームに深みと没入感を加えることができます。カットシーン、チュートリアル ビデオ、背景の雰囲気など、ビデオを統合することでプレーヤー エクスペリエンスを向上させることができます。このチュートリアルでは、Unity でビデオを再生する手順を説明し、MovieTexture を使用した古い方法と新しい VideoPlayer コンポーネントの両方を説明します。
1. MovieTexture の使用 (非推奨)
ステップ 1: ビデオ ファイルをインポートする
- まず、ビデオ ファイルが Unity でサポートされている形式 (.mp4 や.mov など) であることを確認します。
- ビデオ ファイルを Unity プロジェクトの Assets フォルダーにドラッグ アンド ドロップします。
ステップ 2: マテリアルを作成する
- 「Assets」ウィンドウを右クリックし、「'Create -> Material'」に移動します。
- マテリアルに適切な名前を付けます (例: "VideoMaterial")。
- マテリアルを選択し、[インスペクター] ウィンドウで [シェーダー] ドロップダウンを選択し、["Legacy Shaders -> Diffuse"] を選択します。
- 動画ファイルを素材のAlbedoスロットにドラッグ&ドロップします。
ステップ 3: 平面の作成
- [階層] ウィンドウを右クリックし、'3D Object -> Plane' に移動します。
- 必要に応じて平面を配置し、スケールします。
ステップ 4: マテリアルを平面に適用する
- Videomaterial をシーン ビューの平面にドラッグします。
ステップ 5: スクリプトを作成する
- 新しい C# スクリプト ("PlayVideo" など) を作成します。
- スクリプトを開いて次のコードを記述します。
using UnityEngine;
public class PlayVideo : MonoBehaviour
{
public MovieTexture video;
void Start()
{
GetComponent<Renderer>().material.mainTexture = video;
video.Play();
}
}
ステップ 6: スクリプトを添付する
- PlayVideo スクリプトを Hierarchy ウィンドウのプレーンにアタッチします。
- ビデオ素材を PlayVideo スクリプト コンポーネントの "Video" フィールドにドラッグ アンド ドロップします。
ステップ 7: テストをプレイする
- プレイボタンを押してゲームをテストします。ビデオは飛行機の表面で再生されるはずです。
2. VideoPlayer コンポーネントの使用 (推奨)
Unity ビデオ再生の最新の代替として VideoPlayer コンポーネントが導入されました。より多くの機能とより優れたパフォーマンスを提供します。
ステップ 1: ビデオ ファイルをインポートする
- 前の方法のステップ 1 に従ってビデオ ファイルをインポートします。
ステップ 2: UI キャンバスを作成する
- [階層] ウィンドウを右クリックし、'UI -> Canvas' に移動します。
- これにより、ビデオを表示するためのキャンバスが作成されます。
ステップ 3: Raw 画像を追加する
- Canvas オブジェクトを右クリックし、'UI -> Raw Image' に移動します。
- これにより、ビデオ テクスチャを表示するための画像オブジェクトが作成されます。
ステップ 4: VideoPlayer コンポーネントをアタッチする
- Hierarchy ウィンドウで Raw Image オブジェクトを選択します。
- 「インスペクター」ウィンドウで「"Add Component"」をクリックし、「"Video Player"」を検索します。
- "New" をクリックして、新しいビデオ プレーヤー コンポーネントを作成します。
ステップ 5: ビデオクリップを設定する
- ビデオ プレーヤー コンポーネントを選択した状態で、ビデオ ファイルを "Video Clip" フィールドにドラッグ アンド ドロップします。
ステップ 6: テストをプレイする
- プレイボタンを押してゲームをテストします。ビデオは Raw Image オブジェクトで再生されるはずです。
結論
このチュートリアルでは、Unity ゲームでビデオを再生する 2 つの方法を学習しました。MovieTexture は非推奨ですが、VideoPlayer コンポーネントはより多くの機能と優れたパフォーマンスを提供するため、Unity でビデオを再生する場合に推奨されるアプローチとなっています。