My friend @lobrien (whose blog you should read if you don’t already) was asking about loading Collada files in Scene Kit, so I whipped up a quick example:
SCNScene scene;
SCNView sceneView;
SCNCamera camera;
SCNNode cameraNode;
public override void ViewDidLoad ()
{
scene = SCNScene.FromFile ("duck", "ColladaModels.scnassets", new SCNSceneLoadingOptions ());
sceneView = new SCNView (UIScreen.MainScreen.Bounds);
sceneView.AutoresizingMask = UIViewAutoresizing.All;
sceneView.Scene = scene;
camera = new SCNCamera { XFov = 40, YFov = 40 };
cameraNode = new SCNNode { Camera = camera, Position = new SCNVector3 (0, 0, 40) };
scene.RootNode.AddChildNode (cameraNode);
View.AddSubview (sceneView);
}
In the Xamarin Studio solution pad, the folder containing the Collada file has a .scnassets suffix, and the model has a build action of SceneKitAsset:
Given this, the model is rendered as shown below:
There’s also a Collada build action as well. I’ve never used that option though. If someone wants to elaborate on what that does (perhaps supporting animations embedded in Collada files? just a guess) please add a comment here.
One thought on “Load a Collada File in Scene Kit”