Giter Club home page Giter Club logo

rt-xr-gitfast's Introduction

glTFast for Unity

Unity and glTF logos side by side

openupm GitHub issues GitHub license Code coverage result

glTFast enables use of glTF™ (GL Transmission Format) asset files in Unity.

It focuses on speed, memory efficiency and a small build footprint while also providing:

  • 100% glTF 2.0 specification compliance
  • Ease of use
  • Robustness and Stability
  • Customization and extensibility for advanced users

Check out the demo project and try the WebGL Demo.

Features

glTFast supports the full glTF 2.0 specification and many extensions. It works with Universal, High Definition and the Built-In Render Pipelines on all platforms.

See the comprehensive list of supported features and extensions.

Workflows

There are four use-cases for glTF within Unity

Schematic diagram of the four glTF workflows

Read more about the workflows in the documentation.

Installing

The easiest way to install is to download and open the Installer Package

It runs a script that installs glTFast via a scoped registry.

Afterwards glTFast and further, optional packages are listed in the Package Manager (under My Registries) and can be installed and updated from there.

Optional Packages

There are some related package that improve glTFast by extending its feature set.

Alternative: Install via GIT URL

Add glTFast via Unity's Package Manager ( Window -> Package Manager ). Click the ➕ on the top left and choose Add package from GIT URL.

Package Manager -> + -> Add Package from git URL

Enter the following URL:

https://github.com/atteneder/glTFast.git

To add more functionality, repeat the last step and also add related packages using these URLs:

  • https://github.com/atteneder/DracoUnity.git for Draco mesh compression
  • https://github.com/atteneder/KtxUnity.git for KTX texture compression

Note: You have to have a GIT LFS client (large file support) installed on your system. Otherwise you will get an error that the native library file (dll on Windows) is corrupt!

glTFast 2.x requires Unity 2019.3 or newer. For older Unity versions see Legacy Installation.

Usage

You can load a glTF asset from an URL or a file path.

Runtime Loading via Component

Add a GltfAsset component to a GameObject.

GltfAsset component

Runtime Loading via Script

var gltf = gameObject.AddComponent<GLTFast.GltfAsset>();
gltf.url = "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Duck/glTF/Duck.gltf";

See Runtime Loading via Script in the documentation for more details and instructions how to customize the loading behaviour via script.

Editor Import

Move or copy glTF files into your project's Assets folder, similar to other 3D formats:

Editor Import

glTFast will import them to native Unity prefabs and add them to the asset database.

See Editor Import in the documentation for details.

Editor Export

The main menu has a couple of entries for glTF export under File > Export and glTFs can also be created via script.

Project Setup

Materials and Shader Variants

❗ IMPORTANT ❗

glTFast uses custom shader graphs that you have to include in builds in order to make materials work. If materials are fine in the Unity Editor but not in builds, chances are some shaders (or variants) are missing.

Read the section Materials and Shader Variants in the Documentation for details.

Get involved

Contributions in the form of ideas, comments, critique, bug reports, pull requests are highly appreciated. Feel free to get in contact if you consider using or improving glTFast.

Supporters

Unity Technologies

Thanks to Embibe for sponsoring the development of skin support! ❤️

License

Copyright (c) 2020-2022 Andreas Atteneder, All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use files in this repository except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Trademarks

Unity is a registered trademark of Unity Technologies.

Khronos® is a registered trademark and glTF™ is a trademark of The Khronos Group Inc.

rt-xr-gitfast's People

Contributors

atteneder avatar hybridherbst avatar nlsdvl avatar etiennefaivredarcier avatar jonathanb-vobling avatar bersaelor avatar aurorahcx avatar ericbeetsofficial-opuscope avatar holo-krzysztof avatar stephengower avatar camnewnham avatar nyxstudio avatar lelievres avatar rt-nikowiss avatar zharry avatar chrisdjali-wrld3d avatar dandovi avatar dhasl002 avatar jiangboyu13 avatar querielo avatar mikejurka avatar avseoul avatar jf-gagnon avatar jouetp avatar wonkee-kim avatar

Stargazers

 avatar Imed Bouazizi avatar

Watchers

 avatar

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.