This article's documentation is for anything that uses the Source engine. Click here for more information.

Phys convert: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎Outputs: activator)
 
(30 intermediate revisions by 16 users not shown)
Line 1: Line 1:
{{wrongtitle|title=phys_convert}}
{{CD|CPhysConvert|file1=physobj.cpp}}
==Entity Description==
{{this is a|logical entity|name=phys_convert}} It copies the physical and visual properties of an arbitrary entity onto a new physically simulated entity.
Turns an arbitrary entity into a physically simulated entity. i.e. brush entities will behave like [[func_physbox]], model entities behave like [[prop_physics]].
The original entity is deleted if successful. Brush entities will turn into [[simple_physics_brush]] and model entities will turn into [[simple_physics_prop]]. Both are very limited compared to [[func_physbox]] and [[prop_physics]]. See their respective pages for details.
{{note|phys_convert cannot be used in reverse. (cannot turn physically simulated entities into arbitrary entities)}}


==Keyvalues==
== Keyvalues ==
*{{kv targetname}}
{{KV Targetname}}
*'''target''' <target_destination>
{{KV|Entity to convert|target_destination|intn=target|Name of the entity that will be converted to a physics object when the <code>ConvertTarget</code> input is fired.}}
:Name of the entity that will be converted to a physics object when the '''ConvertTarget''' input is fired.
{{KV|Model Swap Entity|string|intn=swapmodel|If specified, the model of the entity specified here will replace the model of the target object when it is converted. {{tip|Use this when the converted object has a separate model used for physics props. (e.g. converting "coolthing001a" when "coolthing001a_physics" exists)}}}}
*'''swapmodel''' <target_destination>
{{KV|Mass Override|float|intn=massoverride|Sets the mass when the object(s) are converted (0 means auto-calculate)}}
:Model Swap Entity


==Flags==
== Flags ==
*1: Convert Asleep
{{fl|1|Convert Asleep}}
{{fl|2|Convert As Debris}}


==Inputs==
== Inputs ==
*{{i targetname}}
{{I|ConvertTarget|Converts this entity's target to a physically simulated object.}}
*'''ConvertTarget'''
{{note|Name, model, pose, children, position and velocity are retained after conversion. Keyvalues, e.g. skin and color, are not kept. [[AddOutput]] could be used as a workaround depending on the circumstances.}}
:Converts this entity's target to a physically simulated object.
: {{codenote|Which fields are transferred can be changed by modifying <code>CPhysConvert::InputConvertTarget()</code>.}}


==Outputs==
== Outputs ==
*{{o targetname}}
{{O|OnConvert|activator = activator of the ConvertTarget input|Fires after the conversion has taken place.}}
*'''OnConvert'''
:Fires after the conversion has taken place. {{activator|activator}}


==See Also==
== See also ==
 
* [[Blowout Doors]] - A phys_convert in use.
* [[A tutorial for phys_convert]]
 
* [[Prop_physics_override]] - Should be somewhat similar to this.
 
[[Category:Entities]]

Latest revision as of 06:24, 29 April 2025

C++ Class hierarchy
CPhysConvert
CLogicalEntity
CServerOnlyEntity
CBaseEntity
C++ physobj.cpp

phys_convert is a logical entity available in all Source Source games. It copies the physical and visual properties of an arbitrary entity onto a new physically simulated entity. The original entity is deleted if successful. Brush entities will turn into simple_physics_brush and model entities will turn into simple_physics_prop. Both are very limited compared to func_physbox and prop_physics. See their respective pages for details.

Note.pngNote:phys_convert cannot be used in reverse. (cannot turn physically simulated entities into arbitrary entities)

Keyvalues

Name (targetname) <string>[ Edit ]
The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g. parentname or target).
Also displayed in Hammer's 2D views and Entity Report.
See also:  Generic Keyvalues, Inputs and Outputs available to all entities

Entity to convert (target) <targetname>
Name of the entity that will be converted to a physics object when the ConvertTarget input is fired.
Model Swap Entity (swapmodel) <string>
If specified, the model of the entity specified here will replace the model of the target object when it is converted.
Tip.pngTip:Use this when the converted object has a separate model used for physics props. (e.g. converting "coolthing001a" when "coolthing001a_physics" exists)
Mass Override (massoverride) <float>
Sets the mass when the object(s) are converted (0 means auto-calculate)

Flags

Convert Asleep : [1]
Convert As Debris : [2]

Inputs

ConvertTarget
Converts this entity's target to a physically simulated object.
Note.pngNote:Name, model, pose, children, position and velocity are retained after conversion. Keyvalues, e.g. skin and color, are not kept. AddOutput could be used as a workaround depending on the circumstances.
Cpp.pngCode:Which fields are transferred can be changed by modifying CPhysConvert::InputConvertTarget().

Outputs

OnConvert
!activator = activator of the ConvertTarget input
!caller = this entity
Fires after the conversion has taken place.

See also