Add shared-scene 2D authoring, sprite animation and Rapier2D physics
CI / validate (push) Canceled after 0s
CI / validate (push) Canceled after 0s
This commit is contained in:
+107
-3
@@ -4,7 +4,8 @@
|
||||
"commands": {
|
||||
"project.rename": "{name}",
|
||||
"project.settings": "{background:\"#dedbd2\",ambient:0.85,shadows:true,renderScale:1}",
|
||||
"scene.create": "{id?,name}",
|
||||
"scene.create": "{id?,name,mode?:2d|3d}",
|
||||
"scene.configure": "{sceneId?,mode:2d|3d}; default editor view and fallback game camera",
|
||||
"scene.activate": "{id}",
|
||||
"scene.rename": "{sceneId,name}",
|
||||
"node.create": "{name,id?,position?,parentId?,components?,sceneId?} OR {entity:{id,name,parentId:null,enabled:true,transform:{position:[0,0,0],rotation:[0,0,0],scale:[1,1,1]},components:{}}}",
|
||||
@@ -14,13 +15,113 @@
|
||||
"node.duplicate": "{id,sceneId?}; subtree and internal references",
|
||||
"component.set": "{id,type,value,sceneId?}; replaces component",
|
||||
"component.remove": "{id,type,sceneId?}",
|
||||
"asset.upsert": "{asset:{id,name,kind:\"model\"|\"geometry\"|\"prefab\",uri?,geometry?,entities?,metadata?}}",
|
||||
"asset.upsert": "{asset:{id,name,kind:\"model\"|\"geometry\"|\"prefab\"|\"image\",uri?,geometry?,entities?,metadata?,image?}}",
|
||||
"asset.delete": "{id}; fails if referenced",
|
||||
"script.upsert": "{script:{id,name,source,fields:{speed:{type:\"number\",default:5,label:\"Speed\",min:0,max:30}}}}",
|
||||
"prefab.create": "{id,name?,sceneId?}",
|
||||
"prefab.instantiate": "{assetId,position?,sceneId?}"
|
||||
},
|
||||
"components": {
|
||||
"sprite": {
|
||||
"assetId": "image asset or empty for white quad",
|
||||
"frame": 0,
|
||||
"size": "optional [width,height], otherwise frame pixels / PPU",
|
||||
"color": "#ffffff",
|
||||
"alpha": 1,
|
||||
"layer": 0,
|
||||
"order": 0,
|
||||
"flipX": false,
|
||||
"flipY": false,
|
||||
"sortY": false,
|
||||
"lit": false
|
||||
},
|
||||
"spriteAnimator": {
|
||||
"autoplay": "idle",
|
||||
"autoStates": false,
|
||||
"clips": [
|
||||
{
|
||||
"name": "idle",
|
||||
"frames": [
|
||||
0,
|
||||
1
|
||||
],
|
||||
"fps": 8,
|
||||
"loop": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"tilemap": {
|
||||
"assetId": "image asset",
|
||||
"tileSize": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"width": 32,
|
||||
"height": 18,
|
||||
"cells": [
|
||||
{
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"frame": 0,
|
||||
"solid": true
|
||||
}
|
||||
],
|
||||
"collisions": false,
|
||||
"layer": 0,
|
||||
"order": 0
|
||||
},
|
||||
"collider2d": {
|
||||
"shape": "box | circle | capsule | polygon",
|
||||
"size": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"radius": 0.5,
|
||||
"height": 1.8,
|
||||
"points": "convex polygon vertices [[x,y],...]",
|
||||
"offset": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"sensor": false,
|
||||
"oneWay": false,
|
||||
"membership": 1,
|
||||
"mask": 65535
|
||||
},
|
||||
"rigidbody2d": {
|
||||
"type": "fixed | dynamic | kinematic",
|
||||
"mass": 1,
|
||||
"friction": 0.5,
|
||||
"restitution": 0,
|
||||
"gravityScale": 1,
|
||||
"lockRotation": true,
|
||||
"ccd": true,
|
||||
"requires": "collider2d or colliding tilemap"
|
||||
},
|
||||
"character2d": {
|
||||
"mode": "platformer | topDown",
|
||||
"controls": true,
|
||||
"speed": 5,
|
||||
"jumpSpeed": 8,
|
||||
"gravity": 20,
|
||||
"autostep": 0.2,
|
||||
"requires": "kinematic rigidbody2d + collider2d"
|
||||
},
|
||||
"joint2d": {
|
||||
"type": "fixed | revolute | rope | spring",
|
||||
"targetId": "another body2d",
|
||||
"anchor": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"targetAnchor": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"length": 1,
|
||||
"stiffness": 50,
|
||||
"damping": 5
|
||||
},
|
||||
"mesh": {
|
||||
"type": "box | sphere | cylinder | icosphere | torus | model | geometry | custom",
|
||||
"size": [
|
||||
@@ -61,7 +162,10 @@
|
||||
"restitution": 0.1
|
||||
},
|
||||
"camera": {
|
||||
"mode": "follow | firstPerson",
|
||||
"mode": "follow | firstPerson | fixed | imported | 2d",
|
||||
"orthoWidth": 20,
|
||||
"pixelPerfect": false,
|
||||
"pixelsPerUnit": 100,
|
||||
"targetId": "subject",
|
||||
"offset": [
|
||||
0,
|
||||
|
||||
Reference in New Issue
Block a user