Skip to content

class Vob (client-side)

Available since version: 0.1.0

Note

By default the vob is not added to the world. To do that use addToWorld.

This class represents 3d object in the world.

Constructor

Vob(string model)

Parameters:

  • string model: the model name to be used as visual.

Constructor

Vob(userpointer ptr)

Parameters:

  • userpointer ptr: the pointer to the object from the game.

Properties

string objectName

Available since version: 0.2.0

Represents the internal engine object name.


Mat4& matrix

Available since version: 0.2.0

Represents the reference to the vob matrix.


RigidBody& rigidBody (read-only)

Available since version: 0.3.0

Represents the reference to the vob rigid body.


string sectorName (read-only)

Available since version: 0.3.0

Represents the name of the sector in which vob is currently located.


bool cdDynamic

Available since version: 0.1.10

Represents the state of dynamic collision of vob. Enabling this option will prevent other dynamic objects (i.e. player) from passing through it.


bool cdStatic

Available since version: 0.1.10

Represents the state of static collision of vob. Enabling this option will prevent static objects (i.e. world mesh) from passing through it.


float farClipZScale

Available since version: 0.1.10

Represents the max distance at which the vob will still be rendered.


string visual

Available since version: 0.1.10

Represents the model file name used as vob visual, e.g SPHERE.3DS.


float visualAlpha

Available since version: 0.1.10

Note

The alpha must be in range between 0.0 (fully transparent) to 1.0 (fully visible).

Represents the transparency of the vob visual.


bool sleeping

Available since version: 0.2.0

Represents the vob sleeping state. While vob is in sleeping state, systems like AI, animations, physics are disabled.


bool physicsEnabled

Available since version: 0.2.0

Represents the state of flag about vob physics.


bool staticVob

Available since version: 0.3.0

Represents the state flag that informs engine whether or not the object is fixed in place and shouldn't react to any collision.


bool drawBBox3d

Available since version: 0.2.0

Represents the state of flag about drawing bounding box 3d of vob.


bool castDynShadow

Available since version: 0.2.0

Represents the state of flag about rendering dynamic shadow for vob.


bool ignoredByTraceRay

Available since version: 0.2.0

Represents the state of flag about ignoring vob in trace ray.


bool isProjectile (read-only)

Available since version: 0.2.0

Checks whether vob is a projectile.


bool isInWater (read-only)

Available since version: 0.2.0

Checks whether vob is in water.


Vec3 velocity (read-only)

Available since version: 0.2.0

Represents current vob velocity measured in cm/seconds.


BBox3d& bbox3dWorld

Available since version: 0.2.0

Represents the bounding box 3d of vob, shifted by its position in world.


BBox3d bbox3dLocal

Available since version: 0.2.0

Represents the bounding box 3d of vob.


bool isInMovement (read-only)

Available since version: 0.2.0

Checks whether vob is in movement transaction.


userpointer ptr (read-only)

Available since version: 0.1.10

Represents the pointer to the object from the game.


Methods

beginMovement

Available since version: 0.2.0

This method will start movement transaction. Transaction can be started to only one vob at a time! While transaction is active nothing related to physics or collisions can be changed.

void beginMovement()

endMovement

Available since version: 0.2.0

This method will close movement transaction. After closing transaction some internal checks are runned, like collisions.

void endMovement()

setHeadingAtWorld

Available since version: 0.2.0

This method will set heading direction of vob.

void setHeadingAtWorld(Vec3 direction)

Parameters:

  • Vec3 direction: the heading direction.

getTrafoModelNodeToWorld

Available since version: 0.2.0

This method will get world matrix for selected node from visual eg. "ZS_RIGHTHAND". In case when provided node name does not exist, vob world matrix is returned instead.

Mat4 getTrafoModelNodeToWorld(string node)

Parameters:

  • string node: the node name.

Returns Mat4:

the node world matrix.


setPosition

This method will set the position of the vob in the world.

void setPosition(float x, float y, float z)

Parameters:

  • float x: the position in the world on the x axis.
  • float y: the position in the world on the y axis.
  • float z: the position in the world on the z axis.

getPosition

This method will get the position of the vob in the world.

{x, y, z} getPosition()

Returns {x, y, z}:

the vob world position.


setRotation

This method will set the euler rotation of the vob in the world.

void setRotation(float x, float y, float z)

Parameters:

  • float x: the rotation of the vob on the x axis.
  • float y: the rotation of the vob on the y axis.
  • float z: the rotation of the vob on the z axis.

setRotation

Available since version: 0.2.1

This method will set the quaternion rotation of the vob in the world.

void setRotation(Quat q)

Parameters:

  • Quat q: the rotation of the vob in form of quaternion.

getRotation

Note

There's no guarantee that returned rotation will be the same as the set one.

This method will get the euler rotation of the vob in the world.

{x, y, z} getRotation()

Returns {x, y, z}:

the vob world rotation.


addToWorld

Available since version: 0.1.10

This method will add the vob to currently loaded world.

void addToWorld()

removeFromWorld

Available since version: 0.1.10

This method will remove the vob from currently loaded world.

void removeFromWorld()

floor

Available since version: 0.1.10

This method will try to put the vob on floor. If the difference between vob position and the floor y position is less or equal 1000, the method will succeed.

void floor()

setCollisionClass

Available since version: 0.3.0

This method will set the collision class of the vob.

void setCollisionClass(int collisionClass)

Parameters:

  • int collisionClass: the collision class. For more information see CollisionObject

getCollisionClass

Available since version: 0.3.0

This method will get collision class of the vob. For more information see CollisionObject

int getCollisionClass()

Returns int:

the collision class