terminalCode Example
Rendering entities — TextRenderer, LineRenderer, SpriteRenderer, TrailRenderer, and ModelRenderer
Rendering Entities — Text, Line, Sprite, and Trail Renderers
s&box provides several lightweight renderer components for common visual needs that don't require a full model.
TextRenderer — World-Space Text
CSHARP
var go = Scene.CreateObject();
go.WorldPosition = labelPosition;
var text = go.Components.Create<TextRenderer>();
text.Text = "Hello World";
text.FontSize = 24f;
text.Color = Color.White;
text.HorizontalAlignment = TextRendering.Align.Center;
text.VerticalAlignment = TextRendering.Align.Center;LineRenderer — Connecting Points
CSHARP
var go = Scene.CreateObject();
var line = go.Components.Create<LineRenderer>();
line.Points = new List<Vector3>
{
new Vector3( 0, 0, 0 ),
new Vector3( 100, 0, 0 ),
new Vector3( 100, 100, 0 ),
};
line.Color = Color.Green;
line.Scale = 2f; // line widthSpriteRenderer — Camera-Facing Billboard
CSHARP
var go = Scene.CreateObject();
go.WorldPosition = iconPosition;
var sprite = go.Components.Create<SpriteRenderer>();
sprite.Color = Color.White.WithAlpha( 0.8f );
sprite.Scale = 1f;TrailRenderer — Motion Trail
CSHARP
public sealed class BulletTrail : Component
{
TrailRenderer _trail;
protected override void OnStart()
{
_trail = Components.Create<TrailRenderer>();
_trail.Lifetime = 0.3f; // seconds each point lives
_trail.MaxPoints = 50;
_trail.PointDistance = 2f; // min distance between points
_trail.Emitting = true;
_trail.Color = Color.Yellow;
}
protected override void OnDisabled()
{
// Stop emitting but let existing trail fade
_trail.Emitting = false;
}
}SkinnedModelRenderer — Animated Models
CSHARP
var go = Scene.CreateObject();
var renderer = go.Components.Create<SkinnedModelRenderer>();
renderer.Model = Model.Load( "models/citizen.vmdl" );
renderer.UseAnimGraph = true;
// Drive animation parameters
renderer.Set( "move_speed", velocity.Length );
renderer.Set( "b_grounded", isOnGround );ModelRenderer — Static Models
CSHARP
var renderer = go.Components.Create<ModelRenderer>();
renderer.Model = Model.Load( "models/props/crate.vmdl" );
renderer.Tint = Color.Red;
renderer.CastShadows = true;
Was this helpful?