zoukankan      html  css  js  c++  java
  • 【转】利用Behavior Designer制作敌人AI

    http://www.unity.5helpyou.com/3112.html

    本篇unity3d教程,我们来学习下利用Behavior Designer行为树插件来制作敌人AI,下面开始!

    Behavior Designer插件里,主要有四种概念节点,都称之为Task。包括:

    (1) Composites  组合节点,包括经典的:Sequence,Selector,Parallel

    (2) Decorator 装饰节点,顾名思义,就是为仅有的一个子节点额外添加一些功能,比如让子task一直运行直到其返回某个运行状态值,或者将task的返回值取反等等

    (3) Actions     行为节点,行为节点是真正做事的节点,其为叶节点。Behavior Designer插件中自带了不少Action节点,如果不够用,也可以编写自己的Action。一般来说都要编写自己的Action,除非用户是一个不懂脚本的美术或者策划,只想简单地控制一些物件的属性。

    (4) Conditinals 条件节点 ,用于判断某条件是否成立。目前看来,是Behavior Designer为了贯彻职责单一的原则,将判断专门作为一个节点独立处理,比如判断某目标是否在视野内,其实在攻击的Action里面也可以写,但是这样Action就不单一了,不利于视野判断处理的复用。一般条件节点出现在Sequence控制节点中,其后紧跟条件成立后的Action节点。

    下面介绍一个简单的敌人AI:

    当处于监视范围内,跑向玩家;当处于攻击范围内,攻击玩家;否则呆在原地。用行为树表示就是:

    Behavior Designer

    Behavior Designer

    Behavior Designer

    其中当前行为树的变量与全局变量为:

    Behavior Designer

    效果图:

    Behavior Designer

    制作简单的AI确实不需要写代码,不过配置起来确实有点麻烦了。可以根据需求,编写自定义的节点来组成复杂的AI。

    当游戏需要大量的AI时,Behavior Designer确实是一个不错的选择,因为自定义的节点可以不断被重用了。好了,本篇unity3d教程到此结束,下篇我们再会

     
  • 相关阅读:
    关于 继承、扩展和协议,深度好文
    BearSkill纯代码搭建iOS界面
    漫谈程序猿系列:程序猿零门槛?
    Uva--11324--The Largest Clique【有向图强连通分量】
    iOS_UITextField 基本操作
    苹果官方xcodeprojectbuild设置指南
    <html>
    Matlab 随机数字
    基于中文人员特征的性别判定方法
    小米用户画像的演进及应用解读
  • 原文地址:https://www.cnblogs.com/mimime/p/6368756.html
Copyright © 2011-2022 走看看