I am looking forward towards new strong hardware platforms. DirectX didn't matter after 9 until now and I hope that with the xbox and playstation models we'll get a bigger push towards or perhaps beyond what's already possible on PC.
Oyua and Steam-box (booth linux based) look interesting as well and I think this year is only getting us more middle ware to play around and port to all those various software / hardware platforms.
To be honest though for many things I am not looking forward that much. Windows 8 is not my cup of tea, Autodesk and Adobe are still stuck on their old horses which they patch and build on with every release (often not for the better).
Professional PC/ or computer solutions are shrinking in favor of the Consumerization move. Everything is dummyfied and ported with a primary focus on mobile devices. Those are things that worry me a bit these days.
will try some bigger sprite collections, see what it does compression wise.
edit:
It seems to work even better with organic shapes Although not perfect as some shapes are overlapping here but I might do a similar approach to UV pelt mapping where it simulates rough first and then iterates more carefully later.
So been messing about with Maxscript and trying to send commands from Maya via sockets. Got most of that working thanks to stuff on the web but stuck at how to parse the text back to something max can run. Any ideas?
hey renderhjs, what method are you using to pack those sprites? I was looking into something to pack arbitrary 2d polygons before, but I could never find any solutions.
TheFlyingMonk:
I pack like I do usually by bounds without rotations, and then convert the sprite blobs into Mesh shapes using the NAPE physics library and after that simulate a simple upwards gravity with a shaking X movement so all the pieces slide neatly into each other. Rotations are snapped within 90 degree rotations to avoid pixel rotations.
Nape comes with a MarchingSquares implementation which is the base for the mesh conversion.
I set the threshold to 1 alpha gradient difference (0-255). But it does seem to skip sometimes some corner adding some padding in advance to each sprite can reduce that however.
I'm working on 3dsmax modifier plugin + shader combination to solve viewport issues between different 3dsmax version and tangent basis. As we all know Autodesk usually breaks everything when new version is out. Modifier by passes completly 3dsmax own TBN calculation and replaces it with either importer or mikktspace tangent calculation. Geometry is fed by the asset importer which gives ability to view formats which aren't supported by the 3dsmax without external plugins like lwo, lxo etc.
Real beauty is that you can actually use this new TBN for baking inside the 3dsmax. (Custom renderelement plugin)
Example images has been baked with xNormal 3.17.16.
Cheers man. I assumed that you where only using the physics just for collision detection. But I like the idea of simulating an ajitator to pack things like that. It sounds more interesting than trying to understand and impliment some algorithm
@Sipe: Wait, wait, wait...you mean to say, I can render/bake something in Max for the maps, using all of it's native tools like MatID, etc...with all the benefit of XN tangent?
Working on a material tool for Maya meant to act as a lightweight and smart version of the hypershade. I want to make a release this month but there's still some stuff to do.
Working on a material tool for Maya meant to act as a lightweight and smart version of the hypershade. I want to make a release this month but there's still some stuff to do.
I'm working on my little FBX Set Exporter again for 3DS Max, but I had a question about separating text in strings and into arrays.
Example, having a string with object names, what character do you use to separate them? I often ends up using ¦ or ¬ because I never seen them used anywhere, didn't think it would accidental break my script (like a object named 'box¦in¦a¦hole', which wouldn't result in one array, but 4).
I was thinking to use ; instead, but anyone know if its ever used in names or something? I could imagine that some might use : or # , so I wouldn't use them.
I made some progress with my automatic slice-9 (or any slice setup for that matter) detection and realtime resize preview
I am using it right now for some website CSS stuff, in the UI there is also a code output (CSS, xml, engine XYZ,.. ) which I use to copy and paste CSS attributes. The slices themselves are generated as well with the same tool and packed to a minimal size.
Great work going on here as usual, im now breaking my lurker status now that Lego City is about to go gold!
But ive finally got around to finishing something ive needed for a while, a script to load in all scripts (mel and python) from a directory into a handy list of buttons without having to deal with the headache of creating many shelf buttons or shelves for that matter..
@Flynny:
I found this script and the concept to store the Maya Script into Dropbox really interesting.
Note: I have insttaled the script but when I click to a button, they don't launch the script.
I'm working on my little FBX Set Exporter again for 3DS Max, but I had a question about separating text in strings and into arrays.
Example, having a string with object names, what character do you use to separate them? I often ends up using ¦ or ¬ because I never seen them used anywhere, didn't think it would accidental break my script (like a object named 'box¦in¦a¦hole', which wouldn't result in one array, but 4).
I was thinking to use ; instead, but anyone know if its ever used in names or something? I could imagine that some might use : or # , so I wouldn't use them.
Just use a comma or semicolon. When saving the string check for comma's and if there is one just give a "No commas in the name warning."
Personally, I use the built in Max Selection Sets to group export sets. No need to store names. Just query what selection sets exist when the UI opens and before you export.
If anyone is interested, I created a script for Blender 2.65, Maya 2013, and Softimage 2013 called Version Save. Basically, every time you run the script, it will check how old the file is. If it is over 5 minutes old, it creates a new version. This should hopefully help prevent against lost work from corrupted files. Bind this to your save key on your keymap, and you're good to go. In Blender, just bind file.version_save to your save key after you enable to script.
@walter Perhaps try changing the last slash to \ from /.
Let me know how that goes, if not I can make a debug version and il need you to send me the script editor log
@Flynny
with \ it doesn't fing the script path, I have no button.
with /, I have the button but they don't execute the script.
No problemo, send me a Debug version.
Changed a few things: rather than baking 1 big list of xml files, it bakes 1 file at a time. This allows me to catch Xnormal "crashing" and keep the baking of other stuff. (with a nice message tellnig you about)
That'll be so as long as xnormal doesn't prompt a log for its batch.
This adds a little to the bake time ( as Xnormal has to start again )
At the end you'll get a nice box telling you about all the bad files who crashed.
Added a few failsafe in case it can't find xnormal (used to simply not work before) so you can still generate all the xml settings without baking.
Still need to add a path configuration ( right now it's plugged on our pipeline, so those are hard coded for now)
and to add the full list of type of maps for you guys. (as we dont' use all of them here.)
And I discovered the power of tabs with dotnet on MaxUi
here's a small snapshot:
I plan on finding a way to check the topology between cage and lowpoly in max like xnormal does. before actually baking. that could save some time i think But i've no idea how right now - if you have any hints I'll be really glad for the help.:)
ON The next episode:
- Cage/Lowpoly topology check
- Save settings between max session (so you don't have to redo all the map dimensions all over again if script/max crash etc...)
- Bake Settings per file, so you can set up different bakes batch all at once.
- Path Config
- More Map types
- Coffee?
Great work going on here as usual, im now breaking my lurker status now that Lego City is about to go gold!
But ive finally got around to finishing something ive needed for a while, a script to load in all scripts (mel and python) from a directory into a handy list of buttons without having to deal with the headache of creating many shelf buttons or shelves for that matter..
Not a bad idea
I was thinking of using external files ( might as well use the generated xml for something else than just using it at bake time )
Since the tool doesn't really care about the max scene, but operates on files in folders.
It now has a support system (Bugs; ideas: voting, suggesting) and a UI that I build using the new Slice9 tool (using CSS border-images).
The Sprite Pivot tool also has a proper documentation now as well as the Slice9 tool.
Crossposting from my sketchbook. I posted some of these in the usual pimping and preview thread, but this is a much better place for rigging
These are two robots that I rigged for a current student of my 3D course, Stephen Gibson http://www.ssgibson.ca/ He modeled and textured these badboys and I worked my magic to give them both IK controls in their legs. It was a bit of a challenge, since they both have more then a humans amount of joints in their legs, including several unidirectional joints. Stephen is working on an animation with these two and their flying third, but I'll be doing my own animation to show off the controls.
This robot is from another student Nathan Dunn nathan_dunn05@hotmail.com, He needed it on a deadline so I whipped it up in a few days. I used what I learned from the previous 2 robots to give this thing IK legs as well. I had to do some fanegling to figure out how to get both the top and bottom of the leg to drive eachother without complaining. The end result is pretty neat, though in this animation I overextend it in several places to show off the movement.
I'd love some comments and criticisms, I'll be posting animations as soon as I have them.
Ok so my material tool isn't finished yet. I failed my own personal deadline because I've been moving furniture around and been cleaning for the past two weeks (helped dad move out his stuff from his apartment, then moved in my stuff because I'm now renting it).
Either way, I promised you a screenshot about 2 weeks ago - so here's a sneak peak:
The goal is to make material management (applying, querying, etc) a lot easier for artists and level designers working in Maya. The hyperShade is just too slow, too large, too bulky and yea... I don't like it. Anyway: right now I only have support for surface shaders but I plan on adding other material support (mental ray!).
Not my work but I thought this might be interesting to anyone who wants to get techy with Modo. A complete video series on the hows and whys behind creating Modo kits and scripts:
Ok so my material tool isn't finished yet. I failed my own personal deadline because I've been moving furniture around and been cleaning for the past two weeks (helped dad move out his stuff from his apartment, then moved in my stuff because I'm now renting it).
The goal is to make material management (applying, querying, etc) a lot easier for artists and level designers working in Maya. The hyperShade is just too slow, too large, too bulky and yea... I don't like it. Anyway: right now I only have support for surface shaders but I plan on adding other material support (mental ray!).
I'm really looking forward to it, I planned something similar in my todolist but never had the time for doing it !
Replies
BAHAHAHA Whaaaaaat...
(Since I'm not interested in Windows 8 and DirectX).
Yes
its not sorted yet in any way but it solves already the collisions and generates the hull meshes rather fast.
will try some bigger sprite collections, see what it does compression wise.
edit:
It seems to work even better with organic shapes Although not perfect as some shapes are overlapping here but I might do a similar approach to UV pelt mapping where it simulates rough first and then iterates more carefully later.
I think the command is simply
I pack like I do usually by bounds without rotations, and then convert the sprite blobs into Mesh shapes using the NAPE physics library and after that simulate a simple upwards gravity with a shaking X movement so all the pieces slide neatly into each other. Rotations are snapped within 90 degree rotations to avoid pixel rotations.
Nape comes with a MarchingSquares implementation which is the base for the mesh conversion.
I set the threshold to 1 alpha gradient difference (0-255). But it does seem to skip sometimes some corner adding some padding in advance to each sprite can reduce that however.
Real beauty is that you can actually use this new TBN for baking inside the 3dsmax. (Custom renderelement plugin)
Example images has been baked with xNormal 3.17.16.
Sipe that's awesome. Would love to play with this when you have something ready.
You're bloody awesome mate!
download here:
http://www.scriptspot.com/3ds-max/scripts/flow-map-painter
thread here:
http://www.polycount.com/forum/showthread.php?t=97215
Still working towards a january release. But I guess I can post a screenshot later this week.
tech demo for my flow map script is done
-- sorry, the vimeo embed refuses to work
Example, having a string with object names, what character do you use to separate them? I often ends up using ¦ or ¬ because I never seen them used anywhere, didn't think it would accidental break my script (like a object named 'box¦in¦a¦hole', which wouldn't result in one array, but 4).
I was thinking to use ; instead, but anyone know if its ever used in names or something? I could imagine that some might use : or # , so I wouldn't use them.
I am using it right now for some website CSS stuff, in the UI there is also a code output (CSS, xml, engine XYZ,.. ) which I use to copy and paste CSS attributes. The slices themselves are generated as well with the same tool and packed to a minimal size.
someone who is smarter than me should incorporate some of your code for tools to pack uvs and shiz
But ive finally got around to finishing something ive needed for a while, a script to load in all scripts (mel and python) from a directory into a handy list of buttons without having to deal with the headache of creating many shelf buttons or shelves for that matter..
Let me know what you awesome people think, cheers
http://flynnsyard.blogspot.co.uk/2013/01/if-like-me-your-always-shuffling.html/
I found this script and the concept to store the Maya Script into Dropbox really interesting.
Note: I have insttaled the script but when I click to a button, they don't launch the script.
Just use a comma or semicolon. When saving the string check for comma's and if there is one just give a "No commas in the name warning."
Personally, I use the built in Max Selection Sets to group export sets. No need to store names. Just query what selection sets exist when the UI opens and before you export.
Working with Maya 2013,
and pointing to "C:/Users/xxx/Dropbox/_DOWNLOAD/for_Maya/Maya_Scripts/"
Thanks Flynny :thumbup:
Blender: https://github.com/propersquid/3D_Tools/blob/master/Blender/blender_version_save.py
Maya: https://github.com/propersquid/3D_Tools/blob/master/Maya/maya_version_save.py
Softimage: https://github.com/propersquid/3D_Tools/tree/master/Softimage
Let me know how that goes, if not I can make a debug version and il need you to send me the script editor log
with \ it doesn't fing the script path, I have no button.
with /, I have the button but they don't execute the script.
No problemo, send me a Debug version.
Previously ON "XNormal tool"!https://dl.dropbox.com/u/167380/XnormalChecker.png
Changed a few things: rather than baking 1 big list of xml files, it bakes 1 file at a time. This allows me to catch Xnormal "crashing" and keep the baking of other stuff. (with a nice message tellnig you about)
That'll be so as long as xnormal doesn't prompt a log for its batch.
This adds a little to the bake time ( as Xnormal has to start again )
At the end you'll get a nice box telling you about all the bad files who crashed.
Added a few failsafe in case it can't find xnormal (used to simply not work before) so you can still generate all the xml settings without baking.
Still need to add a path configuration ( right now it's plugged on our pipeline, so those are hard coded for now)
and to add the full list of type of maps for you guys. (as we dont' use all of them here.)
And I discovered the power of tabs with dotnet on MaxUi
here's a small snapshot:
I plan on finding a way to check the topology between cage and lowpoly in max like xnormal does. before actually baking. that could save some time i think But i've no idea how right now - if you have any hints I'll be really glad for the help.:)
ON The next episode:
- Cage/Lowpoly topology check
- Save settings between max session (so you don't have to redo all the map dimensions all over again if script/max crash etc...)
- Bake Settings per file, so you can set up different bakes batch all at once.
- Path Config
- More Map types
- Coffee?
Like : "My Documents\xNormal\xNormal_debugLog.txt"
Some R&D I did some years ago, very very similar
http://www.polycount.com/forum/showthread.php?t=63675
Let me rephrase: "as long as there isn't a useful log for xnormal that people can use"
I've had a lot of success storing settings as an array in a custom attribute applied to RootNode.
On rollout open look for the custom attribute. If found load the array, if not apply the attribute to the RootNode with a default array.
On rollout close gather your settings into an array and re-apply it to the attribute.
It's also cool to use a file open callback to auto load settings as the max file changes.
I was thinking of using external files ( might as well use the generated xml for something else than just using it at bake time )
Since the tool doesn't really care about the max scene, but operates on files in folders.
http://renderhjs.net/shoebox/
It now has a support system (Bugs; ideas: voting, suggesting) and a UI that I build using the new Slice9 tool (using CSS border-images).
The Sprite Pivot tool also has a proper documentation now as well as the Slice9 tool.
These are two robots that I rigged for a current student of my 3D course, Stephen Gibson http://www.ssgibson.ca/ He modeled and textured these badboys and I worked my magic to give them both IK controls in their legs. It was a bit of a challenge, since they both have more then a humans amount of joints in their legs, including several unidirectional joints. Stephen is working on an animation with these two and their flying third, but I'll be doing my own animation to show off the controls.
This robot is from another student Nathan Dunn nathan_dunn05@hotmail.com, He needed it on a deadline so I whipped it up in a few days. I used what I learned from the previous 2 robots to give this thing IK legs as well. I had to do some fanegling to figure out how to get both the top and bottom of the leg to drive eachother without complaining. The end result is pretty neat, though in this animation I overextend it in several places to show off the movement.
I'd love some comments and criticisms, I'll be posting animations as soon as I have them.
Either way, I promised you a screenshot about 2 weeks ago - so here's a sneak peak:
The goal is to make material management (applying, querying, etc) a lot easier for artists and level designers working in Maya. The hyperShade is just too slow, too large, too bulky and yea... I don't like it. Anyway: right now I only have support for surface shaders but I plan on adding other material support (mental ray!).
http://hellomodo.com/2013/02/muhamed-toromanovic-creating-kits-for-modo-series/
I'm really looking forward to it, I planned something similar in my todolist but never had the time for doing it !