Exemplo n.º 1
0
        private NwObject ConvertObject(ImportedObject obj)
        {
            var o = new NwObject();

            {
                o.Name        = obj.Name;
                o.Description = obj.Description;
                o.Version     = obj.Version;
                o.Editor      = obj.Editor;
                o.EditorURL   = obj.EditorURL;

                var texs = new List <NwTexture2D>();
                foreach (var t in obj.Textures)
                {
                    var bm = AssetConverter.ToNwTexture2D(t.SrcBitmap, t.Name);
                    texs.Add(bm);
                }

                var cubes = new List <NwCubemap>();

                var mats = new List <NwMaterial>();
                foreach (var m in obj.Materials)
                {
                    var mat = AssetConverter.ToNwMaterial(m, m.Name, ref texs, ref cubes);
                    mats.Add(mat);
                }
                o.Texture2Ds = texs.ToArray();
                o.Cubemaps   = cubes.ToArray();
                o.Materials  = mats.ToArray();

                if (obj.Bones != null)
                {
                    var bones = new List <NwBone>();

                    foreach (var b in obj.Bones)
                    {
                        var bone = AssetConverter.ToNwBone(b);
                        bones.Add(bone);
                    }
                    o.Bones = bones.ToArray();
                }


                o.Mesh = AssetConverter.ToNwMesh(obj.Meshes[0]);

                o.CollisionShape = new NwCollisionCapsule()
                {
                    Height = 1.6f,
                    Radius = 0.3f,
                };

                o.PhysicalMaterial = new NwPhysicalMaterial();
            }
            return(o);
        }
Exemplo n.º 2
0
        private NwCharacter ConvertCharacter(ImportedObject obj)
        {
            var c = new NwCharacter();

            {
                c.Name        = obj.Name;
                c.Description = obj.Description;
                c.Version     = obj.Version;
                c.Editor      = obj.Editor;
                c.EditorURL   = obj.EditorURL;

                var texs = new List <NwTexture2D>();
                foreach (var t in obj.Textures)
                {
                    var bm = AssetConverter.ToNwTexture2D(t.SrcBitmap, t.Name);
                    texs.Add(bm);
                }

                var cubes = new List <NwCubemap>();

                var mats = new List <NwMaterial>();
                foreach (var m in obj.Materials)
                {
                    var mat = AssetConverter.ToNwMaterial(m, m.Name, ref texs, ref cubes);
                    mats.Add(mat);
                }
                c.Texture2Ds = texs.ToArray();
                c.Cubemaps   = cubes.ToArray();
                c.Materials  = mats.ToArray();

                var bones = new List <NwBone>();
                foreach (var b in obj.Bones)
                {
                    var bone = AssetConverter.ToNwBone(b);
                    bones.Add(bone);
                }
                c.Bones = bones.ToArray();

                c.Mesh = AssetConverter.ToNwMesh(obj.Meshes[0]);

                c.CollisionShape = new NwCollisionCapsule()
                {
                    Height = 1.6f,
                    Radius = 0.3f,
                };

                c.Mass = 50.0f;
            }
            return(c);
        }
Exemplo n.º 3
0
        private byte[] ConvertCharacter(ImportedObject obj)
        {
            var ch = new NwCharacter();

            {
                ch.Name = obj.Name;

                var texs = new List <NwTexture2D>();
                foreach (var t in obj.Textures)
                {
                    var bm = AssetConverter.ToNwTexture2D(t.SrcBitmap, t.Name);
                    texs.Add(bm);
                }

                var cubes = new List <NwCubemap>();

                var mats = new List <NwMaterial>();
                foreach (var m in obj.Materials)
                {
                    var mat = AssetConverter.ToNwMaterial(m, m.Name, ref texs, ref cubes);
                    mats.Add(mat);
                }
                ch.Texture2Ds = texs.ToArray();
                ch.Cubemaps   = cubes.ToArray();
                ch.Materials  = mats.ToArray();

                var bones = new List <NwBone>();
                foreach (var b in obj.Bones)
                {
                    var bone = AssetConverter.ToNwBone(b);
                    bones.Add(bone);
                }
                ch.Bones = bones.ToArray();

                ch.Mesh = AssetConverter.ToNwMesh(obj.Meshes[0]);

                //ch.Height = 1.6f;
                //ch.WidthRadius = 0.3f;
                ch.EyePosition = new Vector3f(0.0f, 1.42f, 0.2f);
                ch.Mass        = 50.0f;
            }

            var json = Util.SerializeJson(ch);
            var comp = Util.Compress(Encoding.UTF8.GetBytes(json));

            return(comp);
        }