官术网_书友最值得收藏!

Knowledge

Agents themselves have a very basic set of knowledge so that external Lua scripts such as the sandbox script can direct agents with some amount of persistence. For example, when we create an agent that moves to a target position, we might want the sandbox to set this position instead of the agent having to determine its target.

Target

An agent's target is a vector position. Typically, agents will use the target as a position they want to reach or the known position of another agent.

local targetVector = agent:GetTarget();
agent:SetTarget(targetVector);

Target radius

A target radius is a number value that agents use to determine whether they are close enough to their target without having to be exactly at the target position. This fudge factor helps agents avoid circling a target position due to small numerical differences in their position and target position.

local targetRadius = agent:GetTargetRadius();
agent:SetTargetRadius(targetRadius );

Path

An agent's path is a series of vector points that the agent uses internally to determine where to move to during path following. Allowing agents to remember their path is a small optimization to avoid having to pass around the path itself during path following calculations. When assigning a path to the agent, we can pass an optional Boolean in order to let the agent know whether the path should loop.

local pathTable = agent:GetPath();
local hasPath = agent:HasPath();

local path = {
    Vector.new(0, 0, 0),
    Vector.new(10, 0, 10),   
    Vector.new(0, 0, 10) };

agent:SetPath(path, cylic);
主站蜘蛛池模板: 壤塘县| 三明市| 四子王旗| 渑池县| 伊川县| 罗源县| 仙居县| 义马市| 肇源县| 永康市| 寿阳县| 兴隆县| 汉川市| 无为县| 常宁市| 榆树市| 加查县| 莲花县| 金山区| 喀喇| 遵化市| 石景山区| 安宁市| 商都县| 泸溪县| 嘉义市| 太康县| 汶上县| 延安市| 抚宁县| 聂荣县| 黔南| 黄浦区| 博爱县| 徐闻县| 洛宁县| 东阳市| 双辽市| 千阳县| 绥宁县| 如皋市|