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

2016年5月31日 星期二

Unity 免費對話外掛推薦 Fungus + 常見問題



本網頁上次更新日期:2020年8月14日

Fungus 系列教學影片下載
http://www.morningfungame.com/p/unity-fungus_14.html


這是完全免費的而且開放原始碼

簡單的說這可以幾乎不需要寫程式,就能輕鬆的做出有分支的對話系統,還有現成的可點擊物件,可拖曳物件,很適合製作點擊式的冒險遊戲或問答類遊戲,還有密室脫逃類遊戲,重點是開發者很熱心的持續維護與解答,不是單純開發完丟檔案就算了(當然還是得用英文問啦...) 還有官方的教學影片(都有我翻譯的中文字幕)

===官方教學清單(中文字幕)===



如果你自己下載影片在電腦上看的話
下載已翻譯的SRT字幕(已更新到第14個教學)(1.5版之後的通關密語:95加滿)

===Fungus常見問題===

Q1.安裝好fungus後出現一堆錯誤訊息 或 FlowChart視窗是空白的
 A.可能Unity版本太新,跟Fungus不相容,建議安裝稍舊版的Unity
https://unity3d.com/cn/get-unity/download/archive
升級或降級Unity之前都記得要備份整個專案資料夾的檔案喔


Q2.我要安裝某個版本的Fungus
https://github.com/snozbot/fungus/releases
升級或降級Fungus之前都記得要備份整個專案資料夾的檔案喔


Q3.如何用新版Fungus的monobehaviour做觸發對話呢?
Unity X Fungus 新版3D遊戲裡觸發對話
請到Fungus 系列教學影片下載

Q4.Fungus有播放影片的功能嗎?
A.目前Fungus (3.8版)沒有播放影片的功能耶
你可能要找現成的C# 腳本來支援播放影片
搜尋:unity video player教學

Q5.Fungus切換場景的指令?
Load Scene

Q6.Fungus呼叫C#腳本的指令?
Invoke Method

Q7.用C#存取Fungus變數?
Flowchart.GetBooleanVariable
Flowchart.GetIntegerVariable
Flowchart.GetStringVariable

Flowchart.SetBooleanVariable
Flowchart.SetIntegerVariable
Flowchart.GetStringVariable

可以做成屬性Property來存取,相關教學:

Unity C# 程式 教學 Get Set 屬性 Property
https://youtu.be/GDzG0XN85io


Q8.如何修改Dialog對話框或Menu選項的樣式
Unity x Fungus 自訂對話框
請到Fungus 系列教學影片下載

問答猜謎小遊戲+計分功能 自訂menu 自訂dialog
請到Fungus 系列教學影片下載

Q9.離開遊戲的指令?
Quit
(這個指令在Unity裡測試時會沒有效果,輸出遊戲檔執行以後才會真的離開遊戲)

Q10.Fungus支援遊戲存檔讀檔的功能嗎?
Unity x Fungus 存檔 讀檔 教學 (Fungus 3.5 以上) 存取 進度
請到Fungus 系列教學影片下載

Q11.如何設定character出現的位置呢? 我想要自己拉它的位置
A.大致上是這樣:
功能表-->Tools-->fungus-->create-->stage position
改成你要的位置以後,拉到Stage物件的位置清單裡,預設有5個位置,那個數字5你就改成6,下面會多一個空白的欄位,然後把你的新stage position丟進去

Q12.如何自訂Portrait顯示的位置,而不是用預設值?
A.自訂StagePosition
請到Fungus 系列教學影片下載

Q13.用C#呼叫Block?
Flowchart.ExecuteBlock(目標Block的名稱);

Q14.我想整合Fungus跟C#小遊戲
A.簡易的做法是分開場景(scene),比方A場景有Fungus的flowchart,對話完後用Load Scene指令到小遊戲場景B,B場景結束後再讀取場景C接續對話,用C#腳本切換場景:
using UnityEngine.SceneManagement;
SceneManager.LoadScene("場景名稱");


Q15.當我的GameObject到達某個位置時,Fungus能夠偵測到以後執行某某Block嗎?
請到Fungus 系列教學影片下載
影片內是3D遊戲的作法
2D遊戲的話就是把ColliderXXX替換成ColliderXXX2D
然後RigidBody替換成RigidBody2D

Q16.我想要在A場景拿過物品後,到了其他場景又回來A場景時,物品不要重複出現
你可以在A場景裡開一個bool變數,內容設為false,叫做 [ 已拿某某物品 ]
每次進入A場景時就Load Variable讀取這個bool變數,第一次的時候一定是false,false的話就顯示物品,拿了物品以後就Set Varialbe [ 已拿某某物品 ] = true,但因為是跨場景,需要用Save Variable指令儲存變數的結果,不然讀取其他場景後,變數又歸零變成false
所以之後又回來A場景時,Load Variable發現為true,true的時候就把該物品關掉或Destroy

官方第11個教學有專門的介紹與中文字幕
11 Fungus variables 變數

Q17.關於內建的快轉對話功能,我想要取消掉
1.建立預設的對話框
Tools-->Fungus-->Create-->SayDialog

2.在Inspector視窗裡點選剛剛建立的對話框
把Dialog Input裡的CancelEnabled取消打勾

3.用Set Say Dialog指令套用剛剛的自訂對話框

註:更多自訂對話框的說明可以參考Q8

Q18.我想要在人物對話時,未說話人物的大頭照Portrait不要變暗
A. 找一下Hierarchy視窗內的Stage物件,把Dim Portraits(染色大頭照)的選項關掉
順帶一提,如果不要變暗,要改成其他顏色的話,就是修改DimColor(染色)

Q19.如何藉由按鍵觸發NPC對話?
A.參考這個影片:
Unity X Fungus 按鍵觸發NPC對話
請到Fungus 系列教學影片下載




210 則留言:

  1. 請問 有沒有 推薦的教導如何使用Fungus在3D場景中的教學呢?

    回覆刪除
    回覆
    1. Unity+Fungus的3D遊戲對話應用
      http://www.morningfungame.com/2017/03/unityfungusin3dgame.html

      刪除
    2. 新版的fungus支援3D遊戲內觸發對話
      https://youtu.be/6mXhMzGv-ng

      刪除
  2. 目前沒有相關的教學耶 網路上找文章也滿少的
    你可以利用message Received 或Click Button 來觸發Block以顯示對話
    以上這兩個有需要教學影片嗎?要的話我最近找時間來製作教學
    除此之外有沒有其他的功能需求?

    回覆刪除
    回覆
    1. 有空的話 麻煩 版主幫忙製作教學影片了 謝謝!!

      另外目前是沒有其他的功能需求了 感謝!

      刪除
    2. 那我最近找時間製作一下 請耐心等候

      刪除
  3. 非常感谢这一系列中文的unity教程,帮到了看英文有困难的我。
    我想做个游戏,人物对话可以修改的,应该是要做一个外部文件,
    可是对话的内容如果从一个文件里读取要怎么做?

    回覆刪除
    回覆
    1. 不好意思,第一次发消息,名字处出现个unknown

      刪除
    2. 從外部文件修改對話的功能我還沒有研究過
      不過你可以試試看Localization(本地化)

      功能表的Tools-->Fungus-->Create-->Localization
      在Hierarchy視窗裡會產生一個Localization物件
      點進去會有三個按鈕 下面兩個是:
      Import Standard Text (輸入文字)
      Export Standard Text(輸出文字)

      這兩個按鈕可以匯入或匯出對話文字跟角色名稱為TXT檔
      剛剛試了一下 沒什麼大問題 你可以試試看

      這個功能是用來製作多國語言遊戲用的
      但是拿來作為匯入匯出外部文件來修改對話的話
      可以試試看

      刪除
  4. 請問一下
    在人物對話中加入了音樂,在遊戲跑完時有設定停止音樂,但我另外有設定一個Button可以跳過人物對話,可是這樣音樂會繼續播放不會停止,請問這要怎麼做?

    回覆刪除
  5. 你可以把停止音樂的指令做成一個Block,在遊戲跑完時call Block,還有按下跳過對話按鈕時也call Block

    回覆刪除
  6. 请问怎么做对话Skip指令

    回覆刪除
    回覆
    1. 我做成教學文章了 你看一下,喜歡的話請幫我多多分享這個部落格跟Youtube頻道喔~
      http://www.morningfungame.com/2017/12/unity-x-fungus-fungus.html

      刪除
    2. 万分感谢。。。

      刪除
  7. 大大能否做一個專注於物品合成的簡單教程

    回覆刪除
    回覆
    1. 如果是較複雜點的物品合成,建議還是用C#來寫

      簡單物品合成的話,可以參考密室脫逃的教學...
      https://www.youtube.com/playlist?list=PLYGd-m5DMaRZt7O2VTrlqUUpnlFHvvcwd

      刪除
  8. 請問為何無法安裝Fungus點了都沒反應 ><

    回覆刪除
    回覆
    1. 你點了什麼地方都沒有反應?可以的話能加Line傳截圖給我看嗎? 有無錯誤訊息?
      我的Line條碼連結:
      http://www.morningfungame.com/p/blog-page.html

      刪除
  9. 請問我想做類似"返校"這款遊戲的對話方式,在移動過程中發現物品後點擊場景物件會出現對話要怎麼設定?

    回覆刪除
    回覆
    1. 發現物品與點擊後會出現對話的功能,可以參考密室脫逃遊戲的系列教學
      https://www.youtube.com/watch?v=QGY4mTOf2Uo

      刪除
  10. 請問一下 Fungus 的Draggable2D 無法用在UI 物件上? UI 的image 不能拖曳

    回覆刪除
    回覆
    1. 他的Draggable2D物件只能用在Scene裡而已喔,不支援UI物件

      刪除
  11. 請問一下Fungus能否設定文字框讓玩家打字,再根據結果去引發block

    回覆刪除
    回覆
    1. 可以的,Unity的功能表裡點擊GameObject---->UI---->Input Field 可以新增文字輸入框,
      然後在你要觸發的Block的Excute On Event裡選擇UI---->End Edit ,
      接著把剛剛的Input Field 物件拖曳到 Target Input Field 欄位裡,
      這樣一來,在輸入完文字的時候,就會觸發該Block。

      再來先開一個string變數,該Block裡面加一個Get Text 的指令,去取得Input Field, 物件裡的Text內容,也就是剛剛輸入的文字內容,會被丟到string變數裡。
      Input Field 裡的text物件拖曳到Target Text Object欄位裡。
      string Variable欄位選擇剛剛開的string變數。

      接著再看你要對該string變數(文字內容)作什麼處理

      刪除
    2. 還在嗎,請問一下,fungus能否,stop一個gameobject的動作

      刪除
    3. 作者已經移除這則留言。

      刪除
    4. 比方說,我設定一個敵人的移動,用了set anim等等讓他來回走,當他遇到player時,會觸發對話,但它仍然會來回走,如何讓它在遇上player後暫停移動,我用了變數loop,設定成if loop = true ,然後進行來回,沒有End,我試了加end和else,
      配合wait等等也做不到,真的只能用寫嗎

      刪除
    5. 幫你做成圖文說明了,喜歡的話請幫我多多推薦Youtube頻道喔~
      http://www.morningfungame.com/p/blog-page_9.html

      刪除
  12. 您好,非常感謝您的教學,真的幫助很大!然後我想請教一下幾個問題!
    1.我使用Potrait顯示人物立繪時,因每一次顯示都會有像是淡入的效果,當要切換很多種表情的立繪的時候,那個效果會有點顯得多餘,是否有什麼辦法可以弄掉這種效果呢?或是有什麼其他作法?
    2.另外就是Potrait跟Say幾乎是同時一起出現,有沒有什麼辦法可以讓Say可以慢個幾秒被執行呢?

    回覆刪除
    回覆
    1. 1.找一下Hierarchy裡的Stage物件,有個代表淡化時間長度的Fade Duration選項,改成0的話就沒有淡化效果了
      2.Portrait指令跟Say指令中間加一個Wait指令就可以了,Duration裡寫入你要延遲的秒數

      刪除
    2. 謝謝您的回答,問題順利解決了><!!

      刪除
  13. 你好,你的教學簡單易懂我很喜歡!!
    請問用Fungus插件可以做出限時的效果嗎?比如說進行某個選項,或是遊戲的時候若超過1分鐘就會自動選擇,或是直接gameover的效果.

    回覆刪除
    回覆
    1. 如果是menu選單的話,加一個Menu Timer就可以有限時的效果,其他地方要做限時功能的話,可以用wait指令搭配if else指令,比方利用wait指令計時,後面加上if else指令,如果變數為true的話就代表成功,false的話就代表失敗,當然成功或失敗的判定要另外做Block

      刪除
  14. 大大,我是新手中的新手,能否教教我如何制作出用键盘输入文字通关的游戏??
    比如出现一个图片,玩家需要输入图片的名字方可通关。。
    这样。。。谢谢!!

    回覆刪除
    回覆
    1. 帮你做成教学了
      https://youtu.be/TB-b9WCj3sU
      喜欢的话请多多帮我分享喔

      刪除
  15. 你好,我是一個新手,看過大大的教學令我學到很多知識,實在感謝!
    我現正嘗試用Unity寫主遊戲,而當中會觸發很多以FUNGUS設計的小遊戲。
    我怎樣可以在主場景取得在FUNGUS內的變數(例如小遊戲所得的分數)?
    或是在FUNGUS內把變數傳出去主場景?
    請指導一下,謝謝你!

    回覆刪除
  16. Fungus的變數都是跟著Flowchart跑的

    參考這個官方影片
    https://youtu.be/WFEGnS7MU74?t=10m50s


    另外建議可以寫成property的方式,由C#主動去取得Fungus裡的變數
    像string的話 可以用GetStringVariable()跟SetStringVariable()

    參考以下網址:
    http://fungusdocs.snozbot.com/class_fungus_1_1_flowchart.html#a72100a8094a84c81cedb28ffd18bc79d

    回覆刪除
    回覆
    1. 謝謝大大的回覆。
      其實GetIntegerVariable等方法我也考慮過,但官方只列出語法,而網上都沒什麼例子,
      我想嘗試了在Flowchart內建立property,然而不太了解如何運用:
      Get or Set : 選Get?
      Property : (不知應該選哪項)
      Transform Data : 有呼叫此變數的c#的GameObject?
      In Out Var : 在Flowchart內需要提到外邊的變數 x
      而呼叫用的c#我用了 int fungX = flowchart.GetIntegerVariable("x");
      以上做法沒任可效果,又不知道是哪裡用錯了方法...
      希望大大可以具體指導一下,謝謝!

      刪除
    2. 幫你做成教學文章了,喜歡的話請多多幫我推薦分享教學頻道喔
      http://www.morningfungame.com/2018/02/unity-fungus-get-set-variable.html

      刪除
    3. 有了大大的教學文章,終於明白及已經做得到了! 很開心!
      大大的教學真的體貼入微,實在感激萬分!

      刪除
  17. 大大,我透過Unity主遊戲不用地方會以trigger形式觸發不同的FUNGUS小遊戲,現在差不多成形。但有兩個疑問是...
    1. load過的Fungus場境我在它完了後便Fade out,但實際上仍是會殘留在遊戲內...那便會越來越多積聚著,似乎不太有效益...請問Fungus內可以自行銷毁嗎? 若透過外部unloadScene, 如何讓主場景知道哪一個Fungus名稱剛完結而去unload該指定的scene?
    2. 我以C#掛在Object上來控制播放背境音樂,可以做到在轉換主場境時變更音樂,及trigger後load Fungus時變更音樂。然而,在Fungus小遊戲完結後只是停止了其音樂,卻未能再叫主場境的音樂起動... 大大有什麼建議呢? 煩請指導一下,謝謝!

    回覆刪除
    回覆
    1. 1 fadeout sprite指令只是視覺上的效果,實際上還會留在場景裡面,你可以一個小遊戲對應一個場景,就是每個場景裡只放一個小遊
      戲,這樣要玩小遊戲的時候就切換場景過去就好了,要銷毀單一物件的話,fungus裡有destroy指令。

      2.音樂的部分我不太熟,建議你去臉書社團"Unity 應用領域" 問問好了

      刪除
    2. 作者已經移除這則留言。

      刪除
  18. 我運用大大之前所教把Fungus變數傳至主場景的方法,把Fungus要完結時的訊息告知主場景,再在主場景把預先記下的場景名稱做UnloadSceneAsync,現在可以做到銷毁完成的Fungus場景了! 而音樂方面用相類似方法教主場景改變音樂,原本是有點失控,但銷毁了不用的場境後音樂控制便回復正常了! 再次感謝大大分享的各個視頻教學,非常實用!

    回覆刪除
  19. 嗯嗯 繼續加油囉

    回覆刪除
  20. 我目前仍在用UNITY5的版本,請問FUNGUS還可以下載到較舊的版本嗎?

    回覆刪除
  21. https://github.com/snozbot/fungus/releases

    Github網站上可以下載舊版本,順帶一提,這網站也會有很多unity相關的程式碼可以參考,自己搜尋看看吧

    回覆刪除
    回覆
    1. 已安裝成功,非常感謝~~

      不過我將製作好的遊戲Build成EXE檔並開啟遊戲後會有粉紅色的圖塊遮擋畫面,在Unity內部測試則是正常的,會是什麼問題?
      Unity版本:5.6.4f1
      Fungus版本:3.6.0
      https://imgur.com/rXQTdMB

      刪除
    2. 不知道是不是跟貼圖有關係,你參考一下這個網頁
      https://blog.csdn.net/nijiayy/article/details/49151117

      刪除
  22. 我剛開始接觸,能請教一下要如何在say完之後切換scene?

    回覆刪除
  23. 大大你好。想問一下如果我希望在場景中改變portrait的大小能怎樣做嗎?
    就是我有一個A的character,他對話到一個點的時候portrait就會縮小一半。除了用繪圖軟件弄一個half size的圖外,能直接用code把portrait的scale弄一半嗎?我嘗試過在transform.scale弄成0.5但並沒有效果。

    回覆刪除
    回覆
    1. 你該不會是直接修改有Character Compoment的物件吧?那個只是設定該Character內有哪些Portrait而已喔,遊戲執行時遇到portrait指令的話,Fungus會在Canvas裡即時建立跟Character同名的Image物件,要改這個才有效果...

      目前我想到的方法是:你修改PortraitController.cs裡的 CreatePortraitObject() ,讓他建立Image物件的同時也上個tag ,然後你另外寫腳本根據tag來找Image已便修改大小

      我自己測試一下是可行的

      只是你修改Fungus腳本的話,之後升級Fungus時小心覆蓋到

      刪除
    2. 用tag來改大小是成功了,但當portrait image轉換的時候欲出現了很清晰的跳動,是因為Update()的速度有延遲嗎?

      我現在的狀況是:
      Portrait由offset left跳入畫面左面,圖片是有縮小的。
      然後一小段對話後,portrait由開心的表情轉換成傷心的表情,我用的是Portrait->left->sad face,沒有move to,然後很明顯看到傷心表情圖片先是以原size出現,然後1秒/1frame後才縮小。
      請問這個問題何以如何解決?
      ps: 我是另開一個script,在Update()中用GameObject.FindGameObjectWithTag找到目標,再用transform.localscale改大小

      刪除
    3. 我自己試了一下是正常的耶 不會忽大忽小,然後順序是:

      Portrait指令-->
      invoke改大小的腳本-->
      對話-->
      Portrait指令(切換表情)-->
      invoke改大小的腳本-->
      其他動作...

      會不會你按到了Portrait指令裡的"Wait Until Finished"選項?
      因為我打勾以後就會出現跟你一樣的情形

      刪除
    4. ps 我測試環境是Unity 2017.3.0p4 + Fungus 3.8

      刪除
    5. "Wait Until Finished"選項並沒有勾選,測試環境2017.1.1+Fungus 3.6
      該不會是版本問題吧...

      不過請問你是在flowchart裡呼叫改大小的腳本還是怎樣?
      我的是利用Update()去改動大小的,用過invoke但也是有跳動問題。

      然後我也試過直接把圖片縮小一半,但顯示出來的大小並沒有變。

      刪除
    6. 我是寫成單獨的方法,然後每次要切換Portrait之前會invoke Method,沒有寫在Update裡
      這個網址你可以下載我測試成功的專案看看
      https://drive.google.com/open?id=1njaJAL23ulTX5B76t8IdxEgtJ0kaIbUc

      刪除
  24. 作者已經移除這則留言。

    回覆刪除
    回覆
    1. 作者已經移除這則留言。

      刪除
    2. https://github.com/snozbot/fungus/releases
      Unity 5.61 版的話應該能跟Fungus3.6 搭配在一起

      刪除
  25. 大大你好,想問一下要如何用Fungus製作在3D環境下某NPC的範圍內按下某個按鍵能與其對話的功能
    目前在作大學的專題,有一大部分會使用這邊的功能

    回覆刪除
    回覆
    1. https://drive.google.com/open?id=1aqrOieRPJF1_fAUXNqcFqaIoYJrbvC5J
      幫你做成專案了,下載自己看一看。
      Unity版本:2017.3.0 p4
      Fungus版本:3.8

      NPC身上追加一個大Collider,且IsTrigger打勾,當作感應範圍,然後NPC裡面開一個Flowchart,新增一個用Trigger驅動的Block,當已按下說話鍵為True的時候才會執行對話。

      另外也要開一個按鍵控制的遊戲物件,開Flowchart跟Block來偵測按鍵

      玩家移動的部分我是用C#控制,只能左右移動

      (說話按鍵目前設定為Z鍵)

      ============
      覺得好用的話請跟同學多多分享我的頻道,或考慮去賣場買點東西支持一下喔~
      https://gumroad.com/morningfungame

      刪除
    2. 真的很感謝你 我跟我同學都很喜歡你的視頻 真的很實用
      再次感謝

      刪除
  26. 大大好~。我想請問下 fungus怎麽做到隨時隨地可以存檔讀檔 比如點擊一個保存按鈕 它會自動生成一個save point保存當時的游戲狀態 然後通過讀取按鈕去加載它。而不是自己手動一個一個在指令裏面加save point

    回覆刪除
  27. 你可以試試開一個遊戲一開始就執行的Block,裡面放入While 指令跟WaitForSecond指令,變成每隔一段時間就自動重複執行的Block,然後Call 存檔用的Block 看看

    回覆刪除
  28. 感謝大大的回復!!,我試了一下有兩個問題 我的while好像不能循環 請問while要配合其他的指令使用嗎,還有個問題就是call到執行存檔的那個Block后 怎麽在call回到劇本中來.我有點笨,請大大不要嫌棄Orz.

    回覆刪除
    回覆
    1. While後面應該要有個end包起來,Call block指令有個call mode的選項,改為continue試試看,還是不行的話建議從首頁找 聯絡陳間時光 加line傳相關block的截圖給我看,或是整個專案資料夾壓縮後傳給我

      刪除
  29. 大大好~想請問一下我在Fungus使用了SHAKE CARMERA的功能, 在電腦上跑是有震動的效果。但到安裝在手機是便沒有震動效果,這是正常的嗎? 否則應如何解決?

    回覆刪除
    回覆
    1. 抱歉,這個我也不太清楚耶,你到官方討論區問問看吧
      http://fungusgames.com/forum/

      刪除
  30. 您好,我遇到一個問題,Unity5.6.2用Fungus3.8會出現一大排的程式碼錯誤警告,改成Fungus3.7或是3.6也是一樣,把舊專案移到Unity2017.1.1上也一樣

    回覆刪除
    回覆
    1. 附上錯誤程式碼的圖片
      https://imgur.com/a/k0LL5KS

      刪除
    2. 你要不要試試安裝Unity 5.6.6?
      我自己電腦上這個版本跟Fungus3.6是相容的

      刪除
  31. 我用5.6.4要下載Fungus,Asset Store跟我說要2017.1以後的版本才能下載了QQ

    回覆刪除
  32. 你看一下上方的常見問題集,有舊版本可以下載,5.6.4的話應該是Fungus3.2版左右吧

    回覆刪除
  33. 請問陳間大,Fungus能否呼叫到C#腳本裡的Function呢?
    比如說我按某個物體,對話完成後會開始一個捉迷藏小遊戲:東西是隨機放的,小遊戲部分已用C#寫好,用Fungus加入前導對話而已
    我只有看到用C#讀取Fungus參數的教學~

    回覆刪除
    回覆
    1. 秒回自己的問題.... 我看到invoke event了XDDDDD
      所以應該是直接拉腳本所在物件過去,指定腳本程式的功能即可.....

      刪除
  34. 上方的常見問題集有你要的答案喔

    回覆刪除
  35. 請問有方法可以動態更換 Portrait 嗎??
    想讀資料表進來顯示對話,希望頭像可以根據資料表內容更換到指定頭像,而不是從flowchart裡去指定

    回覆刪除
  36. 不好意思,這方面我也沒有做過,應該還是需要寫腳本去控制頭像喔

    回覆刪除
    回覆
    1. 請問你的腳本是指flowchart嗎?
      我是沒找到有API可以換頭像,好像只能透過flowchart去換

      刪除
    2. 試出來了

      Sprite s = _character.GetPortrait("CiaraHead");
      Block block = _flowchart.FindBlock("ShowBlock");
      Portrait pCommand = block.CommandList.Find(x => x.GetType() == typeof(Portrait)) as Portrait;
      pCommand._Portrait = s;

      這樣就可以用同一個 block 透過 c# 顯示不同的角色圖

      刪除
  37. 大大你好,很感謝你的教學文章,受益良多,但自己在製作時遇到了一些問題,不知能否來此麻煩您。
    我正在製作一個手機端的遊戲,想要讓螢幕上下分割(像您密室那篇示範),就像這樣:https://imgur.com/a/Y5Bpxug
    但是我其中一部分是以3D製作,另外一部分是2D平面,目前我的處理方式是
    1.修改Camera的ViewportRect(X-0,y=0.4)
    2.下半部黑色的無法使用Sprite,僅能使用UI才會顯示正常
    請問這樣的話,下半部如果都是UI元件,還應該做什麼銜接才能順利使用到Fungus在Sprite上例如Draggable等等的功能呢?

    非常感謝你


    回覆刪除
    回覆
    1. 不好意思類似的問題我沒接觸過...現在想到可能的方法是下方再開一個ViewPort與對應的攝影機,顯示Draggable等物件。

      如果還是沒辦法的話,建議到臉書社團 Unity應用領域 問問,那邊很多高手

      刪除
    2. 好的!身為一個程式苦手,非常感謝你的部落格提供的教學

      刪除
  38. 不好意思,想請問一下有關drag功能,在場景中創建了一個2d的sprite,並已加上collider 2d、draggable 2d,但試播後拖曳該物件速度非常緩滿,感覺很像拖不動,想請問這樣的情況該如何解決,謝謝。

    回覆刪除
  39. 回覆
    1. 沒有出現任何錯誤訊息,在播放時感覺很難拖得動該項物品而且拖曳到一定範圍就無法再拖了。

      刪除
    2. 不好意思,應該說如果滑鼠放開再重複拖曳該物品可拖到較遠範圍,但若滑鼠一直點擊著物品拖曳,好像就只能在小小的範圍內移動,謝謝。

      刪除
  40. 方便的話你整個專案資料夾壓縮傳Line給我看吧

    Line帳號連結
    http://www.morningfungame.com/p/blog-page.html

    回覆刪除
  41. 大大您好,我照著您的影片用Fungus做了文字解謎遊戲,可是我想弄成手機直的畫面,但是在遊戲畫面撥放預覽的時候物件和對話都超出畫面看不到,這個要怎麼解決呢?

    回覆刪除
  42. 看一下本網頁上方,常見問題的Q8,你需要自訂對話框,變成直的

    回覆刪除
  43. 不好意思,又來請問大大

    想請問是否有從Script訪問Fungus內部某個Block-Say-StoryText的方法?

    官方的教學只有提到訪問變數,但這個功能似乎沒有找到對應的接口
    例如一:要玩家輸入名字,然後NPC會在對話中提及
    例如二:依照條件,從腳本傳送字符串給NPC的對話

    想實現類似的功能,但好像沒有類似的代碼

    非常感謝大大!

    回覆刪除
  44. 你看一下本網頁上方的Q7 透過C#存取Fungus變數
    官方教學是這個(記得打開中文字幕)
    https://youtu.be/uRh7INbed2I?t=20m19s

    然後在對話框裡要顯示Fungus的變數內容的話,可以用{$變數名稱}來顯示,
    比方你有個Fungus的int變數叫做 分數,內容是99
    那麼在對話框裡輸入 你的分數是{$分數}
    就會顯示 你的分數是99
    或著你整個對話內容指向一個Fungus字串變數也可以

    然後NPC在對話中提及玩家名字的話,
    你可以遵循以下步驟
    1.開一個input field物件
    2.指定某個Block的Excute On Event為UI\End Edit,然後Target Input Field指向步驟1的物件
    3.新增一個Set Variable的指令,就可以把玩家輸入的名字丟到某個Fungu的string變數裡

    回覆刪除
    回覆
    1. 還有一個相關的影片在這裡:
      https://youtu.be/2PYKU0l-BeQ

      刪除
  45. 如果要做攻略向遊戲,要怎麼寫出好感度?

    回覆刪除
  46. 你的好感度要哪種?1對多還是多對多?
    1對多是比方一個玩家跟5個角色間的好感度是5個1對1

    多對多的話變成是5個角色彼此間也有好感度,那會有10多個好感度

    回覆刪除
    回覆
    1. 恩...目前的想法是大概有5.6個角色可以給玩家選擇,然後玩家選擇其中一個1對1攻略

      刪除
  47. 5個角色的話可以開5個int代表好感度,當發生某某對話後就增加對應角色的好感度 set variable 。結局時可以用if指令判斷誰的好感度最高,就執行不同的結局Block

    回覆刪除
  48. 請問Fungus能跟程式結合嗎?例如:劇情用Fungus做,存檔方式用程式寫

    回覆刪除
    回覆
    1. 可以的 請看本網頁上方問答集的Q6跟Q7

      刪除
  49. 請問能將Canvans改成世界座標嗎? 要建構在VR上

    回覆刪除
  50. http://blog.ja-anything.com/2017/09/25/ugui基本使用與佈局二canvas-recttransform-基本觀念/

    Render mode 改 world spacew試試

    回覆刪除
  51. 您好,我想請問拼圖組合的遊戲,在FUNGUS裡面可以怎麼做?麻煩您了

    回覆刪除
  52. 拼圖遊戲有很多種,你有參考的遊戲影片可以讓我了解一下嗎?

    回覆刪除
  53. 您好,這裡怎麼上傳圖片

    回覆刪除
  54. http://my-gamer.com/games/gb9397.html 像這種的

    回覆刪除
  55. 你可以先做只含1份拼圖的遊戲試試看:
    大致原理是每個小拼圖在拼圖版上有對應的透明Target
    拖曳小拼圖碰到對的Target的時候,
    就會直接套用該target的座標

    所以有9塊拼圖的話
    拼圖板上要先設定好9個已正確排列的透明target
    而且開9個block去一組一組設定

    具體做法:
    每塊拼圖一開始就出現在畫面上
    每塊拼圖都做成Draggable Sprite物件
    拼圖框裡有對應的 draggable Target物件
    還要設定block:OnDrag的時候
    就利用Tween指令,把target的座標套用到拼圖上面

    用fungus做會很好思考,但是步驟繁瑣,
    如果要像你PO的遊戲那樣有多份拼圖可以選擇的話,建議用c#寫腳本會省事很多

    回覆刪除
  56. 哈囉我又來打擾了! 想請問有四種花色的瓶子,上面4種花色為abcd,下面順序則是打亂的,我想要下面的四個瓶子可以互相移動,假如順序為cbad,我想要點一下d和a,他們順序能交換。
    玩法是此連結的第5步驟
    http://news.4399.com/gonglue/hstt/xinde/m/457424.html

    回覆刪除
  57. 大致上是4個瓶子都做成Clickable2D物件,
    設定每次點擊瓶子的時候都會執行判定
    已選取物件數int為0的話,
    就把點擊的瓶子丟到Gameobject變數1跟Transform變數1裡,
    已選取物件數int為1的話,
    就把點擊的瓶子丟到Gameobject變數2跟Transform變數2裡,
    然後執行對調位置的指令


    需要的變數有:
    已選取物件數int
    已選的物件1 GameObject 1
    已選的物件2 GameObject 2
    已選的物件座標1 Transform 1
    已選的物件座標2 Transform 2

    要用到的指令:
    if
    else if
    end
    call
    Set Variable
    Tween move to


    因為tween指令沒支援讀取兩個Gameobject變數對調位置
    或兩個Transform變數對調位置
    只支援Gameobject跟Transform對調位置
    所以需要多開一組變數...

    要用到的Blcok:4+1
    4個block分別對應4個瓶子 Excute On Event選object clicked
    已選取物件數為0的話 就把自己丟到Gameobject 1 跟 Transform 1 變數裡
    已選取物件數為1的話 就把自己丟到Gameobject 2 跟 Transform 2 變數裡
    然後已選取物件數int+1


    接著4個block都call第5個block
    如果已選取物件數為int=2的話 就執行兩個tween move to指令

    物件1移動到物件2的位置
    物件2移動到物件1的位置
    等於兩個物件對調位置
    tween指令的WaitUntilFinished要取消打勾 才會兩邊同時移動

    然後已選取物件數int=0


    用C#寫的話會省事很多...

    回覆刪除
  58. 我能讓它移動了,但是我該如何才能讓他到正確的位置後有反應呢

    回覆刪除
  59. 你的正確位置是指4個瓶子依照特定順序排列正確吧?
    那你還要開4個int變數,代表目前4個格子各是哪個瓶子,在瓶子交換位置時就順便記錄位置。跟一個答對瓶子數int,然後都執行一個檢查答案是否正確的block

    內容應該是5組 if判斷式
    假設答案是3412
    Block內容為:

    答對瓶子數等於0
    If 格子1等於3號瓶子
    答對瓶子數加1
    End
    .
    .(中間以此類推)
    If 格子4等於2號瓶子
    答對瓶子數加1
    End

    If 答對瓶子數等於4
    Call 下一步的Block
    End

    回覆刪除
  60. 請問功能表找不到tools怎麼辦

    回覆刪除
  61. 詳細的unity版本是多少?有無錯誤訊息?

    回覆刪除
  62. 大大您好,很喜歡您的Fungus教學,從中學到很多~
    因為最近製作遊戲專題時遇到了困難想來請教一下

    Fungus對話目前都是點按之後按照順序出現對話
    請問他能做出像是下圖這款手遊的對話方式,切換next和back的對話模式嗎?
    https://imgur.com/a/nlxDZ0k

    回覆刪除
  63. 不好意思,Fungus目前沒有對話紀錄的功能耶,基本上對話是以block為單位

    回覆刪除
  64. 大大如果要跨場景讀取FUNGUS變數要怎麼做...
    get set只能整合同場景不同flowchart的變數
    https://i.imgur.com/hm82NLi.png
    https://i.imgur.com/m1pALSJ.png
    (我自己試著用這個將兩個同場景flowchart的變數整合,但是即使給這個腳本加上跨場不銷毀
    它跨場之後也會因為抓取不到上一場的flowchart而失效)
    我在巴哈上看到大大回應過跨場需要用Save Variable / Load Variable指令,但我找不到關於這個指令比較能理解的教學

    還是可以讓flowchart不用透過它內建的Variable使用變數
    因為我自訂了可以跨場的計分腳本,但不知道FUNGUS的對話流程能不能直接將變數加在上面(還是說讓FUNGUS抓到我那個腳本的變數)
    用FUNGUS的變數會被限制,甚至只能在同一個flowchart內才能通用,就算用了get set語法抓取了也沒辦法傳送到下一場去......

    回覆刪除
    回覆
    1. 你可以:
      1.參考上方的第11個官方教學:變數,裡面有提到Save Variable的用法,這個是統一用Fungus解決,然後Fungus對話裡可以放入Fungus變數,用法是在對話裡直接寫{$你的變數名稱} 就可以了
      2.Fungus無法直接抓你自訂腳本裡的變數,但是可以透過Invoke Method指令來執行你自訂腳本的方法Method,來達到計算過後寫入Fungus變數的目的。

      刪除
  65. 請問 如何將對話加入2D遊戲中?
    有類似的教學影片嗎?

    回覆刪除
    回覆
    1. 本頁上方有個文字冒險小遊戲的教學,你可以試試

      刪除
  66. 請問最近在做一個ar導覽我是用button啟動fungus文字框來解說,我該如何分別對不同的圖片使用不同的解說文字,因為現在我只有一顆按鈕

    回覆刪除
    回覆
    1. 邏輯上怪怪的...
      只有一個按鈕的話,如果畫面上有很多圖片,怎麼知道要出現哪一個圖片的解說?

      你可以把圖片設定成Button,跟對應的Block綁定在一起,一個蘿蔔一個坑就沒問題了

      Unity的UI按鈕都可以設定圖片,預設值是吃螢幕座標,就是不會隨著攝影機的角度跟著旋轉。
      如果你要把按鈕(圖片)放到場景裡,能跟著攝影機角度旋轉縮放的話,試著把按鈕所屬的Canvas的Render Mode改成World Space看看

      刪除
  67. 请问点击Flowchart面板之后无法选择block并且报错是什么原因呢?

    回覆刪除
  68. 應該是相容性的問題,你可以安裝Unity 2018.3.11搭配Fungus 3.11.2
    下載連結在本網頁上方的Q1跟Q2

    回覆刪除
    回覆
    1. 现在就是这两个版本。但是点击➕添加指令的时候有时会报空对象的错误,有时不会。还有一个问题就是运行的时候对话弹出来非常的卡顿不知道是什么原因

      刪除
    2. 你能夠加我line或微信帳號嗎?
      直接截圖給我幫你看看
      http://www.morningfungame.com/p/blog-page.html

      刪除
    3. 好的已经加了,非常感谢

      刪除
  69. 謝謝您的教學,收穫良多。
    想請問一下使用WebGL建立後該怎麼放到網路上

    回覆刪除
    回覆
    1. 不好意思 網路連線方面我就不太清楚了耶

      刪除
  70. 楼主你好
    我就是昨天问你Psd Importer的那一个,
    多谢你的帮助Psd Importer的问题解决啦!
    不好意思今天再麻烦问下你哦,
    我试了很多个unity和fungus的组合都不能显示【工具】这个菜单。
    请问是因为版本不对吗,
    试用过的组合如下:
    ①Unity 2018.3.11 + Fungus3.11.2
    ②Unity 2019.1.0f2 + Fungus3.11.4
    ③Unity 2019.3.0a5 + Fungus3.11.4
    多谢你的帮助!

    回覆刪除
    回覆
    1. 有什麼錯誤訊息嗎?
      專案資料夾路徑裡有沒有中文?

      刪除
    2. 多谢楼主回复,不过后来我用了一个笨办法解决了,哈哈哈。
      如果用一个新的(Unity 2019.3.0a5)文件在【Asset Store】中导入【Fungus】的话,
      能够顺利出现【Tools】
      但是(Unity 2019.3.0a5)不能用【Psd Importer】,
      所以我只能一边用新版本导入【Fungus】,一边用旧版本打开【Psd Importer】,
      然后把旧版本的scene挪到新版本就解决了。
      暂时只能这样了,如果有好的办法还望赐教。

      刪除
  71. 樓主你好!我想問如果要調整對話裡Portrait裡角色的大小是不能從Fungus裡直接調整嗎(不是動態那種)?因為本身圖片(1732X3000)加進去覺得畫面太小,從Character到Stage裡(全都試過)調整都不會動,這樣是需要寫腳本去控制嗎?還是要用PS調整大小就好了?

    回覆刪除
    回覆
    1. 自訂stage position可以改大小
      https://youtu.be/ISdHvatbc7s

      刪除
    2. 樓主!我有試著用影片的方法去調整,可是發現到Stage position只能調整位置不能調整人物大小(一動Scale拉大,人物都會跑掉)

      刪除
    3. stage position會讓所有的人物都統一大小或比例,還是你不要統一大小,要完全自己控制?
      這樣的話就用Fade UI指令,一個個自己改了。或著你多做幾種Stage Position,區分為大 中 小 三種尺寸?
      再依照你的需求去套用?
      還是不行的話,建議加line傳圖片給我看你想要的效果是什麼
      因為有個可能是我想像的效果跟你的不太一樣...
      http://www.morningfungame.com/p/blog-page.html

      刪除
  72. 請問陳老師,假如我想讓Fungus中的Menu在用鍵盤下鍵選擇選項時,選擇不超出範圍(停在最後一個選項)或循環該從何下手,目前用是按下到最後一個選項後再繼續按下的話想選取的選項(就是藍色的部分)會消失不見,然後要按一次上鍵才會跑到第一個選項上,雖然整體是沒什麼大問題用滑鼠也能正常執行,不過還是想問問老師這功能有沒有辦法修改

    回覆刪除
  73. 請問,我想從C#呼叫Block,但我照著上面寫的用了Flowchart.ExecuteBlock()這個語法,括號裡的東西我直接寫block的名稱沒辦法使用,就算宣告一個block他還是會說"需要有物件參考才能使用非靜態欄位、屬性或是方法。",該如何處理?

    回覆刪除
  74. 需要你的完整程式碼才好幫你判斷喔

    回覆刪除
  75. 請問,對話的Portrait,能把他製作成會動(animation)的嗎?

    回覆刪除
  76. 要自己改用animation相關的指令喔

    回覆刪除
  77. 請問關於C#讀取fungus變數的問題,我想改變fungus變數的地方在某個副函式裡,而我用fungus呼叫副函式時,似乎會讓副函式裡的fungus變數抓不到值(因為我等於整個腳本只讀取到副函式,但是get和set不能寫在副函式裡),這個問題有辦法解決嗎?

    回覆刪除
    回覆
    1. Q7.用C#存取Fungus變數?
      Flowchart.GetBooleanVariable
      Flowchart.GetIntegerVariable
      Flowchart.GetStringVariable

      Flowchart.SetBooleanVariable
      Flowchart.SetIntegerVariable
      Flowchart.GetStringVariable

      可以做成屬性Property來存取,相關教學:
      Unity C# 程式 教學 Get Set 屬性 Property
      https://youtu.be/GDzG0XN85io

      如果以上還不能解決你的問題
      請加Line然後Po程式碼給我之後討論
      http://www.morningfungame.com/p/blog-page.html

      刪除
  78. 陳老師好,請問有辦法修改對話按鍵嗎?
    目前有各種觸發對話的方法,但我找不到有不使用"空白鍵"及"滑鼠左鍵點擊"以進行對話的方法.還是我需要用別的方式製作對話的系統呢?

    回覆刪除
    回覆
    1. 需要修改 DialogInput.cs 腳本
      比方ClickMode多加一個ZKey
      然後Update()裡的switch (clickMode)那邊要加入以下程式碼:

      case ClickMode.ZKey:
      if (Input.GetKeyDown(KeyCode.Z))
      {
      SetNextLineFlag();
      }
      break;

      刪除
  79. 請問我要怎麼讓A Block在scene1開始的時候執行;B Block在scene2開始的時候執行?
    就是我可以選擇讓這個對話在指定的scene開始時執行這樣

    回覆刪除
    回覆
    1. 點選block,在inspector視窗的Execute OnEvent裡可以選擇GameStart

      刪除
    2. 我解決了,謝謝

      刪除
  80. 你好,想請教有辦法讓fungus製作出的對話遊戲弄成手機平板上的嗎?
    就是變成觸控的方式,因為我輸出apk檔他會說程式碼錯誤的樣子
    感謝陳間老師QQ

    回覆刪除
    回覆
    1. Unity本身就支援輸出APK檔,Unity的外掛Fungus也是。
      如果是無法輸出APK檔的話,需要更多資料才好幫你
      參考一下這個:
      http://www.morningfungame.com/2017/10/blog-post_21.html


      刪除
    2. 我重新用了一次,他顯示 gradle build failed see the console for details 但是pc版的輸出很正常,不知道是哪邊出了問題

      刪除
    3. 你給的資訊不夠,我沒辦法幫你

      刪除
    4. UnityEditor.BuildPlayerWindow+BuildMethodException: Error building Player because scripts have compile errors in the editor
      at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00242] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:194
      at UnityEditor.BuildPlayerWindow.CallBuildMethods (System.Boolean askForBuildLocation, UnityEditor.BuildOptions defaultBuildOptions) [0x0007f] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:97
      UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

      找到原因是這個了,但是爬文說要把有UnityEditor的程式碼都移到叫Editor的資料夾下面,但是我做的小遊戲沒有使用除了fungus以外的程式碼了...
      不好意思一直用不完整的資訊發問

      刪除
    5. 修改前記得先把你整個專案資料夾做備份
      修改前記得先把你整個專案資料夾做備份
      修改前記得先把你整個專案資料夾做備份

      你還是沒有跟我講Unity跟Fungus的版本
      Unity版本號碼裡有a或b的話代表是測試用的版本 本來就不穩定
      這樣的話建議安裝舊版unity後再開開看檔案

      https://stackoverflow.com/questions/54194428/unityeditor-buildplayerwindowbuildmethodexception

      可能的辦法:
      1.要刪除Assets內的plug-in資料夾
      2.player settings >> publishing settings 打勾use legacy SDK tools
      3.Player settings 要建立一個keystore鑰匙 打勾Create a new keyStore


      https://www.cnblogs.com/guxin/p/8649834.html
      可能的辦法:
      1.不要輸出APK到Assets資料夾裡
      2.Build System選擇Gradle,在Player Settings中設置簽名。

      錯誤訊息一行行丟到google查資料,常見的錯誤都會有解方

      再不行的話到這些討論區問問
      You Can Make Games
      https://www.facebook.com/groups/155672014541120/?fref=ts

      Unity應用領域
      https://www.facebook.com/groups/UnityFrontier/?fref=ts

      巴哈姆特的Unity討論區
      https://forum.gamer.com.tw/B.php?bsn=60602

      MSDN討論區
      https://social.msdn.microsoft.com/Forums/zh-TW/home?forum=233

      刪除
  81. 老師你好,想請問如果要把對話框旁邊的Portrait改成有動態的Portrait該如何操作?例如頭髮會飄或者眼睛會眨之類的

    回覆刪除
    回覆
    1. 需要在unity內做成animation,配合Fungus的播放animation的指令喔,他的portait預設只支援靜態的

      刪除
  82. 您好,想要請問如何在fungus對話框say裡面,取得並顯示PlayMaker的變數呢?

    回覆刪除
  83. 不好意思,PlayMaker我也不熟耶 你可以到這些討論區問問看
    You Can Make Games
    https://www.facebook.com/groups/155672014541120/?fref=ts

    Unity應用領域
    https://www.facebook.com/groups/UnityFrontier/?fref=ts

    巴哈姆特的Unity討論區
    https://forum.gamer.com.tw/B.php?bsn=60602

    MSDN討論區
    https://social.msdn.microsoft.com/Forums/zh-TW/home?forum=233

    回覆刪除
  84. 您好 我想請問 我如果要做章節 就是選擇章節的頁面 請問要怎麼配合這個 做?

    回覆刪除
    回覆
    1. 你可以每一章都是獨立的場景(Scene),然後建立一個專門選擇用的場景(概念跟關卡選擇頁面一樣),裡面放多個按鈕,點按鈕的時候就觸發對應的Block,Block內可以放Load Scene讀取場景的指令

      刪除
  85. 你好
    我想請問
    我在做 點擊物件-->物件移動(move to)到指定位置-->物件放大(scale to) 過程中
    只要在測試遊玩的畫面中物件都會直接消失,要麼解決這個問題
    麻煩了,謝謝。

    回覆刪除
    回覆
    1. 這個需要看圖片甚至影片才好判斷,方便的話從右邊的 聯絡陳間時光 裡加line傳資料給我

      刪除
  86. 老師您好:
    我有以下需求
    1.台詞為讀字出現,若中途點擊螢幕便全部顯示
    2.台詞全部顯示後,點擊螢幕會跳至下一段或結束
    3.若使用者未點擊螢幕,台詞讀完,全部顯示3秒後跳至下一段或結束

    請問FunGus有辦法實現嗎?
    使用了Say Command還有Conversation後發現設定wait的時間必須把waitforClick set false,雖然可以實現顯示後等待3秒自動跳轉,但當觸及螢幕時,他會直接跳轉至下一段,請問該如何解決?

    感謝老師

    回覆刪除
    回覆
    1. [問題已解決]
      修改了Writer中的DoWaitForInput的函式判斷是否有訊號輸入的部分就可以達成了!

      刪除
  87. 學長您好!
    看了Fungus密碼鎖的影片後,
    我密碼解鎖成功後設置一個好的結局,
    那想要再設置成,密碼輸入錯誤變成壞結局,
    請問要如何設置呢QAQ

    回覆刪除
  88. 老师您好,看了您的视频,收益匪浅,请问fungus可以播放精灵动画吗?要怎么实现呢?想要实现锈湖里面照镜子的时候,其中的人物会眨眼睛这样的效果

    回覆刪除
  89. 陈老师你好,我看了你的视频学会了很多东西。我想问一个问题,就是使用fungus制作游戏的过程中,这个流程表flowchart可以制作两个,然后让第一个选到某个选项跳到第二个流程表里吗?

    回覆刪除
    回覆
    1. 遊戲中跳出來選項的話可以透過menu指令實現,menu指令需要指定要call哪一個block,而且可以指定其他flowchart的block

      刪除
  90. 請問怎麼換背景圖片?在下一個flowchart加入fade sprite 加入圖片不顯示~~~><

    回覆刪除
    回覆
    1. 你檢查一下圖片的order in layer選項 看看是不是被其他圖片擋住了

      刪除
    2. 我背景1和背景2 order in layer都是0 default,我猜應該是被先加入的背景1擋住了,
      請問要怎麼換到背景2?

      刪除
    3. 背景2的order in layer數字改大一點就可以了

      刪除
    4. 解決了,非常感謝~~

      刪除
  91. 老師您好,想請問如何用程式讓fungus的menu dialog出現、消失?
    圖片示意→https://imgur.com/wbryGHz
    謝謝!

    回覆刪除
  92. 請問有指令能夠暫停攝影機晃動嗎?

    回覆刪除
    回覆
    1. 目前沒有指令可以暫停耶 你可以做兩次晃動的效果 中間停留一下 模擬暫停的效果

      刪除
    2. 那請問有辦法一直循環震動0.2秒的指令嗎?不然他震動一次就消失了很不方便

      刪除
    3. 以解決~原來不要勾wait until finish就好了

      刪除
  93. 請問一下如圖 我想製作拖曳管子 將其排列正確的排序後觸發出現正確訊息或切換場景的話 要怎麼製作呢? 求大神解答 拜託了
    https://i.imgur.com/SYojnd5.png

    回覆刪除
    回覆
    1. 拖曳管子的話有點複雜,建議改成點擊管子後,館子會循轉方向,特定方向組合的話就會觸發後續劇情。
      切換場景的話找Load Scene指令
      呼叫後續劇情的話用Call Block指令

      具體作法類似密碼鎖 管子有四個方向的話就是有個變數在0到3之間循環,然後根據數字切換對應的管子圖片
      所以你有5個管子的話,就要開5個變數分別代表。

      https://www.youtube.com/watch?v=wTRb0jIQ0a8

      刪除
  94. 你好~我參考ㄌ您密碼鎖的教學,目前我想要在遊戲裡讓解碼密碼鎖之後,出現成功解鎖的對話,之後UI消失,成功解鎖的對話這部分已經完成了,但是要怎麼讓畫面上的密碼鎖UI消失不見,這部分能直接在fungus完成嗎 還是也是透過C#去寫呢。
    (我有先在C#里先寫密碼鎖的UI先隱藏,點到物件後才出現密碼鎖的UI)
    謝謝

    回覆刪除
    回覆
    1. 物件的顯示或隱藏都可以用Fungus的SetActive指令達到你要的效果

      刪除
  95. 您好,請問因fungus的portrait與UI位置重疊,導致UI無法正常點擊的狀況如何解決。
    目前試過把跟UI同個canvas中的位置物件
    (即建立stage自動生成的left、right等)之Raycast Target取消;
    也有仔細將UI跟跟上述位置物件的layer分層了,但都沒有作用。

    回覆刪除
    回覆
    1. 可以的話加我line,傳給我專案檔幫你看比較快,專案檔要壓縮,並且告知unity版本跟哪個scene或物件有問題

      Line ID
      morningfungame

      刪除
  96. 您好,想請問Sprite如果要放在Character的Portraits裡,有一定要放在特定資料夾嗎?
    因為現在我的圖如果沒有放在FungusExample下,進入play mode之後,Character的Portraits就會不見...,但我找不到他是要從哪裡調整code或設定。

    回覆刪除
  97. 通常不用放到特定資料夾也能顯示圖片。

    可以的話加我line,傳給我專案檔幫你看比較快,專案檔要壓縮,並且告知unity版本跟哪個scene或物件有問題

    Line ID
    morningfungame

    回覆刪除
    回覆
    1. 感謝您的回覆~剛剛試著放到ResourceAB下亦可正常顯示,看起來似乎是嘗試放在沒有被打包的資料夾下出現問題。

      刪除
  98. 老師您好,想請問設定根據在每個不同場景是否有觸發個場景中某個物件,而影響最終結局的走向,請問可以怎麼做?

    回覆刪除
    回覆
    1. 大致上是在某個場景有點擊物件的話
      就Set variable 把某個變數改為true
      然後save Variable

      在結局時load Variable之後
      透過If條件式判斷

      有遇到其他問題可以加Line問我

      http://www.morningfungame.com/p/blog-page.html?m=1

      刪除
    2. 好的,謝謝老師回覆

      刪除
  99. 老師您好,想請問在Scene下新建Saydialog,可是再點選Play後,Scene及Game的View下物件都呈現灰色,是否是版本不符的關係呢?

    回覆刪除
  100. 你有用SetSayDialog先指定自訂對話框嗎?

    回覆刪除

留言給作者加油打氣