示例#1
0
        protected override void LoadContent()
        {
#if USE_KINECT
            _kinectChooser.LoadContent();
#endif

            PrefabRepository.Instance.RegisterPrefab("Robot", RobotPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("DamagedRobot1", DamagedRobot1Prefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Crate", CratePrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Mesh", SimpleMeshPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Camera", CameraPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab(MenuCubePrefab.PrefabName, MenuCubePrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Button", ButtonPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Floor", FloorPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Wall", WallPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("LiftedDoor", LiftedDoorPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Trigger", TriggerPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Saf", SafPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("FloorBridge", FloorBridgePrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("UpgradePlatform", UpgradePlatformPrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("Pipe", PipePrefab.CreatePrefab());
            PrefabRepository.Instance.RegisterPrefab("SafCollectible", SafCollectiblePrefab.CreatePrefab());

            PrefabRepository.Instance.RegisterPrefab("WallBackground", SimpleMeshPrefab.CreatePrefab("models/quad", "WallMaterial", "wall-node"));
            PrefabRepository.Instance.RegisterPrefab("WallMenu", SimpleMeshPrefab.CreatePrefab("models/quad", "WallMenuMaterial", "wall-node-2"));
            PrefabRepository.Instance.RegisterPrefab("WallMenu2", SimpleMeshPrefab.CreatePrefab("models/quad", "WallMenuMaterial2", "wall-node-3"));

            MaterialRepository.Instance.RegisterMaterial("MenuCubeMaterial", args => MenuCubeMaterial.CreateMaterial(args));
            MaterialRepository.Instance.RegisterMaterial("SafMaterial", args => SafMaterial.CreateMaterial());
            MaterialRepository.Instance.RegisterMaterial("HighlightMaterial", args => HighlightMaterial.CreateMaterial());

            // Unlit materials for style2.0
            MaterialRepository.Instance.RegisterMaterial("ButtonMaterial", args => TexturedMaterial.CreateMaterial("color_button"));
            MaterialRepository.Instance.RegisterMaterial("RobotMaterial", args => TexturedMaterial.CreateMaterial("color_robo"));
            MaterialRepository.Instance.RegisterMaterial("UPlatformMaterial", args => TexturedMaterial.CreateMaterial("color_uplatform"));
            MaterialRepository.Instance.RegisterMaterial("CrateMaterial", args => TexturedMaterial.CreateMaterial("color_crate"));
            MaterialRepository.Instance.RegisterMaterial("CelShadingMaterial", args => TexturedMaterial.CreateMaterial("color_crate"));
            MaterialRepository.Instance.RegisterMaterial("InnerDoorMaterial", args => TexturedMaterial.CreateMaterial("color_door_inner"));
            MaterialRepository.Instance.RegisterMaterial("OuterDoorMaterial", args => TexturedMaterial.CreateMaterial("color_door_outer"));
            MaterialRepository.Instance.RegisterMaterial("WallMaterial", args => TexturedMaterial.CreateMaterial("empty_gray"));
            MaterialRepository.Instance.RegisterMaterial("TileMaterial", args => TexturedMaterial.CreateMaterial("empty_dark_gray"));
            MaterialRepository.Instance.RegisterMaterial("FloorBridgeMaterial", args => TexturedMaterial.CreateMaterial("color_bridge"));
            MaterialRepository.Instance.RegisterMaterial("PipeMaterial", args => TexturedMaterial.CreateMaterial("color_pipe"));
            MaterialRepository.Instance.RegisterMaterial("PowerupSphereMaterial", args => TexturedMaterial.CreateMaterial("empty_dark_gray"));
        }
示例#2
0
        public static Model FromFile(string name)
        {
            string path = modelsPath + name + '/';

            ExtendedMaterial[] materials;
            Mesh mesh = Mesh.FromFile(path + name + ".x", MeshFlags.Managed, RenderDrawing.device, out materials);

            TexturedMaterial[] textured = new TexturedMaterial[materials.Length];
            for (int i = 0; i < materials.Length; i++)
            {
                Texture tex = null;
                if (!string.IsNullOrEmpty(materials[i].TextureFilename))
                {
                    tex = TextureLoader.FromFile(RenderDrawing.device, path + materials [i].TextureFilename);
                }
                textured [i] = new TexturedMaterial(materials [i].Material3D, tex);
            }
            return(new Model(mesh, textured));
        }
示例#3
0
 public PmxModel CreateModel([NotNull] CompositeAvatar combinedAvatar, [NotNull] CompositeMesh combinedMesh, int bodyMeshVertexCount,
                             [NotNull] SwayController bodySway, [NotNull] SwayController headSway,
                             [NotNull] ConversionDetails details, out (string FileName, TexturedMaterial Material)[] materialList)