❤❤Fungus新課程即將發布,快寫問卷拿優惠❤❤

2016年8月29日 星期一

Unity 免程式 遊戲 製作 教學:《脫逃時光》



下載這個小遊戲:脫逃時光 (PC/Mac)

下載脫逃時光的遊戲素材


使用軟體  Unity 5     配合免費外掛 Fungus

遊戲製作時的其他小工具:

Qdir (這邊有我製作的教學影片)

Psd Importer 教學 Unity 整合 Photoshop 保留圖層關係

Unity C# 教學 自訂檢視器 多個物件啟動關閉或改透明度

第一篇影片教學

第二篇教學











================================


第0篇:腦力激盪與前置作業


一開始的準備工作是這樣的:

遊戲架構發想
先想好需要什麼條件才能破關,比方一道密碼,然後取得這個密碼需要哪些線索或道具,再慢慢推演這些道具或線索要如何取得,主要的架構都確定以後,最後才思考要增加哪些非破關要素,但是可以讓遊戲更好玩的周邊設定。

以脫逃時光為例就是破關需要一道密碼,而密碼需要從網頁裡取得,開啟網頁之前又需要一台可使用的相機才能觸發該功能,接著組裝相機又需要空相機與乾淨鏡頭,乾淨鏡頭由髒鏡頭清潔過後而取得,空相機與清潔劑等又有各自不同的取得方式。接著就是加入流程分支的功能,讓遊戲破關的途徑不只一種。

最後才加入一些有的沒的功能,像是點了箱子以後他會跟你抱怨不要一直點我,這並非破關的要件,但是我覺得會很有趣所以就放進去了


收集遊戲素材與整理
收集圖片材料的時候,考量到遊戲類型屬於密室脫逃的關係,使用到的圖片都是物品為主,而且基本上是現代房間風格,不是古代或科幻房間等很需要考究或創造科技物件的風格,所以素材都使用freepik的免費素材,選擇很多而且都是向量檔。最後才尋找剩下的物品圖片與整間商店圖片,並且使用免費檔案管理軟體Q-Dir來整理檔案,我遊戲做到後來的時候常需要在好幾個資料夾之間做檔案交換,這個能夠四分割畫面的檔案總管軟體可以省下很多時間,而且當你只有下班時間才能進行自已遊戲專案的時候,時間顯得特別寶貴。

音樂音效的話是遊戲幾乎完成的時候才找,在Freesound.org有很多免費音效,YouTube Audio Library裡也一堆分類好的免費音樂

如何激發靈感
至於靈感的來源,我認為靈感跟流星一樣,咻的一下就不見了,可遇不可求,所以平常我就有使用Evernote的習慣,這個筆記軟體有PC版,MAC版,也有Android與iOS版,申請一個帳號就可多裝置通用,常常很多靈感是突然看到什麼東西就想到的,這時候隨身攜帶的手機就可以打字保存成為筆記,或是某張照片,時間不夠或不熟悉打字的話也可以手寫便條拍起來或乾脆錄音,某天有空的時候再統一整理,總之工具跟程式都是死的,如何活用取決於個人,也許對你而言有更好收集靈感的方式,這裡只是提供我的方法給大家參考一下。

在Freepik搜尋關鍵字Room,找了現在遊戲中的主要房間場景,然後這張圖片我就轉到手機桌面做為捷徑,利用等紅綠燈或公車之類瑣碎時間時就打開看一下,多看幾次總會有想到新東西的時候,最好當下就記錄起來。



===== 遊戲官方網頁與免費下載 =====


20 則留言:

  1. 請問一下還有後續的教學嗎??

    回覆刪除
    回覆
    1. 全部就是這9篇教學喔,目前還沒有做後續教學的打算...
      你還想看到哪些教學呢?
      https://goo.gl/forms/F4XvvobXdp5nz3Bp1

      刪除
  2. 我方便問我要如何加上音效嗎?
    沙發的動畫應該怎麼做?
    盒子的抖動?
    遊戲的初始畫面?

    回覆刪除
    回覆
    1. 音效可以參考這個教學:
      https://youtu.be/0kCWW1k4J0s

      沙發的動畫可以參考這個教學:
      https://www.youtube.com/watch?v=vPE3JDiZeOY

      盒子的抖動可以參考itween教學(記得開中文字幕)
      那個抖動是用itween的Punch Posotion做的
      https://www.youtube.com/watch?v=Ii2kz0AgqkU&list=PLiMlyObJfJmUohJ_M2pJhtrNKuNECo2Uk&index=13


      遊戲的初始畫面:
      你可以另外做一個場景
      內含主標題畫面跟"開始遊戲"的按鈕
      設定flowchart裡的某個Block的觸發條件是UI--->Button Clicked
      然後指定到"開始遊戲"的按鈕

      接著該Block的內容就只是一個指令:flow--->Load Scene
      欄位裡要打上下一個場景的檔案名就可以了

      刪除
    2. 非常感謝你的回覆 我來試做看看

      刪除
  3. 請問如果我需要改變Fungus的預設按鍵可以去哪裡更改呢?
    比方說切換到下一個對話預設是按下"空白鍵",可以更改為按下"Z"或是別的按鈕嗎?因為是Fps的類型,所以"點擊"Menu不起作用
    但是選單可以用"w"、"s"或是"上下鍵"選擇,但是這樣會造成fps的人物同時移動
    我能夠將Menu的"預設按鍵"改為別的"按鍵"嗎
    或是說請問有什麼Fungus的內建程式可以 禁用 Fps的指令嗎?

    回覆刪除
  4. 這其實是Unity的預設按鍵問題,
    Fungus設計Menu的時候應該沒考量到FPS遊戲的使用狀況...

    選單的Edit--> Project Settings --> Input
    然後inspector視窗會出現選項
    第三行是Vertical
    你把可以把Alt Negative Button設為z
    Alt Positive Button 設為x

    我稍微測試了一下,目前是按下W鍵的時候人物會移動
    但是按z或x的時候人物就不會移動了

    回覆刪除
    回覆
    1. 感謝大大的解答,但是仍然碰到點小問題...
      對,是不會動沒錯,但是這樣根本連Fps的"w""s"都不能用了哈哈哈,這個Fungus果然還是適合做2D的嗎?
      我想如果能夠從Fungus回傳指令給C#腳本,讓Fps移動速度全部為0就好了...但目前看來似乎沒有這功能????
      除此之外,請問如果是用say這個功能可以調用C#腳本內玩家的名字嗎?

      刪除
    2. 對耶,只要出現選單後,W鍵就失效了...
      Fungus可以調用腳本或事件,+號紐的Scripting裡:
      Call Method,Invoke Method, Invoke Event
      你參考一下

      然後Fungus無法直接調用C#腳本內的名字,
      但是你可以從外部修改Fungus內部的變數
      詳情可以參考這個教學
      https://www.youtube.com/watch?v=2PYKU0l-BeQ&t=2s

      刪除
    3. 雖然顯示NPC名字也是我的目標之一,但是呢我的想法是能夠"說"出來
      比方說主角叫 "明明" 代碼是"C"
      讓程式以這樣的方式輸入【小 C 啊!!今天天氣真好】。就會顯示【小明明啊!!今天天氣真好】之類的樣子。
      主要就是想要讓玩家輸入主角名稱,然後調用自己的名稱
      不知道能不能在Fungus實現這個方法

      刪除
    4. 可以的,方法跟我po的教學類似,fungus裡開一個變數,把{$變數名稱}放到對話文字裡就可以了。Fungus裡的範例場景有一個就是將藉由玩家輸入角色名稱來寫入姓名變數,你可以找一下

      刪除
    5. 喔喔喔~~~太感謝您的協助了~~~~~

      刪除
  5. 自訂一個Say Dialog格式 (直式的視窗),只有調整Dialog的長跟寬大小符合螢幕,但是其中的StoryText在執行的時候都會寬度自動縮更小,這是出了什麼問題呢?

    回覆刪除
  6. 能加line傳截圖或專案給我看嗎?需要更多的資訊才好幫你

    http://www.morningfungame.com/p/blog-page.html

    回覆刪除
  7. 楼主你好
    我是前几天请教你fungus问题的那个。
    多谢你前几日的耐心解答。
    不好意思,又遇到问题了。想请问你一下下。
    按照第三集中,你的操作,把【Selector】拖到【_游戏物件管理】中,
    结果出现了如下的报错:
    【cant't add script component 'Selector' because the script class cannot be found.Make sure that there are no compile errors and that the file name and class name match.】
    请问是因为繁体中文和简体中文的问题吗?
    多谢多谢!

    回覆刪除
    回覆
    1. 你的檔案名稱有跟class一樣嗎?檔名應該要是Selector.cs

      刪除
    2. 文档就是下载下来的,一摸一样的。没有改过。
      【Selector.cs】这样的名称。

      刪除
    3. 能夠加我微信傳相關截圖嗎?資訊多一點比較好判斷,微信二維碼在右邊的 聯絡陳間時光 裡

      刪除
  8. 老師您好,我在製作clickable2D物件的時候遇到了一個場景裡只能偵測到一個Box collider2D的問題。只有第一個物件能夠使用,有第二個物件裝上Box collider2D後,第一個物件跟第二個物件都沒有辦法觸發。 然後整個過程我沒有打程式的部分,希望老師能為我解答。

    回覆刪除

留言給作者加油打氣