Unity 簡易製作 播放 Logo


建立時間: 2022年8月14日 01:55
更新時間: 2024年5月12日 16:10

概述

相信大家很常看到電影、動畫、遊戲等等都會出現 Logo 播放
只有播放短短的幾秒鐘,大概是1~3秒

以下是 Netflix Logo 參考

Netflix Logo

本篇帶大家如何快速的製作 Logo 動畫

準備素材

本範例會使用一個 mp4 影片檔作為示範
請自行準備一個 mp4 檔來練習
並放到專案裡面,路徑可以自行調整

logo

將影片放到攝影機

put video into camera

放置好後,Unity 會幫 Camera 加入 Video Player 組件和 Audio Listener 組件

切換場景

用程式控制當影片播放完畢後切換場景
以下範例寫一個 CameraController 腳本放在攝影機上

CameraController.cs

using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.Video;

/// <summary>
/// 處理攝影機
/// </summary>
public class CameraController : MonoBehaviour
{
    private VideoPlayer videoPlayer;

    /// <summary>
    /// 影片播放完畢,前往下個場景
    /// </summary>
    [SerializeField]
    private string nextSceneName;

    IEnumerator Start()
    {
        // Will attach a VideoPlayer to the main camera.
        videoPlayer = transform.GetComponent<VideoPlayer>();
        // Each time we reach the end
        videoPlayer.loopPointReached += EndReached;
        // Wait for the video to be prepared
        videoPlayer.prepareCompleted += VideoPrepareCompleted;

        // 播放遊戲時,載入資源期間會播放影片,所以故意讓他延遲一秒再播放影片
        yield return new WaitForSeconds(1);

        videoPlayer.Prepare();
    }

    /// <summary>
    /// 動畫播放完畢後呼叫
    /// </summary>
    /// <param name="videoPlayer"></param>
    void EndReached(VideoPlayer videoPlayer)
    {
        SceneManager.LoadScene(nextSceneName);
    }

    /// <summary>
    /// 等待影片準備可以播放為止
    /// </summary>
    private void VideoPrepareCompleted(VideoPlayer videoPlayer)
    {
        videoPlayer.Play();
    }
}

程式說明

因為我們腳本會放在攝影機,所以可以取得攝影機上的 VideoPlayer 組件。

videoPlayer.loopPointReached += EndReached; 就是影片播放完畢後就會執行 EndReached 方法,如果影片是循環播放,就會不斷執行EndReached 方法。

EndReached 方法裡面執行切換場景的程式,就是等影片播放完畢後就切換場景。

yield return new WaitForSeconds(1); 目的是解決在 Unity Editor 點擊 Play 的時候,假設影片會立即播放,這會導致 Play 在載入資源時就在播放影片,造成影片沒有完整播放,影片會跳過等待資源的時間,所以使用等待一秒解決這個問題。

videoPlayer.prepareCompleted += VideoPrepareCompleted; 是當 videoPlayer.Prepare(); 準備完畢後觸發的方法。

結論

這個簡易的播放 Logo 動畫,也可變成播放 Unity 裡面的 Animation
然後再切換場景,透過這個簡單的範例,讓大家聯想其他的製作 Logo 的方法

觀看次數: 1356
logounityvideo切換場景
按讚追蹤 Enjoy 軟體 Facebook 粉絲專頁
每週分享資訊技術

一杯咖啡的力量,勝過千言萬語的感謝。

支持我一杯咖啡,讓我繼續創作優質內容,與您分享更多知識與樂趣!