次の方法で共有


SceneKit 名前空間

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

クラス

_SCNShaderModifiers

シェーダー スニペットのディクショナリ。

SCNAccelerationConstraint

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNAction

外観、ジオメトリ、アニメーション、または任意の関数の変更を含む、 に対 SCNNodeしてアクションを実行します。

SCNActionable

アクションの適用を許可します。

SCNActionable_Extensions

プロトコルからSCNActionableのすべてのメソッドをISCNActionableサポートする インターフェイスへの拡張メソッド。

SCNAnimatable

アニメーションの適用を許可します。

SCNAnimatable_Extensions

プロトコルからSCNAnimatableのすべてのメソッドをISCNAnimatableサポートする インターフェイスへの拡張メソッド。

SCNAnimatableExtensions

ISCNAnimatable の拡張メソッド。

SCNAnimation

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNAnimationEvent

アニメーション中に特定の時刻に関数を実行します。

SCNAnimationPlayer

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNAudioPlayer

位置指定 SCNAudioSource オーディオで使用する または AVAudioNode を保持します。

SCNAudioSource

SceneKit シーン内の位置指定オーディオ用の再利用可能なオーディオ ソース。

SCNAvoidOccluderConstraint

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNAvoidOccluderConstraintDelegate

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNAvoidOccluderConstraintDelegate_Extensions

プロトコルからSCNAvoidOccluderConstraintDelegateのすべてのメソッドをISCNAvoidOccluderConstraintDelegateサポートする インターフェイスへの拡張メソッド。

SCNBillboardConstraint

を自動的に制約 SCNNode して、常に現在のレンダリング ノードを指します。

SCNBoundingVolume

3D 空間でボリュームを定義する関数。

SCNBox

SCNGeometry顔がすべて四角形である 。

SCNCamera

視野や奥行きなどの属性を持つカメラを指定します。

SCNCameraController

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNCameraControllerDelegate

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNCameraControllerDelegate_Extensions

プロトコルからSCNCameraControllerDelegateのすべてのメソッドをISCNCameraControllerDelegateサポートする インターフェイスへの拡張メソッド。

SCNCapsule

SCNGeometryキャップ付き端を持つ円柱である 。

SCNCone

SCNGeometry円錐台である 。 または、パーティーハット。

SCNConstraint

ノードの変換を自動的に調整します。

SCNCylinder

SCNGeometry右の円形円柱である 。

SCNDistanceConstraint

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNErrorCodeExtensions

SceneKit.SCNErrorCode 列挙の拡張メソッド。

SCNFloor

SCNGeometry無限平面である 。

SCNGeometry

SceneKit geometry オブジェクトの基本クラス

SCNGeometryElement

頂点と描画プリミティブに関する情報を結合します。 GPU に送信された 1 つの描画コマンドにマップされます。

SCNGeometrySource

SCNGeometryElements と組み合わせて 3D オブジェクトを定義する頂点データを提供します。

SCNGeometrySourceSemantic

頂点モード属性を列挙します。

SCNGeometryTessellator

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNHitTest

の引数HitTest(SCNVector3, SCNVector3, SCNHitTestOptions)で使用するoptions定数。

SCNHitTestOptions

SCNNode および SCNSceneRenderer でのヒット テストの構成オプション

SCNHitTestResult

特定のポイントまたはレイに沿って配置された SCNNode (存在する場合) に関する情報。

SCNIKConstraint

SCNConstraint逆運動学を適用する 。

SCNJavaScript

JavaScript モジュールをエクスポートするメソッドを含む静的クラス。

SCNLayer

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNLevelOfDetail

ワールド空間または画面空間のしきい値でレンダリングされる代替ジオメトリを制御します。

SCNLight

すべての SCNLightTypes に使用される光源。

SCNLightAttribute

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNLightingModel

SceneKit.SCNMaterial.LightingModel プロパティで使用する定数。これは、ライトとマテリアルを組み合わせて特定のレンダリングされた色を生成する方法を定義します。

SCNLightType

の型 SCNLightを列挙します。

SCNLookAtConstraint

SCNConstraint別のノードを指すノードの向きを指定する 。

SCNMaterial

SCNGeometry のサーフェスの照明特性とシェーディング特性を指定します。

SCNMaterialProperty

のさまざまなプロパティ (色やテクスチャなど) SCNMaterialを構成します。

SCNMorpher

1 つ以上のターゲット SCNGeometry オブジェクトへの SCNGeometry のアニメーション変換。

SCNNode

シーン グラフ内のノード。

SCNNodeRendererDelegate

カスタム OpenGL 描画コードを追加するためのデリゲート オブジェクト関数を定義するインターフェイス。

SCNNodeRendererDelegate_Extensions

プロトコルからSCNNodeRendererDelegateのすべてのメソッドをISCNNodeRendererDelegateサポートする インターフェイスへの拡張メソッド。

SCNParticleProperty

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNParticlePropertyController

SCNParticleSystem によって放出されるパーティクルのプロパティをアニメーション化します。

SCNParticleSystem

開発者が指定した動作の小さなスプライトを出力します。

SCNPhysicsBallSocketJoint

2 つの SCNPhysicsBody オブジェクトが互いに回転できるようにする SCNPhysicsBehavior。

SCNPhysicsBehavior

1 つ以上の SCNPhysicsBody オブジェクトの動作を制御します。

SCNPhysicsBody

物理シミュレーションを SCNNode に追加します。

SCNPhysicsConeTwistJoint

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNPhysicsContact

2 つの SCNPhysicsBody オブジェクトが互いに接触する方法。

SCNPhysicsContactDelegate

オブジェクト間 SCNPhysicsBody のタッチに応答するデリゲート オブジェクト関数..

SCNPhysicsContactDelegate_Extensions

プロトコルからSCNPhysicsContactDelegateのすべてのメソッドをISCNPhysicsContactDelegateサポートする インターフェイスへの拡張メソッド。

SCNPhysicsContactEventArgs

E:SceneKit.SCNPhysicsContactEventArgs.DidEndContact:SceneKit.SCNPhysicsContactEventArgs.DidUpdateContact イベントのデータDidUpdateContactを提供します。

SCNPhysicsField

特定のボリューム内のすべての SCNPhysicsBody オブジェクトに強制を適用します。

SCNPhysicsHingeJoint

1 つの軸に沿って 2 つの SCNPhysicsBody オブジェクトをアタッチする SCNPhysicsBehavior。

SCNPhysicsShape

SCNPhysicsBody のソリッド ボリューム。 衝突検出で使用されます。

SCNPhysicsShapeOptions

SceneKit.SCNPhysicsShape.Create* で使用されるディクショナリの有効なキーoptions

SCNPhysicsShapeOptionsKeys

に渡されるディクショナリでoptions使用する有効なキーを定義します。

SCNPhysicsShapeOptionsTypes

に関連付 SCNPhysicsShapeけられた幾何学的な型。

SCNPhysicsSliderJoint

2 つの SCNPhysicsBody オブジェクトを接続する SCNPhysicsBehavior を使用すると、それらのオブジェクトをスライドさせて、接続ポイントの周りを回転できます。

SCNPhysicsTest

M:SceneKit.SCNPhysicsWorld.ContactTest* で使用するための有効なオプション。

SCNPhysicsTestKeys

検索、バックフェイス カリング、衝突テストを制御する値が含まれます。

SCNPhysicsTestSearchModeKeys

返される競合の検索結果を制御する値を列挙します。

SCNPhysicsVehicle

車輪付き車両の物理学をシミュレートする SCNPhysicsBehavior。

SCNPhysicsVehicleWheel

SCNPhysicsVehicle 上のホイールの外観と物理的特性。

SCNPhysicsWorld

SCNScene 内の衝突やその他の物理関連プロパティをモデル化する物理シミュレーション。

SCNPlane

SCNGeometry四角形の片面有限平面である 。

SCNProgram

OpenGL シェーディング言語で記述されたシェーダーを使用してカスタム レンダリングを実行します。

SCNProgramDelegate

SCNProgram オブジェクトのデリゲート オブジェクト。

SCNProgramDelegate_Extensions

プロトコルからSCNProgramDelegateのすべてのメソッドをISCNProgramDelegateサポートする インターフェイスへの拡張メソッド。

SCNProgramSemanticOptions

SetSemantic(NSString, String, SCNProgramSemanticOptions)使用する をMappingChannel定義します。

SCNPropertyControllers

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNPyramid

SCNGeometry右四角形のピラミッドである 。

SCNReferenceNode

SCNNodeシーン ファイルからコンテンツを読み込む 。

SCNRenderer

SCNScene を OpenGL コンテキストにレンダリングします。

SCNRenderingArguments

SetSemantic(NSString, String, SCNProgramSemanticOptions)で使用するキーをRender(SCNNode, SCNRenderer, NSDictionary)定義します。

SCNRenderingOptions

DictionaryContainerをインスタンス化するときに を定義optionsする SCNView

SCNReplicatorConstraint

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNScene

3D シーンの最上位の説明。

SCNSceneExportDelegate

ファイルへのシーンのエクスポートを処理するメソッドを定義するプロトコル。

SCNSceneExportDelegate_Extensions

プロトコルからSCNSceneExportDelegateのすべてのメソッドをISCNSceneExportDelegateサポートする インターフェイスへの拡張メソッド。

SCNSceneLoadingOptions

シーン読み込みのオプション。

SCNSceneRenderer

インターフェイスの ISCNSceneRenderer 実装クラス。

SCNSceneRenderer_Extensions

プロトコルからSCNSceneRendererのすべてのメソッドをISCNSceneRendererサポートする インターフェイスへの拡張メソッド。

SCNSceneRendererDelegate

SCNRenderer クラスのデリゲート オブジェクトは、レンダリング イベントを反映するメソッドを定義します。

SCNSceneRendererDelegate_Extensions

プロトコルからSCNSceneRendererDelegateのすべてのメソッドをISCNSceneRendererDelegateサポートする インターフェイスへの拡張メソッド。

SCNSceneSource

ファイルまたは NSData オブジェクトからシーン定義データを読み取ります。

SCNSceneSourceLoadErrors

の読み込み SCNSceneSource中に発生する可能性があるエラーの種類を列挙します。

SCNSceneSourceLoading

SCNScene オブジェクトを作成および読み込むオプション。

SCNSceneSourceProperties

シーン ファイルに関連付けられているメタデータ キー。 GetProperty(NSString) で使用されます。

SCNShadable

ISCNShadable の実装です。

SCNShadable_Extensions

プロトコルからSCNShadableのすべてのメソッドをISCNShadableサポートする インターフェイスへの拡張メソッド。

SCNShaderModifiers

DictionaryContainerシェーダーのオプションを含む 。

SCNShape

SCNGeometry 2D パスから作成され、必要に応じて 3 つのディメンションに押し出されます。

SCNSkinner

スケルトン アニメーションをサポートしてシーン グラフにアクセスします。

SCNSliderConstraint

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNSphere

SCNGeometry球である 。

SCNTechnique

シェーダーを適用する追加の描画パスを提供します。

SCNTechniqueSupport

ISCNTechniqueSupportの実装では、 へのSCNTechnique参照を保持するだけです。

SCNText

文字列に基づく 。 SCNGeometry 必要に応じて 3 つの次元に押し出されます。

SCNTimingFunction

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNTorus

SCNGeometryリング状のソリッドである 。

SCNTransaction

一連の変更をアトミックに適用できるようにします。

SCNTransformConstraint

SCNConstraintノードまたはノードへの変換 (位置、回転、スケール) の変更を指定する関数を実行する 。

SCNTube

SCNGeometry中心軸に沿って穴がある円柱である 。

SCNView

UIViewをレンダリングする SCNScene

SCNView.SCNViewAppearance

SCNViewのオブジェクトの外観クラス。

構造体

SCNMatrix4

4 x 4 行列。

SCNQuaternion

四元数を表し、それらを操作するメソッドを含みます。

SCNVector3

3 成分ベクトル。

SCNVector4

4 成分ベクトル。

インターフェイス

ISCNActionable

プロトコル SCNActionableの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNAnimatable

プロトコル SCNAnimatableの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNAnimationProtocol

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

ISCNAvoidOccluderConstraintDelegate

プロトコル SCNAvoidOccluderConstraintDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNBoundingVolume

プロトコル SCNBoundingVolumeの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNBufferStream

カスタム シェーダーのメタル バッファーを管理するためのインターフェイス。

ISCNCameraControlConfiguration

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

ISCNCameraControllerDelegate

プロトコル SCNCameraControllerDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNNodeRendererDelegate

プロトコル SCNNodeRendererDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNPhysicsContactDelegate

プロトコル SCNPhysicsContactDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNProgramDelegate

プロトコル SCNProgramDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNSceneExportDelegate

プロトコル SCNSceneExportDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNSceneRenderer

プロトコル SCNSceneRendererの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNSceneRendererDelegate

プロトコル SCNSceneRendererDelegateの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNShadable

プロトコル SCNShadableの必要なメソッド (存在する場合) を表すインターフェイス。

ISCNTechniqueSupport

プロトコル SCNTechniqueSupportの必要なメソッド (存在する場合) を表すインターフェイス。

列挙型

SCNActionTimingMode

オブジェクトで使用するレート曲線を SCNAction 列挙します。

SCNAnimationImportPolicy

アニメーション インポート ポリシーを列挙します。

SCNAntialiasingMode

アンチエイリアシング動作を制御する値を列挙します。

SCNBillboardAxis

によって SCNBillboardConstraint制約されたノードで使用できる軸のロックの列挙。

SCNBlendMode

SceneKit がレンダー ターゲットに既に存在する色を持つマテリアルの色をブレンドする方法の列挙。

SCNBufferFrequency

フレームごと、フレームごとのノードごと、またはシェーディングされたレンダリング可能なフレームごとのノードごとにハンドラーを呼び出すかどうかを制御する値を列挙します。

SCNCameraProjectionDirection

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNChamferMode

を面取りする方法 SCNShape (前面、背面、または両側) を列挙します。

SCNColorMask

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNCullMode

サーフェス SCNMaterial のどの面をレンダリングするかを決定する列挙。

SCNDebugOptions

デバッグ オーバーレイ オプションを列挙します。

SCNErrorCode

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNFillMode

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNFilterMode

テクスチャ フィルタリング モードの列挙。

SCNGeometryPrimitiveType

2D ジオメトリ プリミティブの列挙。

SCNGeometrySourceSemantics

ジオメトリ データのセマンティクスを列挙します。

SCNHitTestSearchMode

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNInteractionMode

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNMorpherCalculationMode

の有効な補間式の CalculationMode列挙。

SCNMovabilityHint

ノードが時間の経過と同時に移動することが予想されるかどうかを SceneKit に通知する値を列挙します。

SCNNodeFocusBehavior

のフォーカス可能な状態を SCNNode列挙します。

SCNParticleBirthDirection

によって放出されるパーティクルの初期方向を SCNParticleSystem列挙します。

SCNParticleBirthLocation

によって放出されるパーティクルの初期位置の SCNParticleSystem列挙。

SCNParticleBlendMode

によって出力される重なり合うパーティクルをレンダリングする方法の SCNParticleSystem 列挙。

SCNParticleEvent

によって出力されるパーティクルのライフサイクル イベントの SCNParticleSystem列挙。 HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler) で使用されます。

SCNParticleImageSequenceAnimationMode

パーティクルがイメージのシーケンスとしてレンダリングされる の再生モード SCNParticleSystemの列挙。

SCNParticleInputMode

パーティクル プロパティのアニメーション化方法を列挙します (パーティクルの有効期間中、パーティクルが遠くを移動するとき、または別のプロパティに基づく場合)。 InputMode で使用されます。

SCNParticleModifierStage

AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler) 指定された修飾子を適用する必要がある瞬間を列挙します。

SCNParticleOrientationMode

によって出力されるパーティクルの配置を SCNParticleSystem列挙します。 OrientationMode で使用されます。

SCNParticleSortingMode

によって放出されるパーティクルのレンダリング順序を指定する列挙。

SCNPhysicsBodyType

が動的、キネマティクス、静的のいずれであるかを SCNPhysicsBody 指定する列挙体。 CreateBody(SCNPhysicsBodyType, SCNPhysicsShape) で使用されます。

SCNPhysicsCollisionCategory

の衝突プロパティの SCNPhysicsBody既定値です。

SCNPhysicsFieldScope

が境界線の内側または外側のオブジェクトに SCNPhysicsField 影響を与えるかどうかを指定する値を列挙します。

SCNPhysicsSearchMode

返される物理検索結果を制御する値を列挙します。

SCNPhysicsShapeType

のカテゴリの SCNPhysicsShape列挙。

SCNReferenceLoadingPolicy

オブジェクトに対して可能な読み込みポリシーを SCNReferenceNode 列挙します。

SCNRenderingApi

Metal または OpenGLES2 API を示す値を列挙します。

SCNSceneSourceStatus

SCNSceneSource の状態を列挙します。

SCNShadowMode

シャドウの計算時に制御する列挙。

SCNTessellationSmoothingMode

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNTransparencyMode

透過性を計算するための手法を列挙します。

SCNWrapMode

テクスチャ ラッピング手法を列挙します。

代理人

SCNActionNodeWithElapsedTimeHandler

CustomAction(Double, SCNActionNodeWithElapsedTimeHandler)使用される完了ハンドラー。

SCNAnimationDidStartHandler

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNAnimationDidStopHandler

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNAnimationEventHandler

Create(nfloat, SCNAnimationEventHandler)使用する完了ハンドラー。

SCNBindingHandler

HandleBinding(String, SCNBindingHandler)使用される完了ハンドラー。

SCNBufferBindingHandler

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNFieldForceEvaluator

メソッドの CustomField(SCNFieldForceEvaluator) デリゲート。

SCNNodeHandler

SceneKit 名前空間は、高レベルのシーン グラフ ベースの 3D グラフィックスを提供します。

SCNNodePredicate

と共 EnumerateChildNodes(SCNNodePredicate)に使用するためのデリゲート。

SCNParticleEventHandler

HandleEvent(SCNParticleEvent, NSString[], SCNParticleEventHandler)使用する完了ハンドラー。

SCNParticleModifierHandler

AddModifier(NSString[], SCNParticleModifierStage, SCNParticleModifierHandler)として使用されるhandlerデリゲート。

SCNSceneExportProgressHandler

シーンをエクスポートするときに SceneKit が繰り返し呼び出す継続ハンドラー。

SCNSceneSourceFilter

シーン内のオブジェクトを含めるテストを委任します。

SCNSceneSourceStatusHandler

の実行中 SceneFromOptions(SCNSceneLoadingOptions, SCNSceneSourceStatusHandler)の進行状況を反映するために使用されるコールバック。

SCNTransformConstraintHandler

への Create(Boolean, SCNTransformConstraintHandler)呼び出しで使用されるデリゲート。

注釈

Scene Kit は、階層的なシーン グラフに基づく 3D グラフィックス用のフレームワークです。

Scene Kit の基本的なクラスは、 SCNSceneすべてのコンテンツを保持する です。 T:CoreGraphics.SceneKit.SCNView は、 UIViewSCNSceneレンダリングする です。

には SCNSceneRootNode 型の プロパティがあります SCNNodeSCNNodeP:SceneKit.SCNNode.ChildNodes を持ち、 を実装 System.Collections.Generic.IEnumerable`1<class MonoTouch.SceneKit.SCNNode>します。 のSCNNodeプロパティには、 型、 型、 型GeometrySCNCameraの 、 型LightSCNGeometryの 、 型の が含まれますCameraSCNLight

さらに、すべての SCNNode プロパティにはPosition、 と と P:SceneKit.SCNNode.MaterialsP:SceneKit.SCNNode.Materials P:SceneKit.SCNNode.Materials に対する相対的SCNNodeParentNodeな空間内の位置を定義する プロパティがあります。SCNNode

次の例は、最小限のシーン キット ビューを示しています。

public MySceneView (RectangleF frame) : base(frame)
{
	BackgroundColor = UIColor.Blue;
	this.Scene = new SCNScene ();

	var material = new SCNMaterial ();
	material.Diffuse.Contents = UIImage.FromFile("textureX.png");
	material.Specular.Contents = UIColor.Gray;
	material.LocksAmbientWithDiffuse = true;

	Scene.RootNode.Geometry = new SCNBox {
		Width = 1,
		Height = 1,
		Length = 1,
		ChamferRadius = 0.2f,
		FirstMaterial = material
	};

	Scene.RootNode.Light = new SCNLight {
		LightType = SCNLightType.Ambient,
		Color = UIColor.Gray,
	};

	var camera = new SCNCamera ();
	var cameraNode = new SCNNode () {
		Camera = camera,
		Position = new SCNVector3 (3, 3, 3),
		Constraints = new SCNConstraint[] { SCNLookAtConstraint.Create(Scene.RootNode) }
	};
	Scene.RootNode.AddChildNode (cameraNode);
}          

ジオメトリ

SceneKit のすべてのジオメトリは、 の SCNGeometryサブクラスによって記述されます。

SCNCapsule 調節可能なエンド キャップが付いている丸薬形カプセル
SCNCone 上部を切り捨てることができる円錐
SCNBox 四角形のボックス。
SCNCylinder 円柱。
SCNFloor その上のジオメトリを反映する機能を持つ無限平面。
SCNPlane 片側の四角形。
SCNPyramid 四面体。
SCNShape 3 番目の次元に押し出された 2D 図形。
SCNSphere ボール。
SCNText 押し出しテキスト。
SCNTorus ドーナツ図形。
SCNTube 適用されていない円柱。

さらに、SceneKit は からシーン全体を読み込むことができます。メソッドを使用した FromFile DAE ファイル。

最後に、開発者は M:SceneKit.SCNGeometry.Create(SceneKit.SCNGeometrySource[], SceneKit.SCNGeometryElement[]* メソッドを使用して、適切な SCNGeometrySource オブジェクトと SCNGeometryElement オブジェクトの配列を使用してカスタム ジオメトリを作成できます。 カスタム ピラミッドの作成を次に示します。

//Lower-left
var a = new SCNVector3(-1, -1, 0);
//Upper-right
var b = new SCNVector3(1, 1, 0);

var halfX = (c.X + a.X) / 2;
var halfY = (c.Y + a.Y) / 2;
var halfZ = (c.Z + a.Z) / 2;

var b = new SCNVector3(a.X, c.Y, halfZ);
var d = new SCNVector3(c.X, a.Y, halfZ);
//Elevate the midpoint so that it's clearly a pyramid
var midPoint = new SCNVector3(halfX, halfY, halfZ + 1.0);

//The vertices of the geometry
var locs = new [] {
	a, b, c, d, midPoint
};
var locSource = SCNGeometrySource.FromVertices(locs);

//Note that this relies on the ordering of locs above
//and it defines triangles (could be triangle strips, etc.)
var indices = new [] {
	//Triangles are defined counter-clockwise!
	4, 1, 0,
	1, 4, 2,
	2, 4, 3,
	3, 4, 0
};


var idxArray = new byte[indices.Length][];
for(int i = 0; i < idxArray.Length; i++)
{
	idxArray[i] = BitConverter.GetBytes(indices[i]);
}
var idxData = NSData.FromArray(idxArray.SelectMany(id => id).ToArray());

//Note that this relies on indices defining triangles
var element = SCNGeometryElement.FromData(idxData, SCNGeometryPrimitiveType.Triangles, indices.Length / 3, sizeof(int));

//Normals are relative to geometry
var normals = new [] {
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
	new SCNVector3(0, 0, 1),
};;
var normSource = SCNGeometrySource.FromNormals(normals);

//These texture coords will cause the texture to wrap 
var txCoords = new [] {
	new CGPoint(-1, -1),
	new CGPoint(-1, 1),
	new CGPoint(1, 1),
	new CGPoint(1, -1)
};

var txCoordsSource = SCNGeometrySource.FromTextureCoordinates(txCoords);

var geometry = SCNGeometry.Create(new [] { locSource, normSource, txCoordsSource }, new [] { element });