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

Agent properties

Now that we can create agents, we're going to take a step back and look at what properties are available to an agent and what they mean.

Orientation

Whenever you need to return the orientation of an agent, it's easiest to use the forward vector that usually represents the direction of movement of an agent. Both the left and up vectors of orientation are available as well. Whenever you need to change an agent's direction, simply set its forward vector.

The forward axis

To access and set the forward vector of our agents, we can use the built-in GetForward and SetForward helper functions.

local forwardVector = agent:GetForward();
Agent.SetForward(agent, forwardVector);

The left axis

We can also access the left orientation vector using the GetLeft helper function.

local leftVector = agent:GetLeft();

The up axis

Accessing the up orientation vector is similarly provided by a GetUp helper function.

local upVector = agent:GetUp();

Location

An agent's position is the center of the mass of its capsule representation within the physics simulation. If you need to determine the origin of an agent, simply return its position and subtract half its height from the y component of the position.

Position

To access and set the position of agents, we can use the GetPosition and SetPosition helper functions.

local positionVector = agent:GetPosition();
agent:SetPosition(positionVector);

Size

The size of the agent and their capsule representation is determined by the agent's height and radius. When changing these values, the physics simulation will also adjust and create a new representation for the agent based on the changes.

Height

Accessing the height of the agents can be done through the GetHeight and SetHeight helper functions.

local height = agent:GetHeight();
agent:SetHeight(height);

Radius

To access and modify the radius of an agent, we can use the GetRadius and SetRadius functions.

local radius = agent:GetRadius();
agent:SetRadius(radius);
主站蜘蛛池模板: 姜堰市| 怀宁县| 元谋县| 鲁山县| 江陵县| 电白县| 汕尾市| 香格里拉县| 和平县| 太湖县| 潜江市| 大足县| 定边县| 伊吾县| 昌乐县| 杭锦旗| 香格里拉县| 社旗县| 白水县| 乐山市| 宁海县| 兴化市| 平顺县| 甘南县| 神池县| 通州区| 尖扎县| 青神县| 宁乡县| 东乡族自治县| 微山县| 池州市| 长春市| 陆良县| 科技| 梓潼县| 阿坝县| 大英县| 右玉县| 安国市| 怀安县|