unity3d⼈物对话_【零基础】【Fungus⾸个中⽂教程】10分钟
快速构建Unity中。。。
我真的很久没有写过⼀个完整的攻略了(笑),咸鱼了很久之后还是想来写⼀个好玩的。这次主要是梳理⼀下Unity的⼩众插件Fungus的核⼼功能,并且快速掌握其使⽤⽅法。
那么⾸先Fungus是什么呢?Fungus提供了⼀个交互式的界⾯,快速构建⼀个对话系统,甚⾄是⽂字游戏(AVG)的核⼼组件。
Fungus在Unity 3D项⽬中,主要是做剧情讲述部分,故我主要是阐述Fungus怎么做好⼀个剧情阐述。
⼀,怎么创建⼀个叙述?场景开始时的故事阐述
⾸先我们打开⼀个Unity项⽬,当然我⼿上是有⼀个项⽬的,⽬前正在参加Imagine Cup 2018.
⾸先我们在Tools⾥到Fungus。事先我们需要在Unity的Assets Store⾥安装这个插件。
创建⼀个Flowchart。这样我们可以发现左边的树⾥已经多了⼀项Flowchart。
接下来我们打开Fungus的Flowchart窗⼝。
然后会出现⼀个这样的界⾯:
接下来我们点⼀下这个Block,为它改名为“StartStory”,然后将触发条件设为“GameStart”。
接下来为这个Block添加⼀些内容。
我们选择“+”,然后选择narrative⾥的say,添加⼀个新的叙述。
如果需要多段叙述,可以继续添加不同的块。
到现在我们都没有看见⼀⾏代码,是不是⾮常简洁?
⼆,对话系统开放!Character与Menu
⼀直到刚才我讲的都是单线叙事,现在我引⼊⼀个概念:Character。
接下来我们建⽴⼀个叫做boy的⼈物。
我们可以为⼈物指定⼀个Portrait(肖像),实现类似下图的效果:
如图操作:
现在有了⼀个Character之后,我们的对话就可以指定⾓⾊来区分了。
当然还有⼀个加快速度的剧情添加办法:Narrative > Conversation。
然后将剧情以这样的⽅式添加:[character] [portrait] [position] [hide] [<<< | >>>]: [Dialogue text]
⽰例:
john bored left: Oh, so that's how you use the Conversation command.
sherlock eyeroll right: Yes, well done John.
You catch on quickly don't you?
hide john "offscreen left": I sure do.
-- This is a comment, it doesn't appear in the conversation
john angry middle: Wait, what!
left: There's no need to be rude Sherlock!
bored: Not like that would stop you.
sherlock excited: AHA! So that's how you do a conversation from Lua!
Fascinating.
john <<<: yes riveting.>
john hide:
sherlock hide:
接下来就能顺利展开剧情了。
接下来是⼀个重要功能:Menu。Menu可以为我们做出剧情⾛向,即根据选择跳转到不同的Block。
⾸先我们做⼀个简单的对话选择⽀:答题系统。
⾸先我们在Block后创建四个Menu:
然后再新建⼏个新的Block,将Menu的target指向新的Block。
这样就可以实现⼀个对话分⽀了。
请看答题系统的Fungus实现:
最后就可以形成⼀个对话树结构。
三,触发式对话
当然我们知道,⼀个正常的⼈物对话其实应该是触发式展开的。⽐如说你⾛近⼀个⼈,就开始⾃动对话,或者是按下键,就⾃动对话。这⾥提供⼀个简单的触发式解决办法,当然这不是唯⼀的解决办法:
1,⾸先我们给⼈物加⼀个Collider,Box Collider即可。
这⾥最好让Collider不碰到任何其他物体。
同时注意,我们还要创建另⼀个Collider来保证⼈物不被穿过。这个时候可以⽤Sphere Collider。
2,我们勾选触发器,isTrigger选项。
然后在这个⼈物这⾥新建⼀个C#脚本,编辑触发器函数:
这⾥的Message类似⼀个信号,当我们触发了这个Collider之后,⼴播了⼀个信号,我暂且取名为majorTask1.
同时我们将block的触发条件设置为”Message Received“。
这样我们就可以设置成触发式对话了。
=================================
这是我们正在开发的独⽴游戏:《⽆尽⾳海》⾳乐跑酷+探索城市。⽬前正在开发阶段。unity3d入门

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。