added first couple objects
This commit is contained in:
@@ -0,0 +1,35 @@
|
|||||||
|
# Billboard
|
||||||
|
|
||||||
|
### Type
|
||||||
|
pre-defined
|
||||||
|
|
||||||
|
### 3D
|
||||||
|
The Billboard is a 4m x 2,25m opaque Plane.
|
||||||
|
Its Origin is at the Bottom-Center.
|
||||||
|
Spawnpoint should be {0,1,0} so its 1m above the floor.
|
||||||
|
|
||||||
|
### Custom Args:
|
||||||
|
| Key | Type | Implemented | Description |
|
||||||
|
|---|---|---|---|
|
||||||
|
| url | string | ✔️ | Storage path within `user_files` bucket (e.g. `uuid/image.png`). A signed URL is generated at runtime. |
|
||||||
|
| grabable | `"true"` / `"false"` | ⚠️ (Unity missing) | Whether the item can be grabbed in-experience (common to all types) |
|
||||||
|
|
||||||
|
### Special Notes:
|
||||||
|
The Creator handles image uploads and assigns the storage path to `url`.
|
||||||
|
The `url` value is a Supabase storage path, **not** a full URL — the runtime calls `CreateSignedUrl` to fetch the actual image.
|
||||||
|
|
||||||
|
### Example:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"position": { "x": 5, "y": 1, "z": -6 },
|
||||||
|
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
|
||||||
|
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 },
|
||||||
|
"type": "pre-defined",
|
||||||
|
"resourcename": "Billboard",
|
||||||
|
"item-custom-args": [
|
||||||
|
{ "argument": "url", "value": "b83a17ab-92bf-4122-a4d0-7b467a105ae0/Screenshot_Loading.png" }
|
||||||
|
],
|
||||||
|
"item-custom-args-adv": null
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# CCTVCamera
|
||||||
|
|
||||||
|
### Type
|
||||||
|
pre-defined
|
||||||
|
|
||||||
|
### 3D
|
||||||
|
The CCTV Camera is a small, dark gray box.
|
||||||
|
Origin is at the Center.
|
||||||
|
Spawnpoint should be {0,3,0} and its target set so it already points slightly down.
|
||||||
|
|
||||||
|
### Custom Args:
|
||||||
|
| Key | Type | Implemented | Description |
|
||||||
|
|---|---|---|---|
|
||||||
|
| target | string `"x,y,z"` | ⚠️ (Unity only reads rotation) | World-space look-at point. Could be a moveable object in the future.|
|
||||||
|
| fov | float (degrees) | ✔️ | Camera field of view in degrees. Derived in Creator as `zoom * 60`. |
|
||||||
|
| grabable | `"true"` / `"false"` | ⚠️ (Unity missing) | Whether the item can be grabbed in-experience (common to all types) |
|
||||||
|
|
||||||
|
### Special Notes:
|
||||||
|
The `target` arg is documented in the database but the `CCTVCameraBehaviour` switch statement does not handle it — the camera's look direction is controlled by the object's `rotation` in the scene.
|
||||||
|
In the Creator, `fov = zoom * 60` where zoom is 1–10.
|
||||||
|
|
||||||
|
### Example:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"position": { "x": 0.0, "y": 3.0, "z": 5.0 },
|
||||||
|
"rotation": { "x": 30.0, "y": 0.0, "z": 0.0 },
|
||||||
|
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 },
|
||||||
|
"type": "pre-defined",
|
||||||
|
"resourcename": "CCTVCamera",
|
||||||
|
"item-custom-args": [
|
||||||
|
{ "argument": "target", "value": "0,0,6" },
|
||||||
|
{ "argument": "fov", "value": "140" }
|
||||||
|
],
|
||||||
|
"item-custom-args-adv": null
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# Cone
|
||||||
|
|
||||||
|
### Type
|
||||||
|
pre-defined
|
||||||
|
|
||||||
|
### 3D
|
||||||
|
The Cone is 1m high with a 0.5m base radius (from Cone.glb mesh).
|
||||||
|
Its Origin is at the Geometric Center.
|
||||||
|
Cone is pointing upwards.
|
||||||
|
Spawnpoint should be {0,0.5,0} so the base rests on the floor.
|
||||||
|
|
||||||
|
### Custom Args:
|
||||||
|
| Key | Type | Implemented | Description |
|
||||||
|
|---|---|---|---|
|
||||||
|
| color | hexColor | ✔️ | Color of the cone material |
|
||||||
|
| grabable | `"true"` / `"false"` | ⚠️ (Unity missing) | Whether the item can be grabbed in-experience (common to all types) |
|
||||||
|
|
||||||
|
### Special Notes:
|
||||||
|
_none_
|
||||||
|
|
||||||
|
### Example:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"position": { "x": 4.0, "y": 0.5, "z": 0.0 },
|
||||||
|
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
|
||||||
|
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 },
|
||||||
|
"type": "pre-defined",
|
||||||
|
"resourcename": "Cone",
|
||||||
|
"item-custom-args": [
|
||||||
|
{ "argument": "color", "value": "#ff9900" }
|
||||||
|
],
|
||||||
|
"item-custom-args-adv": null
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
# Directional Light
|
||||||
|
|
||||||
|
### Type
|
||||||
|
pre-defined
|
||||||
|
|
||||||
|
### 3D
|
||||||
|
No visible mesh. Represents a scene-wide directional light source (like the sun).
|
||||||
|
The `target` arg defines the direction the light points toward.
|
||||||
|
Default spawn height is y=5.
|
||||||
|
|
||||||
|
### Custom Args:
|
||||||
|
| Key | Type | Implemented | Description |
|
||||||
|
|---|---|---|---|
|
||||||
|
| color | hexColor | ⚠️ (Creator tbd) | Color of the light |
|
||||||
|
| intensity | float | ⚠️ **See note below.** | Light intensity (default tbd). |
|
||||||
|
| target | string `"x,y,z"` | ⚠️ (Unity only reads rotation) | World-space look-at point the light aims at |
|
||||||
|
| grabable | `"true"` / `"false"` | ⚠️ | Whether the item can be grabbed in-experience (common to all types) |
|
||||||
|
|
||||||
|
### Special Notes:
|
||||||
|
**Key name discrepancy:** The database save format uses `intensity` as the argument key, but `LightManupulationBehaviour.cs` reads `brightness`. Light intensity args may not apply at runtime unless this is resolved.
|
||||||
|
|
||||||
|
### Example:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"position": { "x": 0.0, "y": 5.0, "z": 0.0 },
|
||||||
|
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
|
||||||
|
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 },
|
||||||
|
"type": "pre-defined",
|
||||||
|
"resourcename": "Directional Light",
|
||||||
|
"item-custom-args": [
|
||||||
|
{ "argument": "color", "value": "#ffffff" },
|
||||||
|
{ "argument": "intensity", "value": "20" },
|
||||||
|
{ "argument": "target", "value": "0,0,0" }
|
||||||
|
],
|
||||||
|
"item-custom-args-adv": null
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
# Entrance
|
||||||
|
|
||||||
|
### Type
|
||||||
|
pre-defined
|
||||||
|
|
||||||
|
### 3D
|
||||||
|
An (invisible) Object marking where the player spawns when entering the Room. In the creator is marked with a small disk.
|
||||||
|
|
||||||
|
Default spawn is at y=0.1 to prevent players falling through the floor.
|
||||||
|
|
||||||
|
### Custom Args:
|
||||||
|
| Key | Type | Implemented | Description |
|
||||||
|
|---|---|---|---|
|
||||||
|
| grabable | `"true"` / `"false"` | ⚠️ | Whether the item can be grabbed in-experience (common to all types) |
|
||||||
|
|
||||||
|
### Special Notes:
|
||||||
|
_none_
|
||||||
|
|
||||||
|
### Example:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"position": { "x": 0.0, "y": 0.1, "z": 0.0 },
|
||||||
|
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
|
||||||
|
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 },
|
||||||
|
"type": "pre-defined",
|
||||||
|
"resourcename": "Entrance",
|
||||||
|
"item-custom-args": [],
|
||||||
|
"item-custom-args-adv": null
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
# Floor
|
||||||
|
|
||||||
|
### Type
|
||||||
|
pre-defined
|
||||||
|
|
||||||
|
### 3D
|
||||||
|
The Floor is a flat plane. Default dimensions are 10m × 10m.
|
||||||
|
Its Origin is at the Center (surface level).
|
||||||
|
Spawnpoint should be {0,0,0}.
|
||||||
|
|
||||||
|
### Custom Args:
|
||||||
|
| Key | Type | Implemented | Description |
|
||||||
|
|---|---|---|---|
|
||||||
|
| color | hexColor | ✔️ | Color of the floor material |
|
||||||
|
| opacity | float (0–1) | ⚠️ (not in Unity) | Transparency of the floor material |
|
||||||
|
| grabable | `"true"` / `"false"` | ⚠️ | Whether the item can be grabbed in-experience (common to all types) |
|
||||||
|
|
||||||
|
### Special Notes:
|
||||||
|
The Floor uses `Plane` as its `resourcename`. The Creator type is `Floor`.
|
||||||
|
Has a collider and is a "Teleportation Area".
|
||||||
|
|
||||||
|
### Example:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
|
||||||
|
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0 },
|
||||||
|
"scale": { "x": 10, "y": 1, "z": 5.0 },
|
||||||
|
"type": "pre-defined",
|
||||||
|
"resourcename": "Plane",
|
||||||
|
"item-custom-args": [
|
||||||
|
{ "argument": "color", "value": "#cccccc" }
|
||||||
|
],
|
||||||
|
"item-custom-args-adv": null
|
||||||
|
}
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user