達成した目標
スタンバイアニメーションを再生する必要がある場合があります。アニメーションには、背後のインターフェイスに影響を与えずにアウトラインを含めることができます。
way1:
チャンネル付きのアニメーションフレームシーケンスを使用します。通常、2次元アートは、インポートして使用する数百のシーケンスフレームをアニメーション化して出力する準備ができています(ロードするアニメーションステートマシンを作成するか、スプライトをロードするコードを作成します)。
way2:
ビデオを完成させた後、マスクを作成しますが、マスクは画像のみであり、ビデオコンテンツの変更によって変更されません。
欠点が見つかります。多くのシーケンスフレームがある場合、レンダリングには多くのパフォーマンスとリソースが必要であり、fpsは多くの場合1桁に低く、スタックするのが難しいので見られません。パフォーマンスを最適化する場合、小規模なプロジェクトはまったく異なり、時間と労力がかかります。
最適化とソリューション
透明なビデオを使用する:webm、ogvのフォーマット
実装
1.シーケンスフレームの命名の標準化:
フォルダーとファイルに漢字を含めることはできません。バッチ命名ツールをお勧めします:ReNamer、ダウンロードアドレス。不規則な
命名の場合:
フォルダー名を英語に変更し、
ReNamerを開いて次の設定を行います
。
2.変換ツールffmpegをダウンロードし、アドレスをダウンロードします
。3. webm透過ビデオの変換を開始します。
管理者を開く必要はなく、cmdウィンドウを開きます。cmdがわからない場合は、百度にアクセスしてください。
入力: "-i画像が保存されているフォルダーの絶対パス\画像名のプレフィックス+最初の画像のシリアル番号の%桁d.png -auto-alt-ref 0 -c:v libvpx -rフレームレート-b:v 1000k出力パスフォルダー名\ビデオ名.webm」(引用符をコピーしないでください。最初の画像がrw_00001の場合は、rw_%5d.pngを入力します。出力パスは、Cドライブのルートディレクトリに置くことはできません。アクセス権がないため、デスクトップへのパスである可能性があります。)、コマンドダウンロードアドレス
リファレンス:C:\ Users \ GK \ Desktop \ ffmpeg \ bin \ ffmpeg.exe -i C:\ Users \ GK \ Des
ktop \ renwu \ rw_%4d.png -auto-alt-ref 0 -c: v libvpx -r 25 -b:v 1000k C:\ Users \ GK \ D
esktop \ ffmpeg \ v.webm
次のインターフェースが表示され、本番環境
が完成します。
出力サイズを見てみましょう。この記事の最初の画像を比較できます。
Untiyで使用
way1:アイコンに従って透明ビデオを選択および設定します。RawImageイメージングを使用してビデオを再生し、VP8モードを設定する必要があります。そうしないと、色が正しくありません。
長年に渡って収集されたビデオ再生コードはこちらです
コードを再生
using System;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Video;
public class VideoControl : MonoBehaviour
{
private VideoPlayer Vp;
private RawImage RawImg;
void Awake()
{
Vp = GetComponent<VideoPlayer>();
RawImg = GetComponent<RawImage>();
Vp.isLooping = true;
}
void OnEnable()
{
RawImg.color = new Color(1, 1, 1, 0);
Vp.Play();
Vp.loopPointReached += VideoEnd;
}
void VideoEnd(VideoPlayer vp)
{
Vp.Play();
}
void Update()
{
if (Vp.frame > 0)
{
RawImg.color = new Color(1, 1, 1, 1);
RawImg.texture = Vp.texture;
}
else
{
//RawImg.color=new Color(1,1,1,0);
}
}
void OnDisable()
{
RawImg.color = new Color(1, 1, 1, 0);
Vp.Stop();
}
}
再生すると、fps6666のシルキーバージョンが表示されます。
バイバイ
その他の再生方法:
way2:たとえば、3Dパッチを作成し、シェーダーを設定し、レンダリングモードを選択して画像を表示します。これは再生を制御するコードを必要とせず、直接再生できます
way3:ビデオプレーヤー
のレンダリングモードを調整します。これは、再生を制御するコードを必要としません
それぞれに長所と短所があります。自分で決めてください。