[Unity插件]Behavior Designer:SharedVariable与GlobalVariable

设置SharedVariable与GlobalVariable:

上面的SharedV是SharedVariable,变量范围是当前行为树;

下面的GlobalV是GlobalVariable,变量范围是所有的行为树。

SharedVariable与普通变量的区别:

SharedVariable可以引用上面设置的变量,省去了拖拽的操作,如果同一个物体被多个节点引用,则可以将该物体设置为SharedVariable

using UnityEngine;

namespace BehaviorDesigner.Runtime.Tasks.Basic.UnityGameObject
{
    [TaskCategory("Basic/GameObject")]
    [TaskDescription("测试SharedGameObject")]
    public class Task1 : Conditional
    {
        public SharedGameObject sharedGameObject;
        public GameObject a;
        public SharedProperty sharedProperty;
    }
}

自定义SharedVariable:

using UnityEngine;

public class Property : MonoBehaviour{

    public int nowHp = 100;
    public int maxHp = 100;

}
using UnityEngine;
using System.Collections;

namespace BehaviorDesigner.Runtime
{
    [System.Serializable]
    public class SharedProperty : SharedVariable
    {
        public Property Value { get { return mValue; } set { mValue = value; } }
        [SerializeField]
        private Property mValue;

        public override object GetValue() { return mValue; }
        public override void SetValue(object value) { mValue = (Property)value; }

        public override string ToString() { return (mValue == null ? "null" : mValue.name); }
        public static implicit operator SharedProperty(Property value) { var sharedVariable = new SharedProperty(); sharedVariable.SetValue(value); return sharedVariable; }
    }
}

时间: 2024-10-11 11:51:00

[Unity插件]Behavior Designer:SharedVariable与GlobalVariable的相关文章

[Unity插件]Behavior Designer:制作敌人AI

一个简单的敌人AI: 当处于监视范围内,跑向玩家:当处于攻击范围内,攻击玩家:否则呆在原地.用行为树表示就是: 其中当前行为树的变量与全局变量为: 效果图: 制作简单的AI确实不需要写代码,不过配置起来确实有点麻烦了.可以根据需求,编写自定义的节点来组成复杂的AI. 当游戏需要大量的AI时,Behavior Designer确实是一个不错的选择,因为自定义的节点可以不断被重用了.

Unity中的行为树插件:Behavior Designer

外国技术人员的插件:http://www.opsive.com/assets/BehaviorDesigner 目前公司内部比较推崇的行为树插件就是这个,虽然有其他几个同类的竞品. 说一句题外话,优秀的插件总是外国人开发的,并且可以将插件开发做成一个小工作室或者个人的主要收入来源,但没看到国人有类似的作品出现. 行为树的概念出现已经很多年了,总的来说,就是使用各种经典的控制节点+行为节点进行组合,从而实现复杂的AI.目前在游戏中一般复杂的AI都可以看到行为树的身影,简单的AI可以使用状态机来实现

基于行为树的AI 与 Behavior Designer插件

优点: 0.行为逻辑和状态数据分离,任何节点都可以反复利用. 1.高度模块化状态,去掉状态中的跳转逻辑,使得状态变成一个"行为". 2."行为"和"行为"之间的跳转是通过父节点(Composite)的类型来决定的(例如sequence或者selector) .比如并行处理两个行为,在状态机里面无法同时处理两个状态. 3.通过增加控制节点的类型,可以达到复用行为的目的. Behavior trees are a combination of man

Behavior Designer 行为树入门

本篇教程将带领大家熟悉 行为树插件之Behavior Designer .本篇教程不会出现过多的代码,故也适合策划学习.你将学习到一种新的动画与AI的解决方案使即使用Behavior Designer来设计动画的播放逻辑与AI的行为逻辑, 如果你用过PlayerMaker那么再好不过了,你可以Behavior Designer当作是PlayerMaker的强化版但有不同于PlayerMaker.当然我不是在这里推崇这种插件,而是了解另一种设计思路.当然在现在国内对于Behavior Design

【U3D】初识Behavior Designer行为树(一)

本系列文章由@萌萌的一天出品,未经博主允许不得转载.   Behavior Designer行为树插件介绍        Behavior Designer是U3D AssetStore上很优秀的一款插架,它在基于Behaviour Tree相关原理的基础上拓展出了更加复杂的模块,并且运用了很强大的人工智能技术.第一个将Behaviour Tree概念应用到游戏的产品是Xbox上的<Halo 2>,之后更多的游戏开发者选择应用Behavior Tree而不是Hierarchical FSM来控

Behavior Designer笔记

1.总览 Behavior Designer是一个行为树程序.他为所有人设计-程序美工策划.Behavior Designer提供很好很强大的API,允许你愉快的进行玩耍.他和PlayMaker和uScript插件完美结合,提供直观可视化编辑器类.你可以不写一行代码也能创造复杂AI. 这篇文章将为Behavior Designer所有方面进行一次总体介绍.如果你不知道啥子是行为树,现在老子就告诉你. 行为树是一种流行AI技术.许多游戏都用到,HALO2是第一款使用行为树的主流游戏.HALO2制作

Unity插件之NGUI学习(4)—— 创建UI2DSprite动画

创建一个新的Scene,并按 Unity插件之NGUI学习(2)创建UI Root,并在UI Root的Camera下创建一个Panel. 然后在选中Panel,在菜单中选择NGUI->Create->Unity 2D Sprite 查看Inspector窗口 接着是在Unity中制作Sprite: 在Project窗口创建Textures文件夹,并从外部拖入一些图片素材,然后选中需要转成Sprite的图片,然后在Inspector窗口进行转变Sprite的操作,如图. 选择Sprite(2D

Unity插件之NGUI学习(9)—— Tween和世界坐标系尺寸转换为NGUI尺寸

在游戏中,有一种比较常见的动画效果,就是产生得分后,分数会在游戏中显示,并快速移动到总分的位置并使之相加.今天我就打算使用NGUI的Tween来制作这种分数动画效果. 根据 Unity插件之NGUI学习(2),创建一个UI Root,然后使用NGUI创建一个Label和一个Button. 在Project窗口中,在Resources/Prefabs文件夹中创建一个Prefab,该Prefab就是一个NGUI的Label,然后在菜单中选择NGUI->Tween->Rotation和NGUI-&g

【VR】Leap Motion 官网文档 Unity插件概述

前言: Leap Motion的官网文档已经有不少的热心网友参与了翻译,但没有覆盖官网文档的全部. 为迎合Unity VR的热潮与大家的学习需要,本博客将推出针对Unity方向的官方文档翻译系列. 本篇主要对Leap Motion的Unity插件及坐标系系统进行简述. 英文原文网址:https://developer.leapmotion.com/documentation/unity/unity/Unity_Overview.html 译文首发&持续更新:http://blog.csdn.ne