GodotでVideoStreamPlayerを 使用して動画を再生する方法
Godot Engine バージョン4.3
このチュートリアルでは、Godotで
VideoStreamPlayer
ノードを使って動画を再生する方法を説明します。動画をゲームに組み込むことで、イントロムービー、カットシーン、背景動画などを簡単に実装できます。
1. 動画ファイルを準備
動画形式の確認
Godotでは
ogv
形式の動画がサポートされています。事前に使用する動画をogv
形式に変換してください。- 無料ツール: HandBrakeやCloudConvert
プロジェクトに動画を追加
動画ファイルを
res://assets/videos/
フォルダ内に配置します。res://├─ assets/│ ├─ videos/│ │ ├─ example_video.ogv
2. VideoStreamPlayerノードを追加
ノードの作成
- 新しいシーンを作成し、ルートノードとして
Node2D
を設定します。
- 子ノードとして
VideoStreamPlayer
を追加します。
動画を指定する
VideoStreamPlayer
ノードを選択し、InspectorでStream
プロパティに動画ファイル(例:example_video.ogv
)を指定します。
3. VideoStreamPlayerの基本設定
- Autoplay
動画を自動再生する場合、
Autoplay
プロパティを有効にします。
- Scaling
動画の表示サイズを調整するには、
Expand
プロパティを有効にして動画をスケーリングします。
- 音声再生
VideoStreamPlayer
は音声も再生可能です。音声を再生する場合は、AudioTrack
プロパティで適切なトラックを選択します。
4. スクリプトで動画を制御
動画をプログラムで再生・停止・シークする方法を説明します。
スクリプト例
以下は
VideoStreamPlayer
を操作するためのスクリプト例です:gdscriptコードをコピーするextends Node2D
# VideoStreamPlayerへの参照@onready var video_player = $VideoStreamPlayer
func _ready(): # 動画を再生 video_player.play()
func _process(delta): # 動画の状態をチェック if Input.is_action_just_pressed("ui_cancel"): if video_player.is_playing(): video_player.pause() else: video_player.play()
func _on_skip_button_pressed(): # 動画をスキップ video_player.stop()
func _on_seek_button_pressed(): # 動画を特定の位置にシーク (例: 10秒) video_player.seek(10)
コード解説
play()
: 動画を再生します。
pause()
: 動画を一時停止します。
stop()
: 動画を停止し、再生位置を最初に戻します。
seek(time_in_seconds)
: 動画を指定した秒数にシークします。
is_playing()
: 現在動画が再生中かどうかを確認します。
5. GUIで操作ボタンを追加
動画の再生・停止・スキップをGUIで制御する方法を説明します。
ボタンの追加
CanvasLayer
を追加し、その下に以下のボタンを追加:PlayButton
(再生ボタン)PauseButton
(一時停止ボタン)SkipButton
(スキップボタン)ボタンにスクリプトを追加
各ボタンに
pressed
シグナルを接続し、以下のコードを記述します:func _on_PlayButton_pressed(): $VideoStreamPlayer.play()
func _on_PauseButton_pressed(): $VideoStreamPlayer.pause()
func _on_SkipButton_pressed(): $VideoStreamPlayer.stop()
6. 動画終了イベントを処理
動画再生が終了した際に特定の処理を行いたい場合、
finished
シグナルを使用します。シグナルの接続
VideoStreamPlayer
ノードを選択し、Nodeタブからfinished
シグナルをスクリプトに接続します。スクリプト例
func _on_VideoStreamPlayer_finished(): print("動画が終了しました!")
7. 実行して確認
シーンを保存し、ゲームを実行して動画が正常に再生されるか確認します。動画再生が期待通り動作しない場合、以下を確認してください:
- 動画形式が
ogv
であること
- 動画のパスが正しいこと
AudioTrack
設定が正しくされていること
ご不明な点や追加の機能についての質問があれば、いつでもどうぞ!