{{tag>motioncapture democap}}
[[:start|Start Page]] >> [[main|DEMoCap: Drag[en]gine Motion Capture]] >> **XML Element Classes**
====== XML Element Classes ======
DEMoCap allows users and modders to create [[dragengine:modules:dragonscript:behavior_elements#xml_element_classes|Behavior Elements]] using XML files (''*.deeclass''). These files can be placed in the project data directory in the directory ''models'' (recommended) or ''worlds''. Element classes are detected automatically by DEMoCap and are then available to then [[democap:uipanelproject#object|add objects]] to the scene. See [[#examples|Examples]] for examples of ''*.deeclass'' files.
Before creating ''*.deeclass'' files it is recommended to open your project and to create an empty scene. Save the project with the empty scene active. This way if you make a mistake in the ''*.deeclass'' file you do not potentially damage your scene content.
====== Behaviors Explained: From A to Z ======
This list contains all the behaviors DEMoCap provides and that can be used in ''*.deeclass'' files to build own element classes. See [[dragengine:modules:dragonscript:behaviors_a_to_z|Behaviors Explained: From A to Z]] or [[dragengine:modules:dragonscript:behaviors_use_cases|Behaviors Explained: By Use Cases]] for behaviors provided by the Drag[en]gine Game Engine.
===== A =====
* [[behavior_ecbanimated|ECBAnimated]]
===== C =====
* [[behavior_ecbcamerafeedview|ECBCameraFeedView]]
* [[behavior_ecbcapturedanimations|ECBCapturedAnimations]]
* [[behavior_ecbcolliderphysics|ECBColliderPhysics]]
* [[behavior_ecbcomponent|ECBComponent]]
* [[behavior_ecbcopyobject|ECBCopyObject]]
* [[behavior_ecbcustomcolor|ECBCustomColor]]
===== D =====
* [[behavior_ecbdesktoplanguagechanged|ECBDesktopLanguageChanged]]
===== G =====
* [[behavior_ecbgrabattach|ECBGrabAttach]]
* [[behavior_ecbgrabbedenablecamera|ECBGrabbedEnableCamera]]
* [[behavior_ecbbehaviorguipanels|ECBBehaviorGuiPanels]]
===== H =====
* [[behavior_ecbhelptopic|ECBHelpTopic]]
* [[behavior_ecbhidecondition|ECBHideCondition]]
* [[behavior_ecbhighlightpointedat|ECBHighlightPointedAt]]
===== R =====
* [[behavior_ecbrecordanimation|ECBRecordAnimation]]
* [[behavior_ecbremotecamera|ECBRemoteCamera]]
* [[behavior_ecbrenderablecamera|ECBRenderableCamera]]
===== S =====
* [[behavior_ecbsceneobject|ECBSceneObject]]: **Adding this behavior is mandatory**
* [[behavior_ecbselectable|ECBSelectable]]
* [[behavior_ecbshowinteracthandles|ECBShowInteractHandles]]
* [[behavior_ecbshowinteractionbubble|ECBShowInteractionBubble]]
===== T =====
* [[behavior_ecbtemporaryghost|ECBTemporaryGhost]]
* [[behavior_ecbtogglevisibility|ECBToggleVisibility]]
===== W =====
* [[behavior_ecbwindowvideoplayer|ECBWindowVideoPlayer]]
====== Examples ======
Example ''*.deeclass'' file defining an element class sublassing an element class provided by DEMoCap. This is the most simple solution to add an element class which uses functionality provided by pre-made classes. You still can add more behaviors to them if required.
inflatableSeaDragon.demodel
inflatableSeaDragon.deskin
inflatableSeaDragon.derig
0.25
Example of an ''*.deeclass'' file defining a full behavior element starting from scratch (using GenericBehaviorElement). This is more complex but allows to build an element class from scratch with exactly the behaviors you need. To be usable in DEMoCap at least the "ECBSceneObject" and "ECBSelectable" behavior has to be present with all the required dependencies.
inflatableSeaDragonRiding.demodel
inflatableSeaDragon.deskin
inflatableSeaDragon.derig
0:1 2 5 7
kinematic
true
move
rotate
0.1
record
ghost
duplicate
remove