KBlog

蔡康的博客

游戏 AI - 13

转向行为IV

我们已经介绍了多个基本构建块行为:“寻找” 和 “逃离”,“到达”,和“对齐”。 接下来要介绍的所有行为都有相同的基本结构:它们计算一个目标,或者一个 一、追逐 和 逃避 到目前为止,我们只根据位置移动。如果我们追逐一个正在移动的目标,那么不断地向它当前的位置移动是不够的,因为会出现我们到达它现在的位置时,它已经移动到别处的情况,这也是本节中“追逐”与前面文章的主要区别。事实上,追逐一个...

PyQt5 常见问题及解决方案

Qt 广泛应用于可视化界面开发中,这篇文章主要记录开发过程中需要到的问题及相应的解决方案 。

游戏 AI - 12

转向行为III

我们已经介绍了多个基本构建块行为:“寻找” 和 “逃离”,“到达”,和“对齐”。 接下来要介绍的所有行为都有相同的基本结构:它们计算一个目标,或者一个位置或方向(它们可以使用速度,但我们将不涉及这些),然后它们委托给其他行为之一来计算转向。目标计算可以基于许多输入。例如,“追赶” 根据另一个目标的运动为 “寻找” 计算目标;碰撞避免基于近似障碍的方法创造一个目标来逃离;而 “漫游” 则创造...

游戏 AI - 11

转向行为II

《转向行为I》一文介绍了 “追逐” 和 “到达” 这两种转向行为,本文将介绍 “对齐” 、 “速度匹配”、“授权行为”。 一、对齐 “对齐” 尝试将角色的方向(orientation)与目标的方向相匹配,它不注意角色或目标的位置或速度。记住,方向(orientation)并不不等同于一般运动学的运动方向(direction)。这种转向行为不会产生任何线性加速度;它只会转动。 “对齐” ...

UE4 基础

大世界游戏系统开发 AI(Artificial Intelligence)系统 行为树 Blackboard 黑板 自定义 Task 节点 Goal-Oriented GAS(Game Ability System)技能系统 ...

UE4 错误集锦

【红字】预算上的纹理流送池 \Engine\Config\ConsoleVariables.ini 中添加 r.Streaming.PoolSize= 之后重启即可 【Warning】实例化网格体尚不支持每个LOD拥有专属静态光照。LOD 1+上的光照可能不正确,除非所有LOD的光照贴图UV均相同。 参考 博客-场景林间小道 根据系统提示解决方法一是在Static Mesh...

面试 · 实战合集

语言 1. python 装饰器写一个,装饰器的原理 2. python 垃圾回收:引用计数 + 标记清除、分代收集(链表实现) 3. C++ 多态,虚函数:虚函数继承是解决多态性的,当用基类指针指向派生类对象的时候,基类指针调用虚函数的时候会自动调用派生类的虚函数,这就是多态性,也叫动态编联。重要概念是 虚函数指针(vfptr) 和 虚函数表(vftable)。虚函数表在编译的时候就...

面试 · 机器学习

一、定范围 【先定个范围,判断是否既了解深度学习,又了解传统机器学习,还是只了解一方面】 问:除了深度学习模型外,还了解其它传统机器学习模型吗? or 除了传统机器学习之外,还了解深度学习吗? or 除了 朴素贝叶斯(举个例子,比如是面试者简历里写到的)还了解其他机器学习模型吗? 答:了解传统机器学习,则可以问传统机器学习问题;了解深度学习,则可以问深度学习问题。 二、传统机器学习基础...

游戏 AI - 10

转向行为I

本文描述的转向行为概念是在前一节运动学算法的基础上扩展增加了速度和旋转,在某些类型中,比如驾驶游戏,转向行为占主导地位;在其他类型的游戏中,它们更依赖于具体游戏内容:有些角色可能需要它们,有些角色则不需要。 现有的各种转向行为算法,命名往往含糊不清或互相冲突。随着这一领域的发展,还没有出现明确的命名方案来区分单个原子转向行为和将多个原子转向行为结合在一起的复合行为。在这本文中,我将区分这两...

游戏 AI - 9

运动学移动算法

如上一篇文章所说的,移动算法通常分为两大类:运动学移动算法 和 动态移动算法。这篇文章主要介绍运动学移动算法,相比较而言,运动学移动算法虽然更简单,但却十分实用。 运动学移动算法输入是静态数据(位置和方向,没有速度),输出是所需的速度。输出通常只是一个开或关、或者是目标方向、以全速移动、静止。运动学算法不使用加速度,尽管速度的突然变化可能被平滑在几个帧。 许多游戏甚至将事情简化得更简单:...