(Added Enabled) |
|||
Line 4: | Line 4: | ||
{{ScriptFunction|bool|Enabled|{get; set;}|Is the Terrain component enabled?|5= | {{ScriptFunction|bool|Enabled|{get; set;}|Is the Terrain component enabled?|5= | ||
− | '' | + | ''Space.Host.ExecutingObject.Terrain.Enabled = false|6=<pre>--clicking this object will Enable/Disable it's Terrain component |
− | + | thisGameObject = Space.Host.ExecutingObject | |
− | + | component = thisGameObject.Terrain | |
− | + | ||
− | + | OnClick = function() | |
− | + | component.Enabled = not component.Enabled | |
+ | end | ||
+ | |||
+ | |||
+ | thisGameObject.AddClickable() | ||
+ | thisGameObject.Clickable.OnClick(OnClick)</pre> | ||
}} | }} | ||
The STerrain class allows the script to work with the terrain-related data.
Is the Terrain component enabled?
--clicking this object will Enable/Disable it's Terrain component thisGameObject = Space.Host.ExecutingObject component = thisGameObject.Terrain OnClick = function() component.Enabled = not component.Enabled end thisGameObject.AddClickable() thisGameObject.Clickable.OnClick(OnClick)
Gets the height at the (x,y) point. Floats x,y are given within the range from 0 to 1. If we want this script to work with global x, z coordinates, we need to divide their values by the width/length of the terrain respectively (if the terrain's bottom left corner is at the origin).
-- 1 Object Reference to the Terrain object, Name: "terrain".
local terrain = Space.Host.GetReference("terrain");
Space.Log(terrain.Terrain.GetHeight (206/512,198/512));
Gets the steepness at the (x,y) point. Floats x,y are given within the range from 0 to 1. If we want this script to work with global x, z coordinates, we need to divide their values by the width/length of the terrain respectively.
-- 1 Object Reference to the Terrain object, Name: "terrain".
local terrain = Space.Host.GetReference("terrain");
Space.Log(terrain.Terrain.GetSteepness (408/1024,63/1024));
Gets the normal vector (perpendicular to the surface) at the (x,y) point. Floats x,y are given within the range from 0 to 1. If we want this script to work with global x, z coordinates, we need to divide their values by the width/length of the terrain respectively.
-- 1 Object Reference to the Terrain object, Name: "terrain".
local terrain = Space.Host.GetReference("terrain");
Space.Log(terrain.Terrain.GetNormal(172/512,428/256));
Gets the slope vector at the (x,y) point. Floats x,y are given within the range from 0 to 1. If we want this script to work with global x, z coordinates, we need to divide their values by the width/length of the terrain respectively.
-- 1 Object Reference to the Terrain object, Name: "terrain".
local terrain = Space.Host.GetReference("terrain");
Space.Log(terrain.Terrain.GetSlope(256/1024,256/512));
Gets the contour of the surface, expressed as a vector, at the (x,y) point. Floats x,y are given within the range from 0 to 1. If we want this script to work with global x, z coordinates, we need to divide their values by the width/length of the terrain respectively.
-- 1 Object Reference to the Terrain object, Name: "terrain".
local terrain = Space.Host.GetReference("terrain");
Space.Log(terrain.Terrain.GetContour(128/512,128/512));
-- prints x,y,z values of the contour direction at the global point (x = 128, z = 128) to the console.
|