animation.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350
  1. /* eslint-disable quote-props */
  2. /* eslint-disable camelcase */
  3. module.exports = {
  4. animation_graph: {
  5. pose_graph_node_sub_categories: {
  6. pose_nodes: 'Pose Nodes',
  7. pose_nodes_blend: 'Blend',
  8. pose_nodes_ik: 'Inverse Kinematic',
  9. pose_nodes_choose: 'Choose',
  10. },
  11. pose_graph_node_sub_menus: {
  12. play_or_sample_clip_motion: 'Animation Clip',
  13. play_or_sample_animation_blend_1d: 'Animation Blend 1D',
  14. play_or_sample_animation_blend_2d: 'Animation Blend 2D',
  15. },
  16. },
  17. classes: {
  18. 'cc': {
  19. 'Animation': {
  20. 'properties': {
  21. 'clips': {
  22. displayName: 'Clips',
  23. tooltip: 'All clips this component governs.',
  24. },
  25. 'defaultClip': {
  26. displayName: 'Default Clip',
  27. tooltip: 'The default clip to play.',
  28. },
  29. 'playOnLoad': {
  30. displayName: 'Play On Load',
  31. tooltip: 'Whether automatically play the default clip after component loaded.',
  32. },
  33. },
  34. },
  35. 'SkeletalAnimation': {
  36. 'properties': {
  37. __extends__: 'classes.cc.Animation.properties',
  38. 'sockets': {
  39. displayName: 'Sockets',
  40. tooltip: 'The joint sockets this animation component maintains. ' +
  41. 'Sockets have to be registered here before attaching custom nodes to animated joints.',
  42. },
  43. 'useBakedAnimation': {
  44. displayName: 'Use Baked Animation',
  45. tooltip: `Whether to bake animations. Default to true, ` +
  46. `which substantially increases performance while making all animations completely fixed.` +
  47. `Dynamically changing this property will take effect when playing the next animation clip.`,
  48. },
  49. },
  50. },
  51. 'animation': {
  52. 'AnimationController': {
  53. properties: {
  54. 'graph': {
  55. displayName: 'Graph',
  56. tooltip: 'The animation graph or animation graph variant associated with this animation controller.',
  57. },
  58. },
  59. },
  60. 'PoseGraphOutputNode': {
  61. displayName: 'Output Pose',
  62. },
  63. 'PoseNodeUseStashedPose': {
  64. displayName: 'Use Stashed Pose',
  65. title: 'Use Stash {stashName}',
  66. },
  67. 'PoseNodeStateMachine': {
  68. displayName: 'State Machine',
  69. inputs: {
  70. 'emptyStatePose': {
  71. displayName: 'Empty State Pose',
  72. },
  73. },
  74. },
  75. 'ClipMotion': {
  76. properties: {
  77. 'clip': {
  78. displayName: 'Clip',
  79. tooltip: 'The animation clip.',
  80. },
  81. },
  82. },
  83. 'MotionSyncInfo': {
  84. properties: {
  85. 'group': {
  86. displayName: 'Group',
  87. },
  88. },
  89. },
  90. 'PoseNodePlayMotion': {
  91. displayName: 'Play Animation',
  92. title: 'Play {motionName}',
  93. properties: {
  94. 'motion': {
  95. displayName: 'Motion',
  96. tooltip: 'The motion to play.',
  97. },
  98. 'syncInfo': {
  99. displayName: 'Sync',
  100. },
  101. },
  102. inputs: {
  103. 'startTime': {
  104. displayName: 'Start Time',
  105. tooltip: 'Specify where to begin playing the motion. ' +
  106. 'The time\'s unit is seconds and the value would be clamped into [0, motion\'s duration].',
  107. },
  108. 'speedMultiplier': {
  109. displayName: 'Speed Multiplier',
  110. },
  111. },
  112. createPoseNodeOnAssetDragHandler: {
  113. displayName: 'Play',
  114. },
  115. },
  116. 'PoseNodeSampleMotion': {
  117. displayName: 'Sample Animation',
  118. title: 'Sample {motionName}',
  119. properties: {
  120. 'motion': {
  121. displayName: 'Motion',
  122. tooltip: 'The motion to sample.',
  123. },
  124. 'useNormalizedTime': {
  125. displayName: 'Use Normalized Time',
  126. tooltip: 'Whether to use normalized time, ie. time in range [0, 1].',
  127. },
  128. },
  129. inputs: {
  130. 'time': {
  131. displayName: 'Time',
  132. },
  133. },
  134. createPoseNodeOnAssetDragHandler: {
  135. displayName: 'Sample',
  136. },
  137. },
  138. 'PoseNodeBlendInProportion': {
  139. displayName: 'Blend In Proportion',
  140. inputs: {
  141. 'poses': {
  142. displayName: 'Pose {elementIndex}',
  143. },
  144. 'proportions': {
  145. displayName: 'Pose {elementIndex} Proportion',
  146. },
  147. },
  148. },
  149. 'PoseNodeBlendTwoPoseBase': {
  150. inputs: {
  151. 'pose0': {
  152. displayName: 'Pose 1',
  153. },
  154. 'pose1': {
  155. displayName: 'Pose 2',
  156. },
  157. 'ratio': {
  158. displayName: 'Ratio',
  159. },
  160. },
  161. },
  162. 'PoseNodeBlendTwoPose': {
  163. displayName: 'Blend Two Pose',
  164. inputs: {
  165. __extends__: 'classes.cc.animation.PoseNodeBlendTwoPoseBase.inputs',
  166. },
  167. },
  168. 'PoseNodeFilteringBlend': {
  169. displayName: 'Filtering Blend',
  170. inputs: {
  171. __extends__: 'classes.cc.animation.PoseNodeBlendTwoPoseBase.inputs',
  172. },
  173. },
  174. 'PoseNodeAdditivelyBlend': {
  175. displayName: 'Additively Blend',
  176. inputs: {
  177. 'basePose': {
  178. displayName: 'Base Pose',
  179. },
  180. 'additivePose': {
  181. displayName: 'Additive Pose',
  182. },
  183. 'ratio': {
  184. displayName: 'Ratio',
  185. },
  186. },
  187. },
  188. 'PoseNodeChoosePoseByBoolean': {
  189. displayName: 'Choose Pose By Boolean',
  190. inputs: {
  191. 'truePose': {
  192. displayName: 'True Pose',
  193. },
  194. 'falsePose': {
  195. displayName: 'False Pose',
  196. },
  197. 'trueFadeInDuration': {
  198. displayName: 'True Pose Fade In Duration',
  199. },
  200. 'falseFadeInDuration': {
  201. displayName: 'False Pose Fade In Duration',
  202. },
  203. 'choice': {
  204. displayName: 'Choice',
  205. },
  206. },
  207. },
  208. 'PoseNodeChoosePoseByIndex': {
  209. displayName: 'Choose Pose By Index',
  210. inputs: {
  211. poses: {
  212. displayName: 'Pose {elementIndex}',
  213. },
  214. fadeInDurations: {
  215. displayName: 'Pose {elementIndex} Fade In Duration',
  216. },
  217. 'choice': {
  218. displayName: 'Choice',
  219. },
  220. },
  221. },
  222. 'PoseNodeModifyPoseBase': {
  223. inputs: {
  224. 'pose': {
  225. displayName: 'Pose',
  226. },
  227. },
  228. },
  229. 'PoseNodeApplyTransform': {
  230. displayName: 'Apply Transform',
  231. title: 'Transform {nodeName}',
  232. properties: {
  233. 'positionOperation': {
  234. displayName: 'Position Operation',
  235. tooltip: 'Specify how to process position.',
  236. },
  237. 'rotationOperation': {
  238. displayName: 'Rotation Operation',
  239. tooltip: 'Specify how to process rotation.',
  240. },
  241. 'transformSpace': {
  242. displayName: 'Transform Space',
  243. tooltip: 'Specify the space of the position and rotation.',
  244. },
  245. },
  246. inputs: {
  247. __extends__: 'classes.cc.animation.PoseNodeModifyPoseBase.inputs',
  248. 'position': {
  249. displayName: 'Position',
  250. },
  251. 'rotation': {
  252. displayName: 'Rotation',
  253. },
  254. 'intensityValue': {
  255. displayName: 'Intensity',
  256. },
  257. },
  258. },
  259. 'PoseNodeCopyTransform': {
  260. displayName: 'Copy Transform',
  261. title: 'Copy {sourceNodeName}\'s transform to {targetNodeName}',
  262. properties: {
  263. 'sourceNodeName': {
  264. displayName: 'Source Node',
  265. tooltip: 'Name of the source node.',
  266. },
  267. 'targetNodeName': {
  268. displayName: 'Target Node',
  269. tooltip: 'Name of the target node.',
  270. },
  271. 'space': {
  272. displayName: 'Space',
  273. tooltip: 'Specify the transform space in which the transform would be copied.',
  274. },
  275. },
  276. inputs: {
  277. __extends__: 'classes.cc.animation.PoseNodeModifyPoseBase.inputs',
  278. },
  279. },
  280. 'PoseNodeSetAuxiliaryCurve': {
  281. displayName: 'Set Auxiliary Curve',
  282. title: 'Set Auxiliary Curve {curveName}',
  283. inputs: {
  284. __extends__: 'classes.cc.animation.PoseNodeModifyPoseBase.inputs',
  285. 'curveValue': {
  286. displayName: 'Value',
  287. },
  288. },
  289. },
  290. 'PoseNodeTwoBoneIKSolver': {
  291. displayName: 'Two Bone IK Solver',
  292. title: 'Solve Two Bone IK: {endEffectorBoneName}',
  293. properties: {
  294. 'endEffectorBoneName': {
  295. displayName: 'End Effector Bone',
  296. tooltip: 'Name of the end effector bone.',
  297. },
  298. 'endEffectorTarget': {
  299. displayName: 'End Effector Target',
  300. tooltip: 'Specify the end effector\'s target.',
  301. },
  302. 'poleTarget': {
  303. displayName: 'Pole Target',
  304. tooltip: 'Specify the pole target, ie. the middle bone\'s trending location..',
  305. },
  306. },
  307. inputs: {
  308. __extends__: 'classes.cc.animation.PoseNodeModifyPoseBase.inputs',
  309. 'endEffectorTargetPosition': {
  310. displayName: 'End Effector Target',
  311. },
  312. 'poleTargetPosition': {
  313. displayName: 'Pole Target',
  314. },
  315. 'intensityValue': {
  316. displayName: 'Intensity',
  317. },
  318. },
  319. 'TargetSpecification': {
  320. properties: {
  321. 'type': {
  322. displayName: 'Type',
  323. tooltip: 'Target type.',
  324. },
  325. 'targetPosition': {
  326. displayName: 'Target Position',
  327. tooltip: 'Target position.',
  328. },
  329. 'targetPositionSpace': {
  330. displayName: 'Target Position Space',
  331. tooltip: 'Space of the target position.',
  332. },
  333. 'targetBone': {
  334. displayName: 'Target Bone',
  335. tooltip: 'Name of target bone.',
  336. },
  337. },
  338. },
  339. },
  340. 'PVNodeGetVariableBase': {
  341. displayName: 'Get Variable',
  342. title: 'Variable {variableName}',
  343. },
  344. },
  345. },
  346. },
  347. };