![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
游戏开发
文章平均质量分 92
君丨奉天逍遥
这个作者很懒,什么都没留下…
展开
-
VCMI 项目
VCMI 是一款开源的《魔法门之英雄无敌 III》游戏引擎重制版,它提供了新的和扩展的功能。原创 2024-08-19 15:39:57 · 462 阅读 · 0 评论 -
人工智能与游戏开发:创造更靠谱的AI敌人
决策节点 | 条件节点 | 结果节点 决策树算法的工作原理是从根节点开始,根据玩家的行为选择相应的条件节点,然后选择相应的结果节点,最终得到AI敌人的行动。其中,$y$ 表示输出节点的输出,$f$ 表示激活函数,$wi$ 表示连接输入节点和隐藏节点的权重,$xi$ 表示输入节点的输出,$b$ 表示偏置。其中,$y$ 表示输出节点的输出,$f$ 表示激活函数,$wi$ 表示连接输入节点和隐藏节点的权重,$xi$ 表示输入节点的输出,$b$ 表示偏置。AI敌人是一种特殊类型的AI,它们的目的是与玩家进行战斗。转载 2024-08-19 15:26:01 · 2 阅读 · 0 评论 -
Unity中利用遗传算法训练MLP
梯度下降法训练神经网络通常需要我们给定训练的输入-输出数据,而用遗传算法会便捷很多,它不需要我们给定好数据,只需要随机化多个权重进行N次“繁衍进化”,就可以得出效果不错的网络。这种训练方式的好处就是不需要训练用的预期输出数据,适合那类可以简单通过环境交互判断训练好坏的神经网络AI。当然,坏处就是训练的时间可能需要很长很长,尤其是神经网络比较庞大时。转载 2024-08-19 15:24:31 · 9 阅读 · 0 评论 -
Unity中常见人形动画IK的处理方式
本文将尝试仅使用Untiy内置的Animator来解决常见的几种运动所需的IK。也会给出核心功能的代码实现。转载 2024-08-19 15:23:37 · 126 阅读 · 0 评论 -
第三人称游戏的相机控制
Unity已经有了Cinemachine这一强大的插件来辅助开发者更容易地控制相机运动,但我觉得学习一下相机控制背后的原理还是挺有益的,没准哪天你就想定制某种相机控制的功能,又觉得Cinemachine难调呢!本文学习自 Jasper Flick 大神的。转载 2024-08-19 15:22:29 · 18 阅读 · 0 评论 -
利用八叉树的空中寻路
你有思考过在空中如何进行寻“路”吗?来想象一个的场景:飞机从空中基地出发,要避开许多空中建筑,最终到达目的地。这种情况下的寻路是没有路面的,寻路物体的移动方向也比较自由,这该怎么寻呢?如果我们只是在一个平面进行寻路,我们可以直接用A*寻路,铺好一个地面网格,这样就可以在网格点上设置目标点来寻路了。假设我们要在一个 500×500 大小的网格寻路,就算一个单位设置一个网格点,那就要 500×500=25,0000 这么多个点,不过倒也是不能接受。转载 2024-08-19 15:21:30 · 2 阅读 · 0 评论 -
游戏中的角色运动问题
大部分类型的游戏中玩家都需要扮演一名主角,通过操纵主角来体验游戏,这就涉及到运动的问题。相信有不少Unity开发者都是从制作2D平台跳跃游戏入门的,从那时起到现在,也许有些关于运动的问题仍值得我们去思考,本文总结了一些个人学习时遇到的关于角色运动的问题及其学到的解决方法。注意:这次的代码不太规范,只在一个脚本上实现所有内容,输入啥的也都混在一块,因此仅供参考。转载 2024-08-19 15:20:07 · 50 阅读 · 0 评论 -
A*搜索算法的更多内容
A*算法,也许你会习惯称它为「A*寻路算法」。许多人大概是因寻路——尤其是「网格地图」寻路认识它的,网上很多教程也是以网格地图为例讲解它的算法实现。这导致了许多人在遇到同样用了A*算法的地方,例如GOAP或者基于八叉树的立体空间寻路时会一头雾水:A*算法原来有这么多「变种」吗(⊙ˍ⊙)?其实A*算法是没有变的,只是我们原先。A*算法本身是一种,这次我们从另一视角看看「A*搜索算法」,并一起完成一个更泛用的「A*搜索器」,最后再探讨一些常见的正确优化方式与错误优化方式。转载 2024-08-19 15:18:32 · 3 阅读 · 0 评论 -
游戏AI的LOD控制
这次我们来一同看看AI LOD的一个另类控制技术,如果你对AI LOD一无所知也没关系,本文会为你们做个科普。但请注意,, 没有讲代码细节(因为很多涉及数学,有一定门槛),具体实现你们可以参考文末附带的gitee项目(代码都在里面),或者去看看。转载 2024-08-19 15:16:43 · 92 阅读 · 0 评论 -
游戏AI行为决策(特别篇)——MLP(附代码与项目)
神经网络或者深度学习,总给人一种「量子力学」的感觉,总感觉它神秘无比,又无所不能。我未学习神经网络之前,总以为它是某种能够修改自身代码的代码,否则怎么能做到从「不会」变成「会」的呢?但在亲自学习后才会明白,它并没有做到这种地步,但依旧十分神奇。多层感知机是最基础的神经网络,很多其它类别的神经网络都是在这之上的变形。可以说,学会它是迈入深度学习的第一步。多层感知机虽说经典,但并不过时。转载 2024-08-19 15:15:15 · 154 阅读 · 0 评论 -
游戏AI行为决策——GOAP(附代码与项目)
像先前提到的有限状态机、行为树HTN,它们实现的AI行为,虽说能针对不同环境作出不同反应,但应对方法是写死了的。有限状态机终究是在几个状态间进行切换、行为树也是根据提前设计好的树来搜索……你会发现,游戏AI角色表现出的智能程度,终究与开发者的设计结构有关,就有限状态机而言,各个状态如何切换很大程度上就影响了AI智能的表现。那有没有什么决策方法,能够仅需设计好角色需要的动作,而它自己就能合理决定要选择哪些动作完成目标呢?这样的话,角色AI的行为智能程度会更上一层楼,毕竟它不再被写死的决策结构束缚;转载 2024-08-19 15:10:17 · 25 阅读 · 0 评论 -
游戏AI行为决策——行为树
行为树,是目前游戏中应用较为广泛的一种行为决策模型。这离不开它成熟的可视化编辑工具,例如Unity商城中的「Behaviour Designer」,甚至是虚幻引擎也自带此类编辑工具。而且它的设计逻辑并不复杂,其所利用的树状结构,很符合人的思考方式。接下来,我们会先对它的运作逻辑进行介绍,然后再试图用代码实现它。树状结构在不借助可视化工具的情况下是不容易呈现清楚的,这里我借鉴了Steve Rabin的《》中行为树的实现方式,利用代码缩进稍稍实现了一些可视化(本教程使用C#代码实现)。下面我们就开始吧!转载 2024-08-19 15:04:33 · 3 阅读 · 0 评论 -
游戏AI行为决策——HTN
Hierarchical Task Network(分层任务网络),简称HTN,与行为树、GOAP一样,也是一种行为决策方法。在《地平线:零之曙光》、《变形金刚:塞伯坦的陨落》中都有用它来制作游戏敌人的AI(我一个都没玩过捏。推演。HTN允许我们把要做的事以高度复杂的「复合任务」来表示,而不是单单一个行为。什么意思呢?无论是有限状态机状态的转换,还是行为树节点的切换,大多时候只是从一个执行动作变为执行另一个动作。转载 2024-08-19 15:08:08 · 3 阅读 · 0 评论