OBS Studioの配信画面でキャラクターなどにアニメーションを追加する方法(ローカルファイル版)

前回は、OBS Studioと画像が可能能されているサーバーを繋いで、静止画像を「ふわふわ」と浮かせたようなアニメーションをつける方法について紹介しました。

OBS Studioの配信画面でキャラクターなどをフワフワと浮いたように動かす方法を紹介(HTML版)

今回は、画像を直リンクしなくても、OBSに登録した「ブラウザ」ソースのHTMLが相対パスで画像をOBS Studioの配信画面に表示する方法です。

完成イメージは下の動画になります。

PNGなどの静止画像ファイルが配信画面内に呼び出されて、「ふわふわ」浮いたようなアニメーションが付加されています。

このような画像を複数枚使って配信画面に表示させることが可能です。

本記事でも、上記の動画と同じ配信画面がテストできるように、画像に動きを付けることが出来て、筆者自身もライブ配信で使っているローカルファイル版のHTMLファイルをアップしました。

上記の動画内で動いているキャラクター画像で利用しているHTMLファイルは下記になります。

上記のダウンロード可能なファイルは、個人・法人、商用、非商用を問わず無料で自由に利用いただき、また改変することもできます。

詳細な利用規約について

画像を動かすHTML(ローカルファイル版)ファイルの使い方

今回のHTMLファイルも、自分で使う用に作成したため、画像リンクURLの設置やパラメーター変更の場所などがわかりにくくて恐縮です。

下記にHTMLファイルの使い方を記載いたします。

ローカルファイル版の画像を動かすHTMLファイルを使う前に準備すること

本記事からダウンロードすることができるHTMLの機能では、『HTMLと同一のフォルダに格納されている画像』を利用しています。

どのようなファイルの構成ファイル名になっているのか。

下記の参考画像を確認いただけますと幸いです。

画像ファイルとHTMLファイルの相対パス参照イメージ

同一の配信画面に複数の画像を組み込む場合のファイル構成は下記のようになります。

複数の画像ファイルとHTMLファイルの相対パス参照イメージ

表示させたい画像をHTMLに反映させる方法

HTMLに反映させたい「画像ファイル」のファイル名を

animation-image.png

というファイル名に変更します。

このとき「png」ファイルではなく「jpg」などの場合は

animation-image.jpg

となるようなイメージです。

画像の動きを制御するためのHTMLファイルのパラメーターについて

画像の動きを制御するために、HTML内のパラメーターを変更する方法について記載します。

HTMLを直接書き換えるようなエディタがない場合は

HTMLファイルの拡張子をtxtに変更して、テキストエディタなどで直接書き換えられるように一時的に変更をします。

画像のファイル名を入力する

 下記の部分に画像のURLを入力する

        // 画像のファイル名を指定(ローカルファイルを利用)
        const imagePass = "animation-image.png"; 

画像URLの前後にある「"」「"」←これは消さないように注意してください。

イーズイン・イーズアウトの適用

イーズイン・イーズアウトの適用をonにすると画像の移動に緩急がついて滑らかになります。

const easeEffect = params.get("ease") === "on or off";

この下からは、入力する数字は全て半角数字」で入力してください。

画像を移動する範囲を決める

画像を移動させる範囲を決めます。

値を変更するときは「0.1」刻みで変更することをオススメします。

大きく値を変更するとものすごく移動しすぎて視覚的によくわからない動きになってしまいます。

vloop: getParam("vloop", 0.5), 
// 0〜0.5〜1の範囲で縦移動の範囲を決めます
            
hloop: getParam("hloop", 0.1), 
// 0〜0.5〜1の範囲で横移動の範囲を決めます
            
dloop: getParam("dloop", 0.1),
 // 0〜0.5〜1の範囲で奥行き変化の範囲を決めます
            
rotate: getParam("rotate", 5), 
// 回転角度は、0〜180の範囲

移動がループされるまでの時間を設定

移動範囲を設定したら、次に何秒で、その移動範囲を1周するかの時間を決めます。

ここで、上下左右に動く1周の時間をバラバラにしておけば、後述する「ランダムパラメータ」の値を変更しなくても、そもそもランダムな動きに見えるようになります。

 /** 「* 1000, 」の部分は変更しない方がよいです 1000 = 1秒 **/
          vDuration: getParam("vDuration", 5) * 1000, // 縦移動の時間(秒)
          hDuration: getParam("hDuration", 4) * 1000, // 横移動の時間(秒)
          dDuration: getParam("dDuration", 6) * 1000, // 奥行き変化の時間(秒)
          rDuration: getParam("rDuration", 3) * 1000, // 回転の時間(秒)

("vDuration", 5)←ここの数字を正数で変更する

ランダムパラメーター

ランダムパラメーターも用意していますが、入力したパラメーターと結果の制御が難しいので、筆者自身もパラメーターを変更して使ってません。

           vRandom: getParam("vRandom", 0.02), // 縦移動のランダム性
            hRandom: getParam("hRandom", 0.02), // 横移動のランダム性
            dRandom: getParam("dRandom", 0.01), // 奥行きのランダム性
            rRandom: getParam("rRandom", 0.01) // 回転のランダム性

画像の初期位置を変更する

画像サイズや縦横比率によっては、OBS Studioなどに登録したときに初期位置が大きく外れてしまう場合があります。

そのときは、下記のパラメーターを変更することで画像の初期位置を調整できます。

しかし、この部分は、OBS Studio側の表示領域拡大で調整できるので、あまり値の変更をする機会はないかもしれません。

 let baseX = (window.innerWidth - img.naturalWidth) / 2 + 10; //  上下初期位置の値(+10を-100や+100にして動かせます)

                let baseY = (window.innerHeight - img.naturalHeight) / 2 + 10; //  左右初期位置の値(+10を-100や+100にして動かせます)

OBS Studioの配信画面にHTMLファイルを登録する

本記事からダウンロードできるHTMLファイル内の設定が終わったら、今度はそのファイルをOBS Studioに登録します。

HTMLファイルの登録方法

STEP

OBS Studioの指定のシーンから「ソース」の「+」ボランを押す

STEP

「ブラウザ」を選択

STEP

「ローカルファイル」にチェックを入れる

STEP

「参照」を押して、HTMLを選択する

画像の表示範囲を調整する

利用する画像の解像度(画像の縦横の大きさ)や縦横比率によっては、OBS Studioに登録した際に画像が見切れてしまうことがあります。

その場合は、OBS Studio上で表示範囲を広げることで対応が可能です。

登録した「HTML」ソースから「プロパティ」を選びます。

高さの数字を大きくしてください。

なるべく動いている画像が見切れないギリギリの範囲に指定することをオススメします。また、利用する画像の大きさによっては、画像自体を小さくしてからの画像URLを利用して、画像処理の負荷を小さくすることをオススメします。

画像の初期位置またはオフセットの値を変更した後の画像表示イメージ

APNGにも対応できるので便利なアニメーション追加方式

この方法は、pngファイルやJPGファイルだけでなく、APNGなどの静止画連番ファイル(アニメーションファイル)フォーマットも扱うことが出来ます。

同時に複数の画像をアニメーション化して動かすことが可能なため、配信画面の設計で多彩な表現が可能になります。

アルファチャンネル付き動画(背景の透けた動画)だと、配信画面の処理負荷が大きくなるとこを、今回の方式で表現することができれば、かなり軽快な動作にすることが可能の異なります。

配信活動に本記事がお役に立てば幸いです。

最後まで読んでいただきありがとうございました。

ABOUT US
ユニコブログの執筆者である小林玲王奈のアイコン
小林 玲王奈ユニコーンコンサルティング株式会社 代表取締役

放送業界や映画業界で映像制作や新規事業の立ち上げを中心に16年間働いて2019年に独立。2020年1月にユニコーンコンサルティング株式会社を設立しました。現在は、国内・海外向けの小規模Webメディアやライブ配信メインのYouTubeチャンネルを複数運営。映像技術関連の技術顧問やWebサイト及びYouTubeのチャンネル運営サポート、このほか複数の教育機関で特別講義を行なっています。|BBT経営塾(旧:大前経営塾)第10期生 卒塾

当ブログの運営者情報は下記のページから確認できます。

運営者のプロフィール詳細