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

2016年11月29日 星期二

如何讓3D物件碰撞時觸發Funugus對話

什麼是Fungus?
http://www.morningfungame.com/2016/05/unityfungus.html

2018年更新:

新的Fungus3.7新增很多功能,
包含可以不寫程式就偵測Collision碰撞或Trigger觸發相關事件,
而且2D跟3D都適用,
詳情可以在Unity 裡下載Fungus跟FungusExamples後
參考FungusExamples \ MonoBehEvents 裡的範例場景

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

這個Fungus外掛在3.7版之前基本上都支援2D功能
想在3D物件碰撞時觸發對話的話可以這樣做


using UnityEngine;
using System.Collections;
using Fungus;//記得引用Fungus

public class DetectMessage : MonoBehaviour
    {
    void OnTriggerEnter ( )
        {
        Flowchart.BroadcastFungusMessage ( "呼叫對話1" );
        }
    }

物件1上面加上rigibody 組件 collider組件 跟DetectMessage腳本
物件2也加上collider組件

新增一個flowchart物件
裡面的某個Block觸發條件設定為Message Received
同時Message欄位裡也要輸入一模一樣的 呼叫對話1

所以物件1碰到其他物件的時候
就會透過BroadcastFungusMessage發訊息 "呼叫對話1"

然後某個Block收到 "呼叫對話1" 的時候就會執行該Block裡面的指令

OnTriggerEnter 方法的參數裡可以加個Collider other
另外加入判定條件
比方碰到帶有某某tag物件的時候才觸發訊息

9 則留言:

  1. Fungus是不是刪除了input field和Button呀?

    回覆刪除
    回覆
    1. 印象中作者有說過不透過Fungus製作Input field的UI,容易有Bug。
      然後Unity 5.6 在 GameObject --> UI 已有內建的Input field。
      配合Fungus的Set Text指令可以把Input Field的內容輸入到Fungus的變數裡

      刪除
    2. 對了 GameObject --> UI 裡也有Button

      刪除
  2. 请问playmaker可以和fungus结合使用吗?可以出更多fungus做3d游戏的教程吗?

    回覆刪除
    回覆
    1. 有的,安裝Fungus後,Assets\Fnugus\Integrations裡有PlayerMaker的Package可以匯入。

      其實Fungus比較適合做2D的點擊解迷遊戲,或在3D遊戲裡當作對話的外掛來用,不過我目前沒有要做3D遊戲教學的打算耶,不好意思

      刪除
  3. 請問2D冒險遊戲可以用嗎?當我碰到一個物件那物件就會跑出對話框說一些事在設定某個件可以關閉嗎?

    回覆刪除
    回覆
    1. 可以的,目前新版的Fungus3.7新增很多功能,2D跟3D都適用,可以碰到某物件後觸發某個Block來產生對話

      刪除
  4. 老師您好,這邊在製作2d遊戲,想要按下按鍵又同時觸碰才能觸發對話,請問該怎麼做TT

    回覆刪除
    回覆
    1. 做成影片教學了 你看一下
      Unity X Fungus 按鍵觸發NPC對話
      https://youtu.be/guP_EEeocYM

      刪除

留言給作者加油打氣