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

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);
主站蜘蛛池模板: 青田县| 莱阳市| 临湘市| 高青县| 河东区| 黄大仙区| 庐江县| 高阳县| 本溪| 东兴市| 射阳县| 东丽区| 子洲县| 延长县| 阳朔县| 安丘市| 宣汉县| 兰考县| 平武县| 平阳县| 湛江市| 巴彦淖尔市| 简阳市| 桦甸市| 三门县| 上蔡县| 镇坪县| 视频| 庐江县| 平阳县| 佳木斯市| 江门市| 中山市| 镇原县| 阳泉市| 瑞安市| 松滋市| 泾源县| 潼关县| 西吉县| 竹溪县|