This is awesome, could have used it some time ago, would have been so much easier! hopefully i have to do some RTS Levels again, making levels the starcraft editor way is good fun, did that a lot in starcraft 1.
Had this script idea in my head the last few days or so. Working on it now. Added a Quick Align option, not pictured in the video. You can also align groups to other geo now as well.
Topogun inside Maya ! \0/
Very simple to use : Click and drag to create the quad.
It was funny to do inside maya. I needed to make my own RayTrace function (very simple).
I'm curious to see how this run on a very low computer (I guess it's very CPU intensive).
I'm a bit angry that maya doesn't have more option with his "draggerContext". So much cool tools could be done with more options.
I have also some little problems, because for the moment the ray is not perpendicular to the camera rotation (it start from the camera location an go to the 3D projection of the mouse viewport's location).
It's currently done in Mel script, which is very slow for that. One day I will try the C++ API.
I don't share yet my script because I have still a lot of bugs to resolve unfortunately.
Ive finally got around to starting my blog for animators and TA's (hopefully itl be useful).
But ive just put together a better quick selection sets tool thats more aimed at animators but it could be useful for artists too! (needs maya 2011 and python)
I recently added a couple things to my Zbrush plugin. Notably a sorely needed batch rename. You wouldn't believe what I have to do to rename the subtool 0__o
Topogun inside Maya ! \0/
Very simple to use : Click and drag to create the quad.
It was funny to do inside maya. I needed to make my own RayTrace function (very simple).
I'm curious to see how this run on a very low computer (I guess it's very CPU intensive).
I'm a bit angry that maya doesn't have more option with his "draggerContext". So much cool tools could be done with more options.
I have also some little problems, because for the moment the ray is not perpendicular to the camera rotation (it start from the camera location an go to the 3D projection of the mouse viewport's location).
I pretty much copy bitmaps from Photoshop, Browser, XnView,.. into the clipboard and then click on the tool within ShoeBox to mask it. In order to get good results there should be a background color that is not part of the foreground object.
It assumes at the moment that a solid background fill of the first pixel color is the background. Using a difference mask it then assumes the alpha channel with full anti aliasing. The last step is to create a color map that bleeds over the anti alias pixels.
one more testing image, If I use this input image:
ran into this today: I'm trying to automate merging hundreds of objects and want to use ProBoolean. For whatever reason, it won't let me set Merge on the first Object in the ProBoolean Methods and just automatically creates it as Union
My current line: ProBoolean.CreateBooleanObject $Cylinder001_Part_873 NULL 3 2 0;
and I can't find any Methods that would allow me to interface with the Boolean Objects afterwards
ran into this today: I'm trying to automate merging hundreds of objects and want to use ProBoolean. For whatever reason, it won't let me set Merge on the first Object in the ProBoolean Methods and just automatically creates it as Union
My current line: ProBoolean.CreateBooleanObject $Cylinder001_Part_873 NULL 3 2 0;
and I can't find any Methods that would allow me to interface with the Boolean Objects afterwards
Hey, thanks for the links. I ended up solving it differently and hope this is now somewhat appropriate to post. Today I did this script, after weeks of painful reworking a fractured platform by hand and not being able to properly reitterate on it:
It's technically very unoptimized and slow but its doing what its been designed for.
Still - if anyone got tips or tricks how to write better (and FASTER) code, or how to avoid creating a plane and deleting its faces to get to an empty geometry node, I'd be more than happy to learn about it
getting my hands dirty with C++ and ZScript and managed to write a C++ DLL which I can load in a ZScript with FileExecute.... which then continues to host a .NET CLR with a loaded C# dll, which then launches a Python script (we use the same C# dll from Max).
C# talks to Python via ZMQ (thanks to Rob Galanakis for mentioning ZMQ). For the RPC calls JSON-RPC is used.
So far I can launch a Python script from ZBrush, cpp, Python, 3ds Max, Photoshop Extendscript and then call remote procedures either from Python or from the host app. Still working on ZBrush now - so far it's just one-directional communication, until I figure out if I can use the Sleep command for polling.
The idea is to have a universal communication library for RPC calls to a Python script which is launched by a host app. E.g. we can then put all the business logic of statistics, QA or file management scripts into python. Or we can just extend the app itself using Python.
Anyway, there's little to show as it's just a bunch of DLLs and scripts with text output, but if someone is crazy enough to attempt something similar... just ask
getting my hands dirty with C++ and ZScript and managed to write a C++ DLL which I can load in a ZScript with FileExecute.... which then continues to host a .NET CLR with a loaded C# dll, which then launches a Python script (we use the same C# dll from Max).
C# talks to Python via ZMQ (thanks to Rob Galanakis for mentioning ZMQ). For the RPC calls JSON-RPC is used.
So far I can launch a Python script from ZBrush, cpp, Python, 3ds Max, Photoshop Extendscript and then call remote procedures either from Python or from the host app. Still working on ZBrush now - so far it's just one-directional communication, until I figure out if I can use the Sleep command for polling.
The idea is to have a universal communication library for RPC calls to a Python script which is launched by a host app. E.g. we can then put all the business logic of statistics, QA or file management scripts into python. Or we can just extend the app itself using Python.
Anyway, there's little to show as it's just a bunch of DLLs and scripts with text output, but if someone is crazy enough to attempt something similar... just ask
Hey Kwramm!
There was an undocumented function of the ZfileUtils.dll that allows you to launch any kind of program or pyhton script. I found the function while inspecting the dll with some tools, hehe.
I can't remember the function right now, but once I get home I'll let you know! I'm not sure how happy Pixologic will be about it!
I used to launch UVLayout from within Zbrush and send the meshes to the program.
I don't think you'll be able to use the sleep command for much other than "freezing" Zbrush for a some time. The way I handle bi-directional communication is to bind a Zscript to a specific hotkey.
This zscript will then load the contents of a txt file and evaluate them on runtime. This way you don't need to compile the script on zbrush startup and you can change the commands that you want to be evaluated on-the-fly in the txt.
So in order to run a command from an external application what you need to do is to change the TXT file and then send the hotkey combination to the Zbrush window so that the zscript starts.
Thanks for the tip with the hotkey. I'll try that if sleep doesn't work.
Launching processes via ZFileUtils sounds useful too, although not for my current needs. I go via my own dll for launching Python because I want to monitor the process, I have to pass a port number to Python for socket communication, I have to tell it what the host app is (e.g. Max, ZB, other) so I can parent the Python UI and / or make it stay on top, minimize with the host app, etc. and I also want the host to know when the Python process quits (either crash or user closes the window).
Ideally you can have part of a tools UI in the host app (e.g. Max) and part of the UI written in Python. You can drive the host via Python or you can drive the Python app from the host via RPC calls in either direction.
I really want to avoid using a txt file but I could trigger a hotkey, and then poll for a waiting command from the Zbrush side via my dll. A bit hackish though... but why not.
Thanks for the tip with the hotkey. I'll try that if sleep doesn't work.
Launching processes via ZFileUtils sounds useful too, although not for my current needs. I go via my own dll for launching Python because I want to monitor the process, I have to pass a port number to Python for socket communication, I have to tell it what the host app is (e.g. Max, ZB, other) so I can parent the Python UI and / or make it stay on top, minimize with the host app, etc. and I also want the host to know when the Python process quits (either crash or user closes the window).
Ideally you can have part of a tools UI in the host app (e.g. Max) and part of the UI written in Python. You can drive the host via Python or you can drive the Python app from the host via RPC calls in either direction.
I really want to avoid using a txt file but I could trigger a hotkey, and then poll for a waiting command from the Zbrush side via my dll. A bit hackish though... but why not.
How did you send meshes to UVLayout btw?
ahh! I see! Sounds exciting!
I can't remember right now, but I think all I had to do is send the path to the obj as an argument to the UVLayout.exe
I'm surprised that it's working pretty well so far. Even making DLLs for Photoshop and ZBrush turned out to be less difficult than I thought it would be. But yes, it's a pretty cool project. I hope we soon have some scripts using this, other than the tests/demos I made so far.
I started doing this yesterday, so this is pretty much all of it atm.
Right now it will detect the angle of the wall and make you slide towards it and snap to it. When you go left and right while in-cover and reach the end, it will stop you. That is where I'll have to make him be able to look around the corner or fire.
It works on pretty much any collision surface, but of course it's the best on flat surfaces.
And the slide distance/speed etc all can be tweaked to make it more subtle, and not so gears-of-war'ish.
The goal is to setup and send the mesh that you have in your scene directly to xNormal without using the default UI. The base of the script work, I need to support some other things (like Cages, blockers, FBX and SBM format).
I also need some optimization on the way I handle the xml file by the way (currently I rewrote it for every parameter).
Latter I will add more options for the textures (AO rays, and so on).
Hey @bk3d ! That's nice !
Do you allow to change the size of the thumbnails ?
currenly right now you cant change the icon size. For shaders you do have the option to render at different sizes. You can double click the image of the shader and it will open up the image in Fcheck. I will be implementing this for other asset types
Replies
http://youtu.be/14neDDBshAw
hmm youtube doesn't embed anymore here in vBulletin
http://blenderartists.org/forum/showthread.php?259554
First standalone Blender operator addon I decided to release, transfers or joins vertex normals.
Smoke trails, celestial moustache... whatever you call it
Topogun inside Maya ! \0/
Very simple to use : Click and drag to create the quad.
It was funny to do inside maya. I needed to make my own RayTrace function (very simple).
I'm curious to see how this run on a very low computer (I guess it's very CPU intensive).
I'm a bit angry that maya doesn't have more option with his "draggerContext". So much cool tools could be done with more options.
I have also some little problems, because for the moment the ray is not perpendicular to the camera rotation (it start from the camera location an go to the 3D projection of the mouse viewport's location).
Then I left that skank Maya
b) this is awesome and almost like graphite
c) A! (like in ace and also in a) where do i get this?)
I don't share yet my script because I have still a lot of bugs to resolve unfortunately.
Ive finally got around to starting my blog for animators and TA's (hopefully itl be useful).
But ive just put together a better quick selection sets tool thats more aimed at animators but it could be useful for artists too! (needs maya 2011 and python)
http://flynnsyard.blogspot.co.uk/2012/07/annoying-quick-selection-sets.html
Let me know what you guys think?
Check it out here.
[ame="http://www.youtube.com/watch?v=eweq6tK7nOU"]UDK smoke trails WIP - YouTube[/ame]
but I wanted to post it because it looks kinda awesome in its own way
[ame="http://www.youtube.com/watch?v=FWrH_gAPCHY"]Ninja Dojo Demo Video - YouTube[/ame]
A lot of good Tools and Ideas here ! Great work !
Amazing!
I pretty much copy bitmaps from Photoshop, Browser, XnView,.. into the clipboard and then click on the tool within ShoeBox to mask it. In order to get good results there should be a background color that is not part of the foreground object.
It assumes at the moment that a solid background fill of the first pixel color is the background. Using a difference mask it then assumes the alpha channel with full anti aliasing. The last step is to create a color map that bleeds over the anti alias pixels.
one more testing image, If I use this input image:
I get this output result:
My current line: ProBoolean.CreateBooleanObject $Cylinder001_Part_873 NULL 3 2 0;
and I can't find any Methods that would allow me to interface with the Boolean Objects afterwards
mh? it's for a script i'm working on, so i thought I could ask here which is the correct thread?
http://www.maxforums.org/threads/imprint_maxscript_probooleans/0001.aspx
http://forums.cgsociety.org/showthread.php?t=806145
[ame="http://www.youtube.com/watch?v=DA91BDeY4BU"]Merging Script - YouTube[/ame]
It's technically very unoptimized and slow but its doing what its been designed for.
Still - if anyone got tips or tricks how to write better (and FASTER) code, or how to avoid creating a plane and deleting its faces to get to an empty geometry node, I'd be more than happy to learn about it
(the fracture script i'm using is http://www.scriptspot.com/3ds-max/scripts/fracture-voronoi Fracture Voronoi by Garp)
C# talks to Python via ZMQ (thanks to Rob Galanakis for mentioning ZMQ). For the RPC calls JSON-RPC is used.
So far I can launch a Python script from ZBrush, cpp, Python, 3ds Max, Photoshop Extendscript and then call remote procedures either from Python or from the host app. Still working on ZBrush now - so far it's just one-directional communication, until I figure out if I can use the Sleep command for polling.
The idea is to have a universal communication library for RPC calls to a Python script which is launched by a host app. E.g. we can then put all the business logic of statistics, QA or file management scripts into python. Or we can just extend the app itself using Python.
Anyway, there's little to show as it's just a bunch of DLLs and scripts with text output, but if someone is crazy enough to attempt something similar... just ask
Hey Kwramm!
There was an undocumented function of the ZfileUtils.dll that allows you to launch any kind of program or pyhton script. I found the function while inspecting the dll with some tools, hehe.
I can't remember the function right now, but once I get home I'll let you know! I'm not sure how happy Pixologic will be about it!
I used to launch UVLayout from within Zbrush and send the meshes to the program.
I don't think you'll be able to use the sleep command for much other than "freezing" Zbrush for a some time. The way I handle bi-directional communication is to bind a Zscript to a specific hotkey.
This zscript will then load the contents of a txt file and evaluate them on runtime. This way you don't need to compile the script on zbrush startup and you can change the commands that you want to be evaluated on-the-fly in the txt.
So in order to run a command from an external application what you need to do is to change the TXT file and then send the hotkey combination to the Zbrush window so that the zscript starts.
Launching processes via ZFileUtils sounds useful too, although not for my current needs. I go via my own dll for launching Python because I want to monitor the process, I have to pass a port number to Python for socket communication, I have to tell it what the host app is (e.g. Max, ZB, other) so I can parent the Python UI and / or make it stay on top, minimize with the host app, etc. and I also want the host to know when the Python process quits (either crash or user closes the window).
Ideally you can have part of a tools UI in the host app (e.g. Max) and part of the UI written in Python. You can drive the host via Python or you can drive the Python app from the host via RPC calls in either direction.
I really want to avoid using a txt file but I could trigger a hotkey, and then poll for a waiting command from the Zbrush side via my dll. A bit hackish though... but why not.
How did you send meshes to UVLayout btw?
ahh! I see! Sounds exciting!
I can't remember right now, but I think all I had to do is send the path to the obj as an argument to the UVLayout.exe
Jeesh alittle unnecessary?
Thinking can be work. That is what bloody designers get paid to do.
Norman3D That is awesome! Any chance you are ever going to share that? Roadkill would be pretty awesome too.
EDIT: Nevermind. I see that you did! Super cool. Roadkill would still be pretty awesome.
Ah thanks! I'm still looking for a bit of time to have another look at the UVLayout plugin. I tried it on ZB4R4 and it didn't seem to work!
A Roadkill plugin should be easy to do as well
oh that's easy then. It sounded more exciting the way you worded it before
Thanks again for the hotkey tip. I wouldn't have thought of that.
Right now it will detect the angle of the wall and make you slide towards it and snap to it. When you go left and right while in-cover and reach the end, it will stop you. That is where I'll have to make him be able to look around the corner or fire.
It works on pretty much any collision surface, but of course it's the best on flat surfaces.
And the slide distance/speed etc all can be tweaked to make it more subtle, and not so gears-of-war'ish.
Masking flat images
[ame="http://www.youtube.com/watch?v=6C-OR48x2IM&list=UUthitAX8BC2zolBRP-cHg8Q&index=4&feature=plcp"]ShoeBox: Mask flat images - YouTube[/ame]
Extract sprites update
[ame="http://www.youtube.com/watch?v=tkXIUjxv8GE&list=UUthitAX8BC2zolBRP-cHg8Q&index=3&feature=plcp"]ShoeBox: Extract sprites - YouTube[/ame]
Sprite packing update
[ame="http://www.youtube.com/watch?v=KVZml3rcS34&list=UUthitAX8BC2zolBRP-cHg8Q&index=1&feature=plcp"]ShoeBox: Sprite packing - YouTube[/ame]
JPNG bitmaps
[ame="http://www.youtube.com/watch?v=5OrOQzlMQEk&list=UUthitAX8BC2zolBRP-cHg8Q&index=2&feature=plcp"]ShoeBox: JPNG Bitmaps - YouTube[/ame]
I also added some documentation on the masking technique that I used the masking tool
http://www.renderhjs.net/shoebox/maskImage.htm
Step by step images explain how its done
The goal is to setup and send the mesh that you have in your scene directly to xNormal without using the default UI. The base of the script work, I need to support some other things (like Cages, blockers, FBX and SBM format).
I also need some optimization on the way I handle the xml file by the way (currently I rewrote it for every parameter).
Latter I will add more options for the textures (AO rays, and so on).
Please tell me you are going to make it for 3DMax too?
(And I'm not a fan of Max unfortunately)
[EDIT] By the way I'm not the first one to have done this :
http://www.polycount.com/forum/showthread.php?t=88710
But I handle that in another manner, that I prefer.
http://www.creativecrash.com/maya/downloads/scripts-plugins/data-management/c/ninja-asset
Do you allow to change the size of the thumbnails ?
Cool there is also a 3dsMax version that would also need a redesign in my opinion:
http://www.polycount.com/forum/showthread.php?t=65536
currenly right now you cant change the icon size. For shaders you do have the option to render at different sizes. You can double click the image of the shader and it will open up the image in Fcheck. I will be implementing this for other asset types
Anyway:
Spelling. Some stuff is also capitalized randomly.