-
Notifications
You must be signed in to change notification settings - Fork 0
Components
The camera component is the perspective from which everything is rendered.
Camera Fields:
- Fov (float) - The field of view that the camera uses.
The camera controller needs to reference a camera component, it is responsible for being able to control a first-person camera with the mouse.
Camera Controller Fields:
- Sensitivity (float) - How far the camera's rotation gets moved per mouse offset.
- HasCamera (bool) - Whether the controller has access to a camera component.
- CameraInstance (Instance) - The instance of the camera that it's controlling.
The light component is responsible for being the light source used in shaders for lighting effects.
Lighting Fields:
- Colour (Vector3) - The colour that the light is emitting (this vector also gets passed through to the shader as a uniform)
The MeshCollisionBox creates an AABB from the mesh that is assigned to it, which is then processed in collisions. (I know this is a pretty bad way to do collisions, but it's still efficient in terms of performance)
MeshCollisionBox Fields:
- MeshPath (string) - The path of the mesh being used.
- DebugDraw (bool) - Whether the AABB would show a wireframe mesh through the scene view.
The MeshRenderer is an essential component that is responsible for rendering a model using a specified shader.
MeshRenderer Fields:
- ModelPath (string) - The path of the model being rendered.
- Shader (string) - The name of the shader being used to render the model.
The physics component is another essential component in the ShibaEngine, it is responsible for applying physics (such as gravity and drag) to the entity it is attached to each frame.
Physics Fields:
- Velocity (Vector3) - The velocity is a vector that is applied to the entity's transform's position field each frame, it is manipulated by collisions, yourself or the physics component through drag and gravity).
- UseGravity (bool) - Whether the component should be applying gravity each frame.
- Gravity (float) - The force of gravity acceleration.
- GravityDirection (Vector3) - The direction that gravity is pulling you towards.
- UseDrag (bool) - Whether the component should be applying drag each frame.
- Drag (float) - The value of how much drag is being applied to the velocity each frame.
The SceenLayer is pretty much a canvas for the screen that allows you to render sprites that will scale with the actual screen size.
ScreenLayer Fields:
- Fullscreen (bool) - Whether the ScreenLayer should be covering the entire screen.
- Dimensions (Vector2) - The dimensions that would be equivalent to the max position of the screen after scaling.
The SpriteRenderer renders sprites if it is attached to an entity that is the child of an entity with the ScreenLayer component.
SpriteRenderer Fields:
- SpritePath (string) - The path of the sprite being rendered.
- Shader (string) - The shader that is used to render the sprite.
The transform component is something that is attached to all entities, it provides the transformation of the entity in world space.
Transform Fields:
- Position (Vector3) - The position in world space.
- Rotation (Vector3) - The radians that the object would get rotated by.
- Pivot (Vector3) - The offset that the transformation would get rotated around.
- Scale (Vector3) - The scale of the transformation.
- Forward (Vector3) - The direction that the transformation is facing.
- Right (Vector3) - A normalized vector cross product between the direction of up and the forward direction of the transformation.
- Up (Vector3) - A normalized vector cross product between the forward and right directions of the transformation.