iOS で SceneKit を試す(Swift 3) その13 - Scene Editor での Utilities エリア
ひとまず、以前作成した scn ファイルを元に Utilities エリア を軽く確認してみる。 Utilities エリアには Source Editor や Interface Builder と同様に 上部にインスペクタと下部にライブラリと分けられている。
インスペクタ
Utilities には7つのタブがあり以下のもの
- File Inspector
- Quick Help
- Node Inspector
- Attributes Inspector
- Material Inspector
- Phyics Inspector
- Scene Inspector
File Inspector と Quick Help は Source Editor と変わらないので割愛、他の5つを見てみる。
以下、sphere のジオメトリを選択時の状態で説明
Node Inspector
ノードに関する属性を設定できる。
設定項目
- ノードの名前
- 位置、回転、拡大縮小、編集時の座標(world/local)
- 透過、表示・非表示、影の設定
- ノードの属性(ジオメトリ、カメラ、ライト、ボーンなど)
- アニメーション設定
- コンストレイント(制約)設定
Attributes Inspector
個々のオブジェクトで機能が異なるため今後個別に紹介。
Material Inspector
ジオメトリの質感を設定できる。
ジオメトリのみ設定可能で、Material Inspector でマテリアル設定を消しても初期値で表示される。
設定項目
- どのマテリアルを適応させるかのリスト
- マテリアルの名前
- シェーダーの種類(Constant, Lambert, Blinn, Phone, Physicaly Base)
- Diffuse
- Speculer
- Normal
- Reflective
- Transparent
- Occulusion
- Illumination
- Emission
- Multiply
- Ambient
- 透過と光沢、フレネルの設定
- マテリアルの見え方、ブレンド方法
- その他のオプション
Phyics Inspector
設定値は1つで、物理アニメーションで剛体の種類を決める (SCNPhysicsBody のイニシャライズでの type で指定していたもの)
種類 | 機能 |
---|---|
None | 物理アニメーションなし |
Static | 物理アニメーションの対象だが画面に留まる(アニメーションしないことが前提) |
Dynamic | 物理アニメーションの影響を受け、初期値の場合はコリジョン(障害物)がないとそのまま重力の影響を受けて落ちるつづける |
Kinematic | Static と同様だがアニメーションをしても物理アニメーションの影響を受ける |
Scene Inspector
シーン全体の設定を行う。 シーン全体であるため、どのノードを選択しても同じものが表示される。
- 背景設定
- フォグ(霧のように遠景がだんだん単色になる)
- 物理アニメーション設定
- シーンのアニメーションタイミング
ライブラリ
Template File、Code Snippet、Object、Media ライブラリがあるが、Scene Editor ではオブジェクトライブラリしか使えない。
以前の記事同様に Scene Editor にドラッグ&ドロップで追加できる。 (アクションは Secondly Editor の Actions に)
また、一部オブジェクトはコードでしか追加できない。
空のノード
名称 | 機能 |
---|---|
Empty Node | 空のノードを追加する。Scene Graph View 右下の「+」ボタンクリックと同様の振る舞い |
ライト
名称 | 機能 |
---|---|
Omni Light | 豆電球のような球状に発光するライト |
Direction Light | シーン上どこにおいても一定の向きで全体を照らす光るライト |
Spot Light | スポットライト |
Ambient Light | 場所に関係なく全体を照らすライト |
IES Light | IES ファイルを使用した実際のライトをシュミレートしたライト |
Light Probe | 物理ベースのライト。周りの色を光とする |
カメラ
名称 | 機能 |
---|---|
Camera | カメラ。現状カメラのタイプはこれのみで属性で設定する |
ジオメトリ
名称 | 機能 |
---|---|
Plane | 平面のジオメトリ |
Box | 立方体のジオメトリ |
Sphere | 球のジオメトリ |
Geosphere | 均一に参画ポリゴンが配置された球のジオメトリ |
Pyramid | 三角錐のジオメトリ |
Cylinder | 円柱のジオメトリ |
Cone | 円錐のジオメトリ |
Tube | チューブ状のジオメトリ |
Capsule | カプセル状のジオメトリ |
Torus | ドーナツ状のジオメトリ |
Floor | 無限の大きさを持つ平面のジオメトリ |
3D Text | 3D 文字を作成するジオメトリ |
物理フィールド(力場)
名称 | 機能 |
---|---|
Drag Field | 空気抵抗を与える物理フィールド |
Vortex Field | 渦状の物理フィールド |
Radial Gravity Field | 放射状に重力を与える物理フィールド |
Linear Gravity Field | 1方向に重力を与える物理フィールド |
Noise Field | ノイズを与える物理フィールド |
Turbulence Field | 乱流の物理フィールド |
Spring Field | 中心地からバネのように操作する物理フィールド |
Electric Field | 電気的な振る舞いをもたらす物理フィールド |
Magnetic Field | 磁気的な振る舞いをもたらす物理フィールド |
パーティクル
名称 | 機能 |
---|---|
Particle System | パーティクルのエミッターを設定する。Scene Editor 上ではエミッターの透過は可能だが、振る舞いによって出現させたり、削除したりはできない。 |
アクション
名称 | 機能 |
---|---|
Move Action | 指定した値分移動(ループすると移動し続ける) |
MoveTo Action | 指定の場所まで移動 |
Scale Action | 指定した値分拡大 |
ScaleTo Action | 指定の大きさまで拡大縮小 |
Rotate Action | 指定した値分回転 |
RotateTo Action | 指定の角度まで回転 |
RotateTo Action (shortest) | 指定の角度まで回転(少ない角度で行う場合) |
RotateBy Axis Angle Action | XYZ軸の1つまたは複数を指定し Radian の値分回転 |
RotateTo Axis Angle Action | XYZ軸の1つまたは複数を指定し Radian の角度まで回転 |
FadeOut Action | フェードアウト |
FadeIn Action | フェードイン |
FadeOpacityTo Action | フェードの値を決めてアニメーションさせる |
今回はここまで。