wiki.sine.space | sinespace

Difference between revisions of "Scripting/SRigidbody"

From wiki.sine.space
Jump to: navigation, search
(Added MaxDepenetrationVelocity and UseGravity ; fixed some grammar and an error in one of the scripts submitted earlier.)
(Replaced content with "This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/srigidbody")
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The Rigidbody class works with the physics of the object. Requires the Rigidbody component to function.
+
This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/srigidbody
 
+
==Properties==
+
 
+
{{ScriptFunction|float|AngularDrag|{ get; set; }|The angular drag of the object.|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set a new angular drag value''<br>
+
obj.Rigidbody.AngularDrag = 0.20;<br><br>
+
''-- Get the current angular drag value''<br>
+
Space.Log(obj.Rigidbody.AngularDrag);<br>
+
''-- prints "0.200000..." to the console''}}
+
 
+
 
+
{{ScriptFunction|SVector|AngularVelocity |{ get; set; }|The angular velocity vector of the rigidbody (in radians per second).|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set a new angular velocity value''<br>
+
obj.Rigidbody.AngularVelocity = Vector.New(0,Space.Math.Pi,0);<br>
+
''-- Now the object rotates about the Y axis at a speed of 180 degrees per second''<br>
+
''-- (or 30 revolutions per minute)''<br><br>
+
''-- Get the current angular velocity value''<br>
+
Space.Log(obj.Rigidbody.AngularVelocity);<br>
+
''-- prints "[0, 3.141593, 0]" to the console''}}
+
 
+
 
+
{{ScriptFunction|SVector|CenterOfMass |{ get; set; }|The center of mass relative to the local origin.|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set a new center of mass''<br>
+
obj.Rigidbody.CenterOfMass = Vector.New(1,0,0);<br>
+
''-- Now the object's center of mass has been moved by 1 at the X axis''<br><br>
+
''-- Get the current center of mass''<br>
+
Space.Log(obj.Rigidbody.CenterOfMass);<br>
+
''-- prints "[1, 0, 0]" to the console''}}
+
 
+
 
+
{{ScriptFunction|float|Drag |{ get; set; }|The drag of the object.|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set a new drag value''<br>
+
obj.Rigidbody.Drag = 20;<br>
+
''-- Now the object's drag is set to 20 - the higher the number, the more it is resistant to gravity''<br><br>
+
''-- Get the current drag value''<br>
+
Space.Log(obj.Rigidbody.Drag);<br>
+
''-- prints "20" to the console''}}
+
 
+
 
+
{{ScriptFunction|bool|FreezeRotation |{ get; set; }|Controls whether physics will have any impact on the rotation of the object.|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set FreezeRotation to True''<br>
+
obj.Rigidbody.FreezeRotation = true;<br>
+
''-- Now under no circumstances the object's rotation coordinates will change.''<br><br>
+
''-- Get the FreezeRotation value (find out if Freeze Rotation is in action)''<br>
+
Space.Log(obj.Rigidbody.FreezeRotation);<br>
+
''-- prints "True" to the console''}}
+
 
+
{{ScriptFunction|bool|Kinematic |{ get; set; }|Controls whether physics will have any impact on the object.|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set Kinematic to True''<br>
+
obj.Rigidbody.Kinematic = true;<br>
+
''-- Now the object will not be affected by gravity, collisions, or other forces.''<br><br>
+
''-- Get the Kinematic value (find out if Kinematic is in action)''<br>
+
Space.Log(obj.Rigidbody.Kinematic);<br>
+
''-- prints "True" to the console''}}
+
 
+
{{ScriptFunction|float|Mass |{ get; set; }|The mass of the rigidbody.|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set a new mass of the rigidbody''<br>
+
obj.Rigidbody.Mass = 0.1;<br><br>
+
''-- Get the current value of the rigidbody's mass''<br>
+
Space.Log(obj.Rigidbody.Mass);<br>
+
''-- prints "0.1000000..." to the console''}}
+
 
+
{{ScriptFunction|float|MaxAngularVelocity |{ get; set; }|The maximum angular velocity of the rigidbody (7 by default). Can be useful to prevent an object from spinning uncontrollably fast.|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set a new value for the maximum angular velocity''<br>
+
obj.Rigidbody.MaxAngularVelocity = 1;<br>
+
''-- Now the object, for example, is more resistant to rolling over upon collision with another object.''<br><br>
+
''-- Get the current value of the rigidbody's maximum angular velocity''<br>
+
Space.Log(obj.Rigidbody.MaxAngularVelocity);<br>
+
''-- prints "1" to the console''}}
+
 
+
 
+
{{ScriptFunction|float|MaxDepenetrationVelocity |{ get; set; }|The maximum depenetration velocity of the rigidbody (1.00000003318135E+32 by default). Can be useful to make colliding objects bounce away in a smoother fashion.|5=
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set a new value for the maximum depenetration velocity''<br>
+
obj.Rigidbody.MaxDepenetrationVelocity = 1;<br><br>
+
''-- Get the current value of the rigidbody's maximum depenetration velocity''<br>
+
Space.Log(obj.Rigidbody.MaxDepenetrationVelocity);<br>
+
''-- prints "1" to the console''}}
+
 
+
{{ScriptFunction|bool|UseGravity |{ get; set; }|Controls whether gravity affects the rigidbody.|5=
+
 
+
local obj = Space.Host.ExecutingObject;<br><br>
+
''-- Set UseGravity to False (it is set to True by default)''<br>
+
obj.Rigidbody.UseGravity = false;<br>
+
''-- Now gravity does not affect the rigidbody.''<br><br>
+
''-- Get the UseGravity value (find out if UseGravity is in action)''<br>
+
Space.Log(obj.Rigidbody.UseGravity);<br>
+
''-- prints "False" to the console''}}
+
 
+
{{Scripting Navbox}}
+

Latest revision as of 06:20, 19 September 2022

This page has moved to: https://docs.sine.space/v/scripting/client-scripting/components/srigidbody