Ren'Py memo

Ren'Pyの個人的なメモ

透過ありのムービーを使用する

追記(2024/10/27)
ビルド設定に build.classify("game/**.webm", "archive") の追記を忘れずに


資料
ムービー — Ren'Py Documentation
WebM + webM masking on mac : Ren'Py

1.ffmpegをインストールする

やり方と使い方はここより詳しい所がたくさんあるのでぐぐってね……

2.動画素材をお借りしてくる

sozaino.site
OKUMONO+Vさんの動画素材など~

3.動画をリサイズ(任意)

コマンドプロンプトとかターミナルを動画のある場所で呼びます
詳細はここより(略)ぐぐってね……

素材になる動画は割と大きめに作られがちなので先にリサイズします。
解像度と拡張子はアドリブでなんとか!ゲームと同じ解像度がおすすめです。

ffmpeg -i syutyusen_kuro.mov -s 1280x720 kuro.mov

4.マスク用の動画を作る

透過のために用意します。

ffmpeg -i syutyusen_kuro.mov -s 1280x720 -filter:v alphaextract mask.mov

5.合体する

これで出力されるwebmファイルがゲームで使うものになります。

ffmpeg -i kuro.mov -i mask.mov -filter_complex "hstack" -codec:v vp9 -crf 10 syutyusen_kuro.webm

6.動画を使用する

5で出力されたwebm動画をgameフォルダに入れます。
moviesフォルダを作って分けたい場合は"movies/syutyusen_kuro.webm"
みたいな感じでplayのところに指定します。
(imagesフォルダに入れる場合も指定しないと参照されないので注意)

image Movie1 = Movie(play='syutyusen_kuro.webm', side_mask=True, loop=True)

label:

    show Movie1
    a"ほにゃほにゃ"
    hide Movie1

GIFの場合

1. マスク動画を作る

元画像のgif 1.gif
マスクのgif mask.gif

 ffmpeg -i 1.gif -filter:v alphaextract mask.gif

2. ゲーム用の動画を出力

ffmpeg -i 1.gif -i mask.gif -filter_complex "hstack" -codec:v vp9 -crf 10 douga.webm
image Movie1 = Movie(play='douga.webm', side_mask=True, loop=True)

label:

    show Movie1
    a"ほにゃほにゃ"
    hide Movie1