1.Wait Until并不会再执行前面的代码,而是反复执行获取bool变量的代码;需自己拆出来写。

2.yield return null对应Wait For Next Frame,多用这个避免协程运行中的GC

3.链接自定义方法在Project Settings->Visual Scripting的Type Options里,每次修改过点击Regenerate Units更新。

4.按住Ctrl+鼠标拖拽,可以放置Group框起来。

5.记得创建外部的SuperUnit(SubGraph)而不是用内嵌的,否则每复制一个都相当于一组新的节点。

6.C#端外部传消息可用CustomEvent.Trigger,接收在事件里找CustomEvent即可。

7.关于状态机Transition的用法,实际上需要绑一个事件一直监听:

也可以加一个CustomEvent,通过事件触发决定跳转

8.ScriptGraph里协程的句柄不好控制,即使用StopAllCoroutine也不行,感觉开的是全局协程执行的。

重点来了——用StateGraph状态机;状态切状态,协程才可以中断。AnyState切状态,是新开的全局协程!

9.StateGraph状态机的AnyState不支持放在SuperState嵌套状态里,必须放在根状态节点,但可以由根节点的AnyState触发然后传入到嵌套状态里。

10.Update、LateUpdate这类事件可以以协程形式执行,但实际上是每一帧开一个新协程。

11.Not boolean节点在VirtualScripting里叫做Negate。

12.用引脚直接前后连接的协程循环会有栈溢出问题,而用While Loop节点组合的协程循环则不会。

13.等待一定秒数之类的异步逻辑可以用Timer节点。

14.自定义Unit中获得宿主GameObject:

public class Foobar : Unit
{
protected override void Definition()
{
ValueOutput<int>("hello", (flow) =>
{
var go = (flow.stack.rootObject as MonoBehaviour).gameObject;
Debug.Log(go, go);
return 1;
});
}
}

15.非继承MonoBehaviour或者UnityEngine.Object的类兼容性不好,体现在运行后声明的变量就没了,需要自己做一些操作。

16.异步Unit节点模板,目前未发现bug:

public class AsyncNodeTest : WaitUnit
{
protected override void Definition()
{
base.Definition();
} protected override IEnumerator Await(Flow flow)
{
yield return new WaitForSeconds(1f);
yield return exit;
}
}

官方论坛页:https://forum.unity.com/forums/visual-scripting.537/

文档页:https://docs.unity3d.com/bolt/1.4/manual/index.html

Unity Visual Scripting 使用随记的更多相关文章

  1. C# 脚本与Unity Visual Scripting 交互,第一步(使用C# 脚本触发Script Graph的事件)(Custom Scripting Event)

    写在前面 感谢Unity 川哥的帮助,解决了单独调用GameObject的需求 首先 需要在Unity 中创建一个自定义事件脚本(注释非常重要) using System.Collections; u ...

  2. Unity接入AbMob踩坑记

    之前是配置好的环境,不知道怎么突然就不正常了. 一直弹出下面的报错: Error running CocoaPods. Please ensure you have at least version ...

  3. Unity打包IOS踩坑记

    1. Xcode不显示模拟器 之前一直用真机调试,就没注意模拟器.今天要上传版本要用到模拟器截图,发现竟然Xcode的运行选项竟然没有显示模拟器. 也是网上找了各种方法,修改各种设置,清了各种文件夹都 ...

  4. BEST FREE UNITY ASSETS – OVER 200 CURATED QUALITY ASSETS

    http://www.procedural-worlds.com/blog/best-free-unity-assets-categorised-mega-list/ BEST FREE UNITY ...

  5. Unity3D开发必备神器(Visual Studio Tools for Unity)

    Unity3D开发必备神器(Visual Studio Tools for Unity) 开发Unity3D程序你用的什么IDE呢? 1.MonoDevelop 2.VS 可能你的回答是这样的,我用的 ...

  6. 转一篇关于Unity的PlayMaker

    这篇文章转自http://va.lent.in/should-you-use-playmaker-in-production/ 此文作者大概深受其苦,吐槽了playmaker的多个蛋疼的地方,这其实说 ...

  7. 从Unity引擎过度到Unreal4引擎(最终版)

    原文地址:http://demo.netfoucs.com/u011707076/article/details/44036839 前言 寒假回家到现在已经有十多天了,这些天回家不是睡就是吃....哎 ...

  8. Unity开发概览(HoloLens开发系列)

    本文翻译自:Unity development overview 要开始使用Unity创建全息应用,点此安装包含Unity HoloLens技术预览的开发工具.Unity HoloLens技术预览基于 ...

  9. Unity编译Android的原理解析和apk打包分析

    作者介绍:张坤 最近由于想在Scene的脚本组件中,调用Android的Activity的相关接口,就需要弄明白Scene和Activity的实际对应关系,并对Unity调用Android的部分原理进 ...

  10. .NET和UNITY版本问题

    亲测:unity5.5之前:通过VS工程属性查看.NET版本为3.5, 对应unity中没有可查看的项,只有一个Api Compatibility level 是.net subset2.0,看名字, ...

随机推荐

  1. [Android开发学iOS系列] iOS项目环境搭建和依赖管理

    iOS项目环境搭建和依赖管理 一个项目总是会依赖一些库, 有些是第三方的, 有些可能是项目自身为了复用拆出去的. 现有主流的iOS依赖有多种形式, 比如CocoaPods, Carthage和swif ...

  2. OpenHarmony 3.1 Release版本关键特性解析——OpenHarmony新音视频引擎——HiStreamer

    OpenAtom OpenHarmony(以下简称"OpenHarmony")是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景 ...

  3. CircleIndicator组件,使指示器风格更加多样化

    UI界面是应用程序可视化必不可少的部分.设计精致的UI界面可以使得整个可视化应用程序给用户留下深刻的印象,是改善用户界面体验最直接的方式. ArkUI开发框架为开发者提供了丰富的UI原生组件,如Nav ...

  4. Go 项目依赖注入wire工具最佳实践介绍与使用

    目录 一.引入 二.控制反转与依赖注入 三.为什么需要依赖注入工具 3.1 示例 3.2 依赖注入写法与非依赖注入写法 四.wire 工具介绍与安装 4.1 wire 基本介绍 4.2 安装 五.Wi ...

  5. c++ 暂停2秒,等待2秒

    std::chrono::milliseconds stopTime(2000); std::this_thread::sleep_for(stopTime);

  6. MogDB/opengauss触发器简介(1)

    MogDB/opengauss 触发器简介(1) 触发器是对应用动作的响应机制,当应用对一个对象发起 DML 操作时,就会产生一个触发事件(Event).如果该对象上拥有该事件对应的触发器,那么就会检 ...

  7. javascript现代编程系列教程之六——数字型数据类型转换

    一.整数转换 在 JavaScript 中,parseInt() 函数会将其参数转换为字符串,然后解析该字符串,并返回一个整数或 NaN.如果 parseInt() 函数的参数是一个非常大的浮点数(如 ...

  8. 【SIGIR 2022】面向长代码序列的Transformer模型优化方法,提升长代码场景性能

    简介: 论文主导通过引入稀疏自注意力的方式来提高Transformer模型处理长序列的效率和性能 阿里云机器学习平台PAI与华东师范大学高明教授团队合作在SIGIR2022上发表了结构感知的稀疏注意力 ...

  9. KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置

    ​简介:KubeVela v1.3 在之前的多集群功能上进行了迭代,本文将为你揭示,如何使用 KubeVela 进行多集群应用的部署与管理,实现以上的业务需求. 作者:段威(段少) 在当今的多集群业务 ...

  10. 揭秘阿里云神龙团队拿下TPCx-BB排名第一的背后技术

    ​简介:阿里云自主研发的神龙大数据加速引擎获得了TPCx-BB SF3000世界排名第一的成绩. ​ 一  背景介绍 近日,TPC Benchmark Express-BigBench(简称TPCx- ...