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

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);
主站蜘蛛池模板: 博白县| 宜君县| 涞源县| 肇庆市| 江陵县| 东安县| 新密市| 郑州市| 陵川县| 兰坪| 日喀则市| 泸定县| 山阳县| 金寨县| 虹口区| 嵩明县| 平阳县| 沈丘县| 永清县| 永福县| 新竹县| 通山县| 土默特右旗| 麻江县| 扶沟县| 临武县| 汽车| 福鼎市| 老河口市| 利辛县| 德州市| 成都市| 登封市| 东乌珠穆沁旗| 卢氏县| 临武县| 临泉县| 安岳县| 湟源县| 改则县| 宣汉县|