-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prepare for v0.5 release #43
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
glTF-Blender-IO kind of took over import_scene.gltf and now we can't be enabled at the same time as them (whoever is enabled last "wins").
add_in_primitive was accidentally overwriting the material of all the faces, not just the faces it added.
Dull colors were caused by the color being mixed with the vertex color being off-white instead of pure-white. The Principled Node was used for the Metal Roughness group, which cleaned it up a lot. Occlusion is no longer used, but materials look better now so don't sweat it. Non-color images had the right color space set now too which hopefully also helps the color a bit.
It turns out to be better to create all the vertices/edges/tris ourselves than to use from_pydata. This shaves off more than a second from MetalRoughnessSpheres. The code is also simplified by avoiding the temp mesh song and dance, and I added some docs too.
Create a class for vnodes; insert an imaginary root to make the vforest a vtree, which simplifies tranversal; refactor some of the graph surgery functions; split scene handling into its own file.
The trick here was just as much using [::2] and [1::2] to set array values in bulk as it was using foreach_set to set keyframe points in bulk.
Also mark light support as stabilized
Heterogeneous scalings are handled by putting the model in a non- rest pose in Blender that matches the rest pose in the glTF. Models without heterogeneous scalings should still match the rest pose. Also constrained skinned meshes to their armatures so it shouldn't matter where in the tree they are instantiated.
There are problems with splitting meshes with constraints though.
The new download button will hopefully solve the problem of people trying to use the Github source ZIP instead of the add-on ZIP.
The new official exporter no longer uses a glTF material group. Begin converting back to making all our own nodes (but there are a few utility groups we can keep). At least we can re-use the Block stuff for layout...
This now works in Blender 2.8
The 1-x factor on (a,b) instead of an x factor on (b,a) is to match glTF-Blender-IO but I think they're the same.
We also prepare a little for getting material property animations working again.
The Value class is also intended to record the path to the place in the tree where the value was inserted for animations
Also remove a bunch of now-unused groups and the framify stuff.
Double-sidedness is now supported. Also fixed bug in Blender 2.8.
And enable by default
ie. it is no longer (necessarily) IMAGINARY. This makes it a little easier to import a bunch of models into a scene since they get organized under their original file now.
Pending selection of the right implementation. I think there's a new Principled node we could use...
Leaving the ImportGLTF for the Blender interface only.
Remove the manual selection of bone direction, which is complicated and nobody uses. Move the calculation of how to interchange scales and rotations to an explicit helper function. And try to pick better targets to rotate towards. Also, bugfixes to the AXIS_TO_PLUS_Y map, which had some bad values.
This is obviously non-standard but it doesn't hurt to look there.
ie. to deal with Block -> A -> -> B -> which we need for metal/roughness, spec/glossiness, and clamping. Also fixed a typo that made the roughnessFactor ignored.
And also center the whole shader node tree when we're done creating it.
Move material.py into __init__.py and frontload the actual material creation. Some docs were added to the MaterialCreator.
Using a node group that matches what glTF-Blender-IO does for the moment.
Also JPEG-ify the sample renders for better bandwidth use.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Preparing for a 0.5 release. Changes
Blender 2.8 support is now supported in the master branch (working as of the January 31 beta). Here's the BoomBox in the new material view
We are now namespaced under "KSons' glTF converter"/
io_scene_gltf_ksons
/import_scene.gltf_ksons()
to avoid conflict with glTF-Blender-IO which kind of took theimport_scene.gltf()
name lolFurther performance improvements
Things are a bit slower in Blender 2.8 (eg. 3.0s for MetalRoughSpheres) or that might be the difference in the embedded vs system Python on my machine.
More import options
Material animations work in the new material view in 2.8! Here's some test files:
MaterialAnimationExamples.zip
Unfortunately the EXT_property_animation extension was abandoned upstream :(
Materials are now compatible with glTF-Blender-IO's node tree again (we don't use the old exporter's groups anymore). This fixes the dull colors we've had for a while. Multiple vertex colors affect the material instead of only
COLOR_0
.Various bug fixes.
This should also close all open issues.
Will see if this CI passes... edit: Hallelujah!