Scene クリップ
3D空間を表現するクリップタイプです。
1. 概要
Scene クリップは、3D空間内にカメラ、ライト、メッシュなどを配置して立体表現を行うためのコンテナです。OpenMotion の強力な 3D レンダリングエンジンを使用して、動的な 3D シーンを構築できます。
[!TIP]
Sceneクリップ自体にカラー補正やフィルターなどのエフェクトを適用することも可能です。エフェクトの詳細な仕様については、Adjustment クリップ を参照してください。
2. プロパティ構成
{
"id": 1,
"type": "Scene",
"start": 0,
"duration": 300,
"blendMode": "src-over",
"properties": {
"adjustments": [],
"position": [0, 0],
"scale": [1.0, 1.0],
"rotation": 0,
"opacity": 1.0,
"fps": 0.0,
"adjustments": [],
"objects": [
{
"id": 1,
"type": "Shape",
"objectType": "Box",
"label": "My Cube",
"enable": true,
"visibility": "normal",
"centerPoint": "center",
"transform": {
"position": [0, 0, 0],
"rotation": [0, 0, 0],
"scale": [1, 1, 1],
"rotationOrder": "XYZ"
},
"properties": { "size": [10, 10, 10] },
"material": {
"type": "singlecolor",
"properties": { "color": [1, 0, 0] }
}
}
]
}
}
3. オブジェクトの基本構造 (SceneObject)
シーンを構成する各要素の共通定義です。
3.1 共通プロパティ
オブジェクトの用途や性質に応じた共通プロパティの定義です。
3.1.1 基本プロパティ (全オブジェクト共通)
Camera, Light, Group, Shape 等、すべての要素が共通して持つプロパティです。
| プロパティ | 型 | 説明 |
|---|---|---|
id | number | オブジェクトの一意な識別子。 |
type | Type | 大まかなカテゴリ(Shape, Light, etc.)。 |
objectType | string | 具体的な種別(Box, Directional 等)。 |
label | string | エディタ上の表示名。 |
enable | boolean | オブジェクト自体の有効/無効。 |
parentId | number | 親オブジェクトの ID(親子関係の設定)。 |
delay | AnimatedValue | 親オブジェクトの動きに対する追従遅延(秒)。 |
rotationOrigin | string | 親の回転を継承する際の中継点 (local: 自身, parent: 親)。 |
scaleOrigin | string | 親の拡大を継承する際の中継点 (local: 自身, parent: 親)。 |
transform | Transform | 位置、回転、スケールの情報。 |
properties | object | 各種別固有のパラメータ。 |
3.1.2 描画プロパティ (描画オブジェクト専用)
Shape, Text, Model, Particles 等、3D空間に「実体」として描画されるオブジェクトのみが持つプロパティです。
| プロパティ | 型 | 説明 |
|---|---|---|
visibility | string | 表示設定 (normal, reflections only, scene + reflections)。 |
centerPoint | string | 変形の中心点(アンカーポイント)。 |
material | object | 表面の質感(マテリアル)の設定。 |
3.1.3 遅延追従 (Delayed Follow)
[!IMPORTANT]
delayプロパティを設定すると、そのオブジェクトは親オブジェクトの動き(位置・回転・スケール)に対して、指定した秒数分だけ「遅れて」追従するようになります。これはNullオブジェクトだけでなく、ShapeやLightなどすべてのオブジェクトで利用可能です。
3.2 トランスフォーム (Transform Object)
3D空間上の配置情報を管理する再利用可能なオブジェクトです。
| プロパティ | 型 | 説明 | デフォルト |
|---|---|---|---|
position | AnimatedValue[3] | [x, y, z] の座標。 | [0, 0, 0] |
rotation | AnimatedValue[3] | [x, y, z] の回転角(度)。 | [0, 0, 0] |
scale | AnimatedValue[3] | [x, y, z] の拡大率。 | [1, 1, 1] |
rotationOrder | string | 回転の適用順序 (XYZ, YXZ, ZXY 等)。 | XYZ |
3.3 カテゴリと種別 (objectType) 一覧
| カテゴリ (type) | 主な種別 (objectType) |
|---|---|
| Shape | Box, Cylinder, Rectangle, Circle, Sphere, Donut, Wire, Curve |
| Light | Spot, Point, Directional, Hemisphere |
| Text | (標準) |
| Particles | (標準) |
| Group | (標準) |
| Null | (標準) |
| Camera | Perspective, Orthographic |
| Model | (標準) |
4. オブジェクト詳細仕様
各オブジェクトは、3. オブジェクトの基本構造 で定義された共通プロパティ(enable, visibility, transform 等)をすべて含みます。ここでは、各種別固有の properties の内容について解説します。
4.1 Shape (形状)
4.1.1 Box
立方体または直方体。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
size | AnimatedValue[3] | [幅, 高さ, 奥行き] のサイズ。 |
4.1.2 Cylinder
円柱・円錐。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
size | AnimatedValue[3] | [上面半径, 底面半径, 高さ] のサイズ。 |
detail | number | 円周方向の分割数。 |
endFaces | string | 端面の状態 (closed, open)。 |
4.1.3 Rectangle
2D 矩形平面。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
size | AnimatedValue[2] | [幅, 高さ] のサイズ。 |
4.1.4 Circle
2D 円形平面。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
radius | AnimatedValue | 半径。 |
detail | number | 円周方向の分割数。 |
4.1.5 Sphere
球体。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
radius | AnimatedValue | 半径。 |
detail | number[2] | [水平方向, 垂直方向] の分割数。 |
4.1.6 Donut
トーラス(ドーナツ型)。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
size | AnimatedValue[2] | [全体の半径, 管の太さ] のサイズ。 |
detail | number[2] | [円環方向, 管方向] の分割数。 |
4.1.7 Wire
直線・コイル状の線。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
size | AnimatedValue[3] | [幅, 高さ, 奥行き] のサイズ。 |
thickness | AnimatedValue | 線の太さ。 |
loops | number | コイルの巻き数。 |
detail | number[2] | [分割数1, 分割数2]。 |
4.1.8 Curve
Cubic Bezier を使用した 3D 曲線。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
points | object[] | ベジェ曲線の制御点データ(座標とハンドル)。 |
detail | number | 曲線の分割数。 |
start | AnimatedValue | 描画開始地点 (0.0 - 1.0)。 |
end | AnimatedValue | 描画終了地点 (0.0 - 1.0)。 |
4.2 Light (光源)
シーンを照らすライト。以下のプロパティはすべてのライトで共通です。
Properties (共通):
| プロパティ | 型 | 説明 |
|---|---|---|
color | AnimatedValue[3] | 光の色(RGB)。 |
intensity | AnimatedValue | 光の強度。 |
4.2.1 Spot
円錐状に照らすスポットライト。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
target | AnimatedValue[3] | 照らす対象の座標 [x, y, z]。 |
angle | AnimatedValue | 照射角(度)。 |
[!TIP] 光源自体の位置は共通プロパティの
transform.positionを使用します。targetを指定することで、ライトの向きを自動的に制御できます。
4.2.2 Point
全方位を照らす点光源。固有のプロパティはなく、共通プロパティ(Color, Intensity)とトランスフォームで制御します。
4.2.3 Directional
特定の方向から平行に降り注ぐ光(太陽光や広範囲を照らす面光源)。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
target | AnimatedValue[3] | 照らす対象の座標 [x, y, z]。 |
4.2.4 Hemisphere
空と地面の色を模した半球状の環境光源。シーン全体に自然な陰影を与えます。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
skyColor | AnimatedValue[3] | 空(上方向)の色。 |
groundColor | AnimatedValue[3] | 地面(下方向)の色。 |
[!NOTE] ※ Hemisphere の場合、共通の
colorプロパティは全体の乗算色として機能します。通常はskyColorとgroundColorを使用します。
4.3 Text (テキスト)
3D空間に配置可能なテキスト。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
text | string | 表示する文字列。 |
font | string | フォント名またはアセット ID。 |
size | AnimatedValue[2] | [フォントサイズ, 押し出しの厚み]。 |
detail | number | 曲線の分割数。 |
bevel | boolean | ベベル(面取り)を有効にするか。 |
bevelSize | AnimatedValue[2] | [ベベルの厚み, ベベルのサイズ]。 |
4.4 Particles (パーティクル)
火花、煙、雪などのパーティクルシステム。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
time | AnimatedValue | パーティクルの経過時間。 |
color | Gradient | 寿命(Lifetime)に応じた色の変化。※ |
size | Gradient | 寿命に応じたサイズの変化。※ |
number | number | 最大パーティクル数。 |
emitterRate | number | 1秒あたりの放出量。 |
lifetime | number | 個々のパーティクルの寿命。 |
positionMode | string | 放出領域の形状 (box, sphere 等)。 |
positionSpread | number[3] | 放出位置のばらつき範囲。 |
speed | number[3] | 初速度。 |
speedSpread | number[3] | 速度のばらつき範囲。 |
gravity | number[3] | 重力加速度。 |
[!NOTE] ※
Gradient(グラデーション)オブジェクトのデータ構造については現在策定中です。今後のアップデートにより実装予定です。
4.5 Group (グループ)
複数のオブジェクトをまとめ、親子関係や共通のトランスフォームを適用するためのコンテナ。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
customProperties | object | ユーザー定義のカスタムパラメータ群。 |
[!TIP]
customPropertiesに定義した値は、グループ内の子オブジェクトのプロパティにおいて、エクスプレッション(数式)からgroup.customProperties.keyのように参照することができます。これにより、複数のオブジェクトを一つのコントロールで一括制御する「リグ(Rig)」を構築可能です。
4.6 Camera (カメラ)
シーンを撮影する視点。以下のプロパティはすべてのカメラで共通です。
Properties (共通):
| プロパティ | 型 | 説明 |
|---|---|---|
shakeAmount | AnimatedValue | 手ぶれの強さ。 |
shakeSpeed | AnimatedValue | 手ぶれの速さ。 |
shakeMode | string | 手ぶれの反映方式 (rotate, translate 等)。 |
amplitude | AnimatedValue[4] | 各軸(あるいは成分)の振幅。 |
frequency | AnimatedValue[4] | 各軸の周波数。 |
phase | AnimatedValue[4] | 各軸の位相(タイミングのずれ)。 |
noise | AnimatedValue[4] | ノイズの混入率。 |
smooth | number[4] | 動きの滑らかさ。 |
4.6.1 Perspective (遠近)
遠近感のある 3D レンダリング用のカメラ。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
fov | AnimatedValue | 視野角(Field of View)。 |
4.6.2 Orthographic (平行)
遠近感のない 2D 的なレンダリング用のカメラ。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
zoom | AnimatedValue | ズーム倍率。 |
4.7 Model (モデル)
glTF, GLB, OBJ 形式の外部モデル。
Properties (固有):
| プロパティ | 型 | 説明 |
|---|---|---|
assetId | string | 使用する 3D モデルアセットの ID。 |
animationIndex | number | 使用するアニメーションの番号。 |
animationTime | AnimatedValue | アニメーションの再生位置(秒)。 |
4.8 Null (ヌル)
描画されない不可視の制御用オブジェクト。主に他のオブジェクトの親として、構造を整理したり、複雑な動きをリグ(Rig)として管理するために使用します。
固有のパラメータはありません。共通プロパティの parentId や delay を活用して、システム上の補助的なハンドルとして機能します。
5. Material Object (マテリアル)
5.1 共通構造
| プロパティ | 型 | 説明 |
|---|---|---|
type | string | マテリアルの種別。 |
blending | BlendMode | 合成モード。詳細は 合成モード仕様 を参照。 |
side | string | 描画する面 (front, back, both)。 |
reflection | boolean | 環境反射の有効化。 |
properties | object | タイプ固有のパラメータ。 |
5.2 マテリアルタイプ一覧
singlecolor, image, video, custom, original
(詳細は各節を参照)
5.3 TextureMap Object
| プロパティ | 型 | 説明 |
|---|---|---|
assetId | string | 画像アセットの ID。 |
wrap | string | 折り返し (none, tile, reflect)。 |
repeat | AnimatedValue[2] | 繰り返し回数。 |
offset | AnimatedValue[2] | 位置のずれ。 |
center | AnimatedValue[2] | 変形の中心点。 |
rotation | AnimatedValue | 回転角。 |