认识行为树
什么是行为树?自顶向下的树形结构
行为树Behavior Tree 是一种数据结构,自顶向下的树形结构。
什么情况下要使用行为树?情况多变,条件复杂
在处理逻辑复杂的问题时,这个复杂可能是条件复杂,情况多样。
行为树并非是游戏Ai的专属,在处理其他复杂业务逻辑或可能时都可以尝试用行为树来解决。
行为树有什么优点?高效可读,易于扩展
行为树解决的问题是将复杂的关系,简单化,能很大程度的加强程序的可读性,健壮性。
行为树由哪几部分组成?主要由四部分 CDAC 组成 ,两根两叶
1234Composites 组合节点 只能作为根节点,控制子节点的执行(顺序)Decorator 装饰节点 只能作为根节点,修饰子节点Actions 行为节点 只能作为叶子节点,执行具体动作Conditinals 条件节点 只能作为叶子节点,判断条件
行为树的工作流程?自顶向下,从左至右(并发进行),逐层进行
行为树执行的成果(成功/失败),由其子节点决定,子节点执行完成后会向父节点传递成功/失败的 ...
本文采用:unity2021.1.5f1c1 HDRP渲染管线
开始创建HDRP项目,并设置好相关配置。
搭建的场景如图所示:
:small_orange_diamond:认识VFX Graph创建一个VFX Graph可以点击Edit进入编辑界面,其编辑界面和ShaderGraph类似。
:small_blue_diamond: 编写Graph孵化器循环
针对于持续性和非持续性进行区分
初始化粒子
完成上述2个步骤时,效果如下,记得替换粒子的贴图
渲染粒子
通过渲染器设置,火花效果更好了
更新粒子-使用重力现在我们的火花是直线发射的,我们想让其受到一个重力自动下垂。
在更新粒子模块,增加重力,设置一个随机数重力。
添加重力后,可以看到我们的粒子受重力而下垂。
:heart:完善火花发射形状
Local和World坐标
在布局坐标中,粒子效果不会残留,为了让我们的火花可以在世界中残留,需该为世界坐标系
添加碰撞
我们希望火花粒子能够和周围环境产生碰撞
碰撞框添加如下碰撞框组件:
其中:LifeTime Loss为生命损失
发现我们的粒子在接触 ...
体验一下ASE插件
体验创建一个ASE Suface shader,依图连接节点。
效果如下:
感受
整体感受ASE插件,在某些方面确实强于ShaderGraph ,例如可以直接在默认渲染管线中使用。
总之,用起来挺爽的。:smile:
本系列基于Unity2021.1.5f1c1
安装HDRP在管理器安装hdrp后会自动弹出此初始化对话框。
根据对话框检测的步骤,将需要修正的地方进行修正。
修正后全部呈现绿√。
修正完成,系统自动添加了如下包。
添加天空盒子在Volume组件中添加如下组件,可以设置天空盒。
调节光线亮度在Volume组件中添加如下组件,可以设置调节光线。
上一节中,我们熟悉了Ue的基本操作并编写简单蓝图控制了一个椅子的移动,这一节我们来进一步完善我们的主角~
导入资源首先我们选择一个人物模型导入。
删除原先的静态网格椅子模型,在Mesh中选择导入的模型Skeletal Mesh。
可以看到我们的角色替换成了模型:
UE4 每个月送免费资源,实在是太香了。 :smile:
所以本系列是一个进入UE4学习过程的记录。
参考文档
官方文档: https://docs.unrealengine.com/4.26/zh-CN/Basics/Actors
前置准备首先下载EPIC,使用EPIC下载UE4,这里使用的是4.26.2。
设置语言为中文编辑器默认是英文的,可以根据需要设置为中文。
基础概念介绍界面布局基础的界面布局如下图所示。
Player Start 玩家出生点Player Start 为玩家的出生点(起点),游戏开始时,玩家从这里开始。
游戏模式
游戏模式是游戏的基本设定,每一个游戏都必须有一个游戏模式设置。
默认Pawn类选择游戏角色。
需要在世界场景设置中设置当前需要使用的游戏模式。
世界场景设置
项目输入设置
为了映射按键操作我们需要在项目设置中进行按键映射。
设定角色使其移动设定物件首先需要设置,角色的静态网格(决定呈现内容),设置摄像机(用于拍摄游戏角色)。
设定角色行为蓝图
通过蓝图我们来进行角色行为设置
前后左右移动基本蓝图
角色旋转值设定
...
使用Blazor 来实现前后端统一使用C#开发,用C#写前端,想想就刺激:smiley:
什么是BlazorBlazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架:
使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI。
共享使用 .NET 编写的服务器端和客户端应用逻辑。
将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。
与新式托管平台(如 Docker)集成。
使用 .NET 进行客户端 Web 开发可提供以下优势:
使用 C# 代替 JavaScript 来编写代码。
利用现有的 .NET 库生态系统。
在服务器和客户端之间共享应用逻辑。
受益于 .NET 的性能、可靠性和安全性。
在 Windows、Linux 和 macOS 上使用 Visual Studio 保持高效工作。
以一组稳定、功能丰富且易用的通用语言、框架和工具为基础来进行生成
Blazor应用基于组件。 Blazor 中的组件是指 UI 元素,例如页面、对话框或数据输入窗体。
组件是内置到 .NET 程序集的 .NET C# 类, ...
我不喜热闹,甚至很多时候会有逃避人群的念头;与其于人为伍,有时候我更喜欢与自己独处。
可能我并不是一个好相处的人,虽然我周围的朋友都觉得我是一个随和的人;我常常感觉到社交的疲劳和烦躁,和大多数人不同我很多时候并没有感受到真正的社交的快乐。我羡慕那些能很快融入集体,自来熟的人;他们的快乐感觉比我来得简单:slightly_smiling_face: 。
我享受着孤独,我习惯性的沉溺在自己的小世界中
这大概也是我喜欢计算机,喜欢编程的原因吧;从小我的思想就和别人不同,因此也常受人排挤;人们总是对不符合自己预期的事物提出质疑和否定。那时候我觉得可能我真是个怪人吧:sweat_smile:。不和别人玩,大概就是奇怪吧。
从开始实习后,和朋友疯玩了一阵,最后还是觉得索然无味,还是于自己独处最为有趣。
写在前面
记得之前unity也有自己的云同步,但是在使用后体验并不好,开启云同步后对于配置低的电脑软件负担会很大。而且在国内网络下,速度非常慢;所以在试过一次后我还是转战 github 和码云了。
现在Unity推出了一套新的托管系统——PlasticSCM
在创建项目时,勾选启用PlasticSCM,在第一次使用时会自动下载PlasticSCM客户端。
托管界面pending changes在pending changes界面会显示当前的changeList,默认勾选了AutoSave。
ChangesetsChangesets面板显示项目的提交记录和资源变化。
客户端点击Launch Plastic 可以启动客户端。
客户端可以直观方便的管理托管项目。
使用感受
PlasticSCM 支持大文件存储,相比传统git更加适应游戏开发的需要。
与Unity高度集成,可以在unity中进行快捷操作
是替代git的不二选择










