Unity Game Development

第10話 音效系統&匯出與上傳遊戲

Lecturer:水獺

目錄(可點(嗎?)

匯出與上傳遊戲

本堂課內容

匯出與上傳遊戲

本堂課內容

匯出與上傳遊戲

音效系統

讀取音效

先去網路上找一個音效檔

本堂課會用雷射發射的聲音做示範

之後在Project視窗、Assets資料夾裡創一個資料夾Audio放音效檔

讀取音效

接著切到你想要這個音效發出的Scene

檢查這個Scene的Camera上是否有Audio Listener Component
沒有的話在Camera上Add Component --> Audio Listener

讀取音效

然後在你想要發出聲音的GameObject或它的Prefab(如果有)上

Add Component --> Audio Source

讀取音效

再來回到剛剛的音檔資料夾

把音檔拖進「AudioClip」框框裡

讀取音效

講一下AudioSource

音檔資源

預設是把音訊輸出到Audio Listener,這裡可以改成輸出到Audio Mixer

聲音播放時是否靜音

如果有Filter的話繞過(一次關閉所有Filter效果)

如果有Listener Filter的話繞過(一次關閉所有Filter效果)

如果有Reverb Zone的話繞過(一次關閉所有效果)

是否在物件生成時播放

是否重複播放

設定此音訊相較其他音訊的優先程度(0:最優先、不會被蓋掉;256:最後考慮)

設定此音訊之音量(1最大、0最小)

設定因為音訊速度而導致的音高變化量(預設1)

設定聲音在耳機或喇叭中聽起來偏向左/右側

跟3D有關(不細講)

混響(reverb)設定(不細講)

跟3D有關(不細講)

讀取音效

再來回到剛剛的音檔資料夾

把音檔拖進「AudioClip」框框裡

發出音效

開始寫程式!

因為我的目的是要讓音效在雷射生成時發出聲音

所以其實直接勾Play On Awake就行了

但我還是寫一次在Start裡給你們參考

如果要讓角色在跳躍或做其他動作時有音效

則寫在對應的函式或判斷式裡

但注意一定都要有一個AudioSource才能播放聲音

發出音效

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class STLMove : MonoBehaviour
{
    [SerializeField] AudioSource audioSource; //這個一定要加,AudioSource的參考
    Vector3 movement;
    float time = 0;
    [SerializeField] float speed = 5;
    
    void Start()
    {
        movement = new Vector3(0,1000,0);
        audioSource.Play(); //對播放音效就是這麼簡單
    }

    void FixedUpdate()
    {
        time += Time.deltaTime;
        if(time > 0.5f){
            Destroy(gameObject);
        }
        Move();
    }

    void Move(){
        transform.Translate(movement*Time.deltaTime*speed);
    }
}

發出音效

之後把AudioSource拖進SerializeField框,就完成了

本堂課內容

匯出與上傳遊戲

本堂課內容

匯出與上傳遊戲

匯出與上傳遊戲

Build(匯出)

左上角File --> Build Settings

點開應該長這樣

在Build排程中的Scene(s)

包括會被Build出來和不會

平台

一些其他的設定

Build或Build+運行

Windows

如果你的專案需要在本機才能跑(言下之意就是WebGL有問題且解決不了)就用這個

Windows

有勾起來代表會被Build到最後的執行檔中

等等說

可以調Intel 64bit或32bit(沒有AMD)

建立VS可以讀的Build Data File,使專案可以直接在VS裡被Build

開發者匯出模式(預設未啟用,啟用後才可勾選下面三個選項)

壓縮資源的方式(不用改

是否啟用分析資訊儲存器

是否啟用深度分析

是否在匯出之執行檔執行時若有錯誤直接Log出錯誤訊息

Windows

講一下Player Settings

遊戲公司名稱(自訂)

遊戲專案名稱(自訂)

遊戲專案版本(自訂)

遊戲應用程式Icon(自訂)

遊戲內鼠標(自訂)

可以自訂更多大小的Icon

視窗模式(全螢幕、視窗全螢幕、最大視窗、視窗)

視窗(全螢幕的話則是遊戲畫面)長寬

是否將視窗(全螢幕的話則是遊戲畫面)設為螢幕解析度(不建議,很可能跑版)

視窗是否可自訂大小

可以先按Build然後選一個資料夾(空的)匯出一波

Windows

之後你會看到這樣

開啟「專案名.exe」就可以在本機運行遊戲了

WebGL

是把專案上傳到itch.io要用的Platform(推薦)

WebGL

Platform選WebGL

右下按Switch Platform

WebGL

基本上跟前面一樣

只是開啟Development Build之後在網頁上執行時只要有錯就會直接Log出來(不可選)

WebGL

一樣講一下Player Settings

遊戲畫面寬

遊戲畫面高

三種模板

(Default:基本,在灰底上會有載入條;

 Minimal:最小、輕量化;

 PWA:類似於瀏覽器中可執行的APP)

個人還是會用Default

WebGL

之後按下Build

你會得到:

全選之後右鍵壓縮得到一個壓縮檔

WebGL

之後去到itch.io然後註冊或登入

WebGL

右上角頭像點一下

選Upload  new project

WebGL

專案名稱(標題)

專案網址(會自動生成)

到訪簡介(可選)

遊戲類型

專案種類(選HTML)

發布狀態(發布、正在開發、暫停開發、取消計畫、草案)

WebGL

是否要錢(選否)

在這裡上傳壓縮檔

遊戲細節描述

WebGL

更改檔案顯示名稱

可在那些平台上執行

是否在瀏覽器中遊玩(勾選)

是否隱藏此檔案並使其不可被下載

WebGL

遊戲分類

遊戲tag

遊戲在某些商店中的連結(無)

WebGL

不可添加評論

可開版討論

只有作者可見

可添加評論

只有作者&被作者認證過的人可見

對所有人可見

記得按儲存

WebGL

大功告成!

Q&A&DO

建北電資Unity遊戲開發小社第10堂

By MH Yang

建北電資Unity遊戲開發小社第10堂

  • 53