private byte[] ConvertWorld(ImportedObject obj) { var world = new NwWorld(); { 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>(); cubes.Add(AssetConverter.ToNwTextureCube(new Bitmap[] { Resources.posx2, Resources.posy2, Resources.posz2, Resources.negx2, Resources.negy2, Resources.negz2, }, null)); 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); } world.Texture2Ds = texs.ToArray(); world.Cubemaps = cubes.ToArray(); world.Materials = mats.ToArray(); var meshes = new List <NwMesh>(); foreach (var mesh in obj.Meshes) { meshes.Add(AssetConverter.ToNwMesh(mesh)); } world.Meshes = meshes.ToArray(); var colMeshes = new List <NwColliderMesh>(); foreach (var mesh in obj.Meshes) { colMeshes.Add(AssetConverter.ToNwColliderMesh(mesh)); } world.ColliderMeshes = colMeshes.ToArray(); world.Environments = new NwEnvironment[1]; world.Environments[0] = new NwEnvironment() { EnvMap = world.Cubemaps[0].Hash, }; } var json = Util.SerializeJson(world); var comp = Util.Compress(Encoding.UTF8.GetBytes(json)); return(comp); }