Code Monkey home page Code Monkey logo

Comments (5)

blairmacintyre avatar blairmacintyre commented on May 22, 2024

Does the plan include outputting animated elements (models) as glTF?

from unitygltf.

robertlong avatar robertlong commented on May 22, 2024

That's the plan. We'll work towards full export support as we go. However, right now we're focusing on project architecture so we can break out some of this work and hopefully clean up integration points. Hopefully we can get that done relatively soon.

After that I believe @MSblgross and I will be focusing our efforts on getting full glTF 2.0 support for import. I plan on moving back to export after import is fully featured.

However, work can be done in parallel on supporting the remaining export features. If you or anyone else want to help out it would be greatly appreciated!

I know @bghgary and the folks at @sketchfab have worked on animation export from Unity in their projects. Gary's involved already and it would be great to see if Sketchfab wants to contribute.

https://github.com/bghgary/glTF-Tools-for-Unity
https://github.com/sketchfab/Unity-glTF-Exporter

from unitygltf.

robertlong avatar robertlong commented on May 22, 2024

We're still trying to decide on the final namespaces for the project before we merge #50

I have a proposal here and I could use some feedback from the community.

Example of the proposed namespaces:

using UnityEngine;
using GLTF;
using UnityGLTF.Extensions;

namespace UnityGLTF { 
    class GLTFComponent {
        public GLTF.Scene Scene;
        public GLTF.Math.Vector3 GLTFVector;
        public GLTF.Serialization.GLTFParser GLTFParser;
    }
}

Another issue is splitting this repo into two. Ideally the GLTF folder would be split off into its own repository. It would be responsible for the same things that glTF-CSharp-Loader is doing, but with optimized hand written JSON serialization/deserialization rather than automatically generated from the spec's JSON schema and serialized/deserialized using reflection which is considerably slower (See #10).

It would also have a name like glTF.NET or glTF-CSharp which could get confusing.

So to recap, the decisions we need to make are the following:

  1. GLTF Serialization/Deserialization project namespace (Ex. GLTF)
  2. Unity Import/Export project namespace (Ex. UnityGLTF)
  3. Should we split the repositories now or keep them in folders in this repo like they are in #50
  4. If we split the repositories, what should we name the Serialization/Deserialization project (Ex. glTF-CSharp)
  5. What is the future plan for merging with glTF-CSharp-Loader?

from unitygltf.

bghgary avatar bghgary commented on May 22, 2024
  1. What is the future plan for merging with glTF-CSharp-Loader?

same things that glTF-CSharp-Loader is doing, but with optimized hand written JSON serialization/deserialization

Is it possible to generate the optimized JSON serialization/deserialization code? If so, I'm thinking we can modify glTF-CSharp-Loader to generate this optimized code instead of relying on reflection.

  1. GLTF Serialization/Deserialization project namespace (Ex. GLTF)

Ideally, I think I would separate the serialization/deserialization from the classes that define the schema. I prefer a namespace with the word Schema on it (e.g. GLTF.Schema) for the schema. The glTF-CSharp-Loader uses glTFLoader.Schema. The serialization/deserialization code can use extension functions in a namespace with the word Serialization (e.g. GLTF.Serialization).

from unitygltf.

robertlong avatar robertlong commented on May 22, 2024

Some of our meeting notes from today (@robertlong, @stevenvergenz, @sbtron, @bghgary, and @MSblgross in attendance)

We decided on the following:

  1. GLTF Serialization/Deserialization project namespace (Ex. GLTF)
    GLTF for the glTF serialization/deserialization/schema project and GLTF.Schema for all the schema classes.
    UnityGLTF for the Unity glTF import/export project.

  2. Unity Import/Export project namespace (Ex. UnityGLTF)
    We'll likely add this when we split the importer and exporter into classes. Still TBD.

  3. Should we split the repositories now or keep them in folders in this repo like they are in #50

  4. If we split the repositories, what should we name the Serialization/Deserialization project (Ex. glTF-CSharp)

  5. What is the future plan for merging with glTF-CSharp-Loader?
    We're going to keep both projects in the same project for now and work on adding generation of optimized serialization/deserialization code to glTF-CSharp-Loader. Additionally we will move any helper classes to this project.

from unitygltf.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.