SetLowLODElement: Difference between revisions
Jump to navigation
Jump to search
m (fix oop) |
Fernando187 (talk | contribs) mNo edit summary |
||
| Line 2: | Line 2: | ||
{{Server client function}} | {{Server client function}} | ||
This function assigns a low LOD element to an element. The low LOD element is displayed when its associated element is not fully visible. If a low LOD element is assigned to several elements, it will be displayed when any of these elements are not fully visible. | This function assigns a low LOD element to an element. The low LOD element is displayed when its associated element is not fully visible. If a low LOD element is assigned to several elements, it will be displayed when any of these elements are not fully visible. | ||
{{Note|The only valid elements types for assigning LODs with this function are [[Object]] and [[Building]].}} | |||
==Syntax== | ==Syntax== | ||
| Line 20: | Line 22: | ||
This example shows how to create and link a normal and low LOD object: | This example shows how to create and link a normal and low LOD object: | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
-- Create | -- Create a normal object | ||
objNormal = createObject ( 3620, x,y,z,0,0,0 ) | local objNormal = createObject ( 3620, x,y,z,0,0,0 ) | ||
-- Create a low LOD object | -- Create a low LOD object | ||
objLowLOD = createObject ( 5154, x,y,z,0,0,0,true ) | local objLowLOD = createObject ( 5154, x,y,z,0,0,0,true ) | ||
-- | -- Assign the LOD object with the Normal object | ||
setLowLODElement ( objNormal, objLowLOD ) | setLowLODElement ( objNormal, objLowLOD ) | ||
Revision as of 11:08, 14 October 2024
This function assigns a low LOD element to an element. The low LOD element is displayed when its associated element is not fully visible. If a low LOD element is assigned to several elements, it will be displayed when any of these elements are not fully visible.
Syntax
bool setLowLODElement ( element theElement, element lowLODElement )
OOP Syntax Help! I don't understand this!
- Method: element:setLowLOD(...)
- Variable: .lowLOD
- Counterpart: getLowLODElement
Required Arguments
- theElement: The element whose low LOD version we want to change.
- lowLODElement : A low LOD element to display when the first element is not fully visible.
Returns
Returns true if the assignment was successful, false otherwise.
Example
Example 1
Click to collapse [-]
ClientsideThis example shows how to create and link a normal and low LOD object:
-- Create a normal object
local objNormal = createObject ( 3620, x,y,z,0,0,0 )
-- Create a low LOD object
local objLowLOD = createObject ( 5154, x,y,z,0,0,0,true )
-- Assign the LOD object with the Normal object
setLowLODElement ( objNormal, objLowLOD )
-- Set the draw distance for the model we are using for low LOD to maximum
engineSetModelLODDistance ( 5154, 300 )
Example 2
Click to collapse [-]
ServersideThis example shows how to create and link a composite object
-- Create composite object
objMainBit = createObject ( 3620, x,y,z )
objLeftBit = createObject ( 5158, x,y,z )
objRightBit = createObject ( 5158, x,y,z )
objDetailBit1 = createObject ( 1337, x,y,z )
objDetailBit2 = createObject ( 1337, x,y,z )
objInternalBit = createObject ( 1337, x,y,z )
attachElements ( objLeftBit, objMainBit, -10, 0, 0 )
attachElements ( objRightBit, objMainBit, 10, 0, 0 )
attachElements ( objDetailBit1, objMainBit, 5, 0, 0 )
attachElements ( objDetailBit2, objLeftBit, 5, 5, 0 )
attachElements ( objInternalBit, objRightBit, 5, 7, 0 )
-- Create low LOD object (which represents the whole composite model)
objlowLOD = createObject ( 5154, x,y,z, 0, 0, 0, true )
-- Attach low LOD object so it moves with the main model
attachElements ( objlowLOD, objMainBit, 0, 0, 0 )
-- Set associations so the low LOD model is displayed when the main parts are not full visible
setLowLODElement ( objMainBit, objlowLOD )
setLowLODElement ( objLeftBit, objlowLOD )
setLowLODElement ( objRightBit, objlowLOD )
-- Note that the detail and internal parts have not been associated to the low LOD object
-- Set the draw distance for the model we are using for low LOD to maximum
triggerClientEvent("onClientChangeModelLODDistance", resourceRoot, 5154, 300 )
Click to collapse [-]
ClientsideChanging the draw distance for a model has to be done on the client:
addEvent("onClientChangeModelLODDistance",true)
addEventHandler("onClientChangeModelLODDistance", resourceRoot,
function(model,distance)
engineSetModelLODDistance ( model, distance )
end
)
Requirements
This template will be deleted.
See Also
- attachElements
- createElement
- destroyElement
- detachElements
- getAttachedElements
- getElementAlpha
- getElementAttachedOffsets
- getElementAttachedTo
- getElementByIndex
- getElementByID
- getElementChild
- getElementChildren
- getElementChildrenCount
- getElementCollisionsEnabled
- getElementColShape
- getElementData
- getAllElementData
- hasElementData
- getElementDimension
- getElementHealth
- getElementID
- getElementInterior
- getElementMatrix
- getElementModel
- getElementParent
- getElementPosition
- getElementRotation
- getElementsByType
- getElementsWithinColShape
- getElementsWithinRange
- getElementType
- getElementVelocity
- getLowLODElement
- getRootElement
- isElement
- isElementAttached
- isElementCallPropagationEnabled
- isElementDoubleSided
- isElementFrozen
- isElementInWater
- isElementLowLOD
- isElementWithinColShape
- isElementWithinMarker
- setElementAlpha
- setElementAngularVelocity
- getElementAngularVelocity
- setElementAttachedOffsets
- setElementCallPropagationEnabled
- setElementCollisionsEnabled
- setElementData
- setElementDimension
- setElementDoubleSided
- setElementFrozen
- setElementHealth
- setElementID
- setElementInterior
- setElementModel
- setElementParent
- setElementPosition
- setElementRotation
- setElementVelocity
- setLowLODElement