Both sides previous revisionPrevious revisionNext revision | Previous revision |
democap:netspec [2023/05/09 14:32] – [Table] dragonlord | democap:netspec [2024/09/25 14:26] (current) – dragonlord |
---|
{{tag>motioncapture democap}} | {{tag>motioncapture democap network}} |
<WRAP youarehere> | <WRAP youarehere> |
[[:start|Start Page]] >> [[main|DEMoCap: Drag[en]gine Motion Capture]] >> [[democap:uipanelcapture|UI: Panel Session]] >> **Network Specification** | [[:start|Start Page]] >> [[main|DEMoCap: Drag[en]gine Motion Capture]] >> [[democap:uipanelcapture|UI: Panel Session]] >> **DEMoCap Network Specification** |
</WRAP> | </WRAP> |
| |
====== Network Specification ====== | ====== DEMoCap Network Specification ====== |
| |
The DEMoCap Networking uses the [[gamedev:dnp|Drag[en]gine Network Protocol]] as protocol and defines a set of <wrap hi>messages</wrap> and <wrap hi>linked states</wrap> supported by DEMoCap. The specification can change with upcoming DEMoCap updates but stays backwards compatible. Servers and clients are required to ignore unknown messages and linked states. | The DEMoCap Networking uses the [[gamedev:dnp|Drag[en]gine Network Protocol]] as protocol and defines a set of <wrap hi>messages</wrap> and <wrap hi>linked states</wrap> supported by DEMoCap. The specification can change with upcoming DEMoCap updates but stays backwards compatible. Servers and clients are required to ignore unknown messages and linked states. |
| [[gamedev:dnp#data_types|UInt]] | SupportedFeatures | <WRAP> | | [[gamedev:dnp#data_types|UInt]] | SupportedFeatures | <WRAP> |
Features supported by the client. Flags value with these possible values: | Features supported by the client. Flags value with these possible values: |
* ''0'': Enable //Vertex Position Set// data to be send by client and server. If enabled certain messages contain additional data elements. | * Bit ''0'': Enable //Vertex Position Set// data to be send by client and server. If enabled certain messages contain additional data elements. |
</WRAP> | | </WRAP> | |
| [[gamedev:dnp#data_types|String8]] | Name | Name describing the remote client connecting. This is a free form name of short length indicating what software is connecting. It is used only to show the user who is connected to identify the individual connections. | | | [[gamedev:dnp#data_types|String8]] | Name | Name describing the remote client connecting. This is a free form name of short length indicating what software is connecting. It is used only to show the user who is connected to identify the individual connections. | |
| - | Reserved | Reserved for future expansion. Ignore any additional bytes in the message | | | - | Reserved | Reserved for future expansion. Ignore any additional bytes in the message | |
| |
The server will then respond with a [[#server_features|Server Features]] message before sending any other messages. | The server will then respond with a [[#connect_accepted|Connect Accepted]] message or disconnect the client if rejected. |
| |
===== Connect Accepted ===== | ===== Connect Accepted ===== |
| [[gamedev:dnp#data_types|Quaternion]] | Orientation | Origin orientation in rig or parent bone. | | | [[gamedev:dnp#data_types|Quaternion]] | Orientation | Origin orientation in rig or parent bone. | |
| |
//VertexPositionData// has this format: | //VertexPositionData// has this format (all weights are 0): |
^ Type ^ Name ^ Description ^ | ^ Type ^ Name ^ Description ^ |
| [[gamedev:dnp#data_types|String8]] | Name | Name of vertex positionset. | | | [[gamedev:dnp#data_types|String8]] | Name | Name of vertex positionset. | |
| [[gamedev:dnp#data_types|float]] | Weight | Weight. | | |
| |
===== Actor Capture Frame ===== | ===== Actor Capture Frame ===== |
| [[gamedev:dnp#data_types|Vector]] | Position | Position of the bone in bone local space. | | | [[gamedev:dnp#data_types|Vector]] | Position | Position of the bone in bone local space. | |
| [[gamedev:dnp#data_types|Quaternion]] | Orientation | Orientation of the bone in bone local space. | | | [[gamedev:dnp#data_types|Quaternion]] | Orientation | Orientation of the bone in bone local space. | |
| |
| //VertexPositionSetState// has this format: |
| ^ Type ^ Name ^ Description ^ |
| | [[gamedev:dnp#data_types|float]] | Weight | Weight of vertex position set. | |
| |
====== Linked States ====== | ====== Linked States ====== |
| ''4'' | [[gamedev:dnp#state_value_data_types|Float32]] | PlayTime | Playback time in seconds. | | | ''4'' | [[gamedev:dnp#state_value_data_types|Float32]] | PlayTime | Playback time in seconds. | |
| ''5'' | [[gamedev:dnp#state_value_data_types|Float32]] | PlayPosition | Playback position in seconds. | | | ''5'' | [[gamedev:dnp#state_value_data_types|Float32]] | PlayPosition | Playback position in seconds. | |
| |
| ===== Revision ===== |
| |
| ^ Date | Changes | |
| | 9.5.2023 | <WRAP> |
| * Added support for Vertex Position Sets (Feature Bit ''0'') |
| </WRAP> | |
| |