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

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);
主站蜘蛛池模板: 施甸县| 察哈| 内乡县| 东莞市| 临江市| 平南县| 普陀区| 垦利县| 安新县| 徐州市| 涪陵区| 五家渠市| 松溪县| 长沙市| 临沂市| 濮阳县| 乌兰浩特市| 安岳县| 大足县| 营山县| 四会市| 阳江市| 乾安县| 曲麻莱县| 平舆县| 克什克腾旗| 金门县| 永宁县| 永城市| 修武县| 巍山| 宁南县| 宁城县| 察雅县| 文安县| 甘孜县| 台中市| 十堰市| 拉萨市| 郸城县| 名山县|