public void OnLoad(object sender, EventArgs e) { var groundModel = GltfImporter.Load("./Resources/Models/test_1.gltf"); var playerModel = GltfImporter.Load("./Resources/Models/postpose.gltf"); var pineTreeModel = GltfImporter.Load("./Resources/Models/pine_tree_1.gltf"); foreach (var mesh in playerModel.Meshes) { mesh.Material = new BasicShadedColoredMaterial(); } foreach (var mesh in pineTreeModel.Meshes) { mesh.Material = new BasicShadedColoredMaterial(); } var groundMaterial = new BasicShadedMaterial() { Color = new Vector3(1, 1, 1) }; foreach (var mesh in groundModel.Meshes) { mesh.Material = groundMaterial; } var ground = new GameObject(); ground.AddComponent(new ModelComponent() { Model = groundModel }); var groundShape = new ModelShape(groundModel); ground.AddComponent(new PhysicsComponent() { RigidBody = new RigidBody(groundShape.Shape) { IsStatic = true, AllowDeactivation = false } }); var player = new GameObject(); var playerShape = new ModelShape(playerModel); var pineTree = new GameObject(); pineTree.AddComponent(new ModelComponent() { Model = pineTreeModel }); pineTree.Transform.Position = new Vector3(80, 73, 100); pineTree.Transform.Scale = new Vector3(4, 4, 4); player.AddComponent(new ModelComponent { Model = playerModel }); player.AddComponent(new PhysicsComponent { RigidBody = new RigidBody(new BoxShape(1f, 0.5f, 1)) { AffectedByGravity = true, AllowDeactivation = false } }); player.AddComponent(new MonkeyComponent()); player.Transform.Position = new Vector3(145.0654f, 100.74099f, 173.0334f); player.Transform.Rotation = new Vector3(215.9143f, 0f, 0f); var camera = WindowManager.Scene.ActiveCamera; camera.AddComponent(new FollowCameraComponent() { FollowGameObject = player }); /* * camera.AddComponent(new FreelookCameraComponent() * { * FollowGameObject = player * }); * * camera.Transform.Position = new Vector3(154.0654f, 80.74099f, 185.0334f); * camera.Transform.Rotation = new Vector3(224.9143f, -2.557277f, 0f); */ }
public override void Import(FullModelData data, string path, bool createModels, Func <string, Sections.Object3D> parentFinder, IOptionReceiver options) => GltfImporter.Import(data, path, createModels, parentFinder, options);