jayanam / jbake-tools Goto Github PK
View Code? Open in Web Editor NEWAddon to simplify the baking workflow from highpoly to lowpoly with Blender
License: GNU General Public License v3.0
Addon to simplify the baking workflow from highpoly to lowpoly with Blender
License: GNU General Public License v3.0
Like the title says.. just a quick toggle for baking either a tangent or object space normal map. I know this can be set in the Cycles bake settings, but it'd be a huge time saver for a simple toggle in your addon.
A progress indicator would be nice, although im not sure if Blender exposes such information to python API. Normal map baking can take minutes for detailed sculpts so it is strongly against good UI design not to show any indicator for such a lengthy operation.
will it be updated to 3.0+?
Currently the tool supports only baking normal maps. It probably would be quite straight forward to add support for baking other kinds of maps that Cycles can bake. At least diffuse and ambient occlusion map baking could be added as options.
Add possibility to specify a width in pixels to extend the baked texture beyond the seams on the uv map. The "Bake settings" seem to be a fitting location for this feature. Right now it seems as if there is a fixed default pixel value being used that cannot be changed by the user.
Thanks for writing this plugin in the first place! Very nice!
However: I'm not sure if Blender 2.91 is supported, but I at least wanted you to be aware that it's not working at the moment.
I get this error:
Python:` Traceback (most recent call last):
File "C:\Users\USER\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\jbake-tools-main\jb_operators.py", line 116, in execute
self.bake_normal_map()
File "C:\Users\USER\AppData\Roaming\Blender Foundation\Blender\2.91\scripts\addons\jbake-tools-main\jb_operators.py", line 57, in bake_normal_map
bpy.ops.object.bake(type="NORMAL", use_selected_to_active=True)
File "C:\Program Files\Blender Foundation\Blender 2.91\2.91\scripts\modules\bpy\ops.py", line 132, in __call__
ret = _op_call(self.idname_py(), None, kw)
RuntimeError: Error: No valid selected objects
location: <unknown `location>:-1
The script doesn't seem to check if there already is a normal map defined for the low poly objects material. It sill just silently ignore it and do nothing (although the script does the baking calculation). Maybe it could show a warning like "there's already a normal map defined, overwrite it (or cancel)?"
The arrow buttons next to the resolutions increment the width/height by one, which is not really useful. I guess this the default behavior of a number input control. Anyway, it would make a lot more sense if they would change the resolution to next/previous power of 2. User could still type whatever manually to the value (although non-POT resolutions should not be used in textures anyway).
Script should check if the object selected for high and low poly meshes are enabled/unhidden in viewport and for rendering as this is a perquisite for a successful baking. Since pretty much always the high and low poly meshes are overlapping each other, usually either one is disabled/hidden when working. The script should also return the settings as they were when the bake button was pressed.
Script should return the render engine to e.g. Eevee if it was selected when starting to bake. Now it switched to Cycles for obvious reasons and doesn't change back.
If you have an asset like a space ship, where you have different components like wings, hull, thrusters etc., you might want to keep them as separate high poly objects. Having to merge all these components before baking is tedious, so having a list of high poly objects to bake from might be very handy.
Consider adding support for cage - many times when you have some wrinkles and narrow cracks in your model (like upper eye lids meeting the eye socket or between closed lips), you need a cage object to not get incorrect normals when baking. I suppose UI wise this would just be exposing the "use cage" checkbox and then add another object selector for the cage.
Hi there! Thanks so much for the amazing tool!
I've used it successfully a couple of times, but now I'm getting the following error:
Traceback (most recent call last):
File "C:\Users\Anna\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\jbake-tools-main\jb_operators.py", line 86, in execute
bpy.ops.object.mode_set(mode='OBJECT')
File "C:\Program Files\Blender Foundation\Blender 2.81\2.81\scripts\modules\bpy\ops.py", line 201, in __call__
ret = op_call(self.idname_py(), None, kw)
RuntimeError: Operator bpy.ops.object.mode_set.poll() failed, context is incorrect
location: <unknown location>:-1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.