You can make a pretty good approximation of a maya group by creating a point helper at 0,0,0 with no transforms and linking your hierarchy to it.
it'll be safe enough to animate it - if you need the pivot somewhere specific then you could position constrain it to another point helper (with relative on)
Working on a lightweight app to pre-filter or blur cubemaps and save to the mipmaps. No UI, no anything yet except a renderer. Runs on the GPU. Takes only 1 or 2 seconds to calculate the blur. I've implemented like 10 specular BRDF's right now, and you can enter your target cube resolution, number of mips, or minimum mip res... So people can match it to their engine. Might add support so everyone can match their BRDF closely. Here it is showing the blurred result of a 256x256 cubemap, with 7 levels of roughness.
m = roughness.
so cool while the tweaked version of the ATI tool from sebastien lagarde is super neat, this seems like such a huge timesaver. can't wait
Wanted to try recreate the muscle bulge stuff from the last of us, proof of concept took alot less time than i thought =D Loads to do/improve on though
I make myself some tools to get really faster when doing rigs. It is work still in progress, when this leg is done everything else(arm, head & spine) will be create really fast and the tool wil be complete.
I am also trying to do a xnormal custom tool but stuck at the initial bit. Anyone knows, if there's maxscript access to the Xnormal SBM Exporter for max?
I have gone so far as exporting the sbm through uiAccessor but not able to close the window through uiAccessor.
You can make a pretty good approximation of a maya group by creating a point helper at 0,0,0 with no transforms and linking your hierarchy to it.
+1 to this approach. I use it all the time, esp for keeping rigs organized.
Rather than use the link tool, I'd use mxs .parent to add selected objects
mxs:
myMayaLikeGroup = point cross:false name:"myMayaLikeGroup"[COLOR="DimGray"]--make a group[/COLOR]
for each in $ do each.parent = myMayaLikeGroup [COLOR="DimGray"]--add selected objects[/COLOR]
been working on this script lately, we started it as a project for university over a year ago, but never came to really work on it. now we had to hand something in and while doing just enough for that, we came to the point where it actually started working the way we wanted it to.
The script is written in python and we have a Max and Maya implementation, but my friend who programs the Max-part had no time the last few days, so there is only Maya in the video
alfalfasprossen - WAAA! thats awesome, are you connecting some wincom to Ued from maya, or is it "copy transforms"/paste into Ued?
Also how do you populate the scene's initially?
We are accessing the Windows UI of the Editor via a lot of different Windows functions, but the windows COM interface stuff didn't work with python and I only tried it for the modal dialogs, because they initially made problems otherwise, but yesterday I got it working with traditional functions. And yes, basically it is a copy, modify string, paste, thats why the objects disappear for a very short moment (the video is 2x speed, so you may not notice)
currently both scenes have to exist with the matching names, but we will provide functionality to automatically get objects from UEd to the 3d-Program, i'll keep you posted
We are accessing the Windows UI of the Editor via a lot of different Windows functions, but the windows COM interface stuff didn't work with python and I only tried it for the modal dialogs, because they initially made problems otherwise, but yesterday I got it working with traditional functions. And yes, basically it is a copy, modify string, paste, thats why the objects disappear for a very short moment (the video is 2x speed, so you may not notice)
currently both scenes have to exist with the matching names, but we will provide functionality to automatically get objects from UEd to the 3d-Program, i'll keep you posted
@alfalfasprossen What problems were you having with com interface and python?
I have used python with the comtypes modual with great success to control Photoshop from Maya using a com interface.
I only tried to use it for the modal dialog that appears when you call export selected. The provided libraries for comtypes didn't have that dialog. I created the .tlb from the .idl file and tried to let comtypes wrap it in a .py file, but it had two assertion fails which i couldn't solve.
I never used com interfaces before, and after a while i managed to answer the dialog with traditional methods. I don't know if the Editor itself is accessible via those interfaces or if it would provide any benefits...
is your script already available? maybe i'll take a look
ah nvm, ya for working with the com interface for PS it is really easy since PS has it's whole api exposed to the com interface, guess there is nothing of the sort in udk.
psLink is still incomplete, im actually redoing most of the code on the maya side of it ti make it more efficient and reduce the amount of data i need to send to photoshop.
curious for your tool, are you using unrealText for most of the information, or is it pretty much all done via windows UI commands
Hey everyone Back from a fairly long leave here sorry... >_>
I've completely redone my Xnormal Batcher tool (that was made in maxscript before) into a standalone tool, C# + wpf (learning new coding skills lol)
It's pretty much done, need to test some actual baking with it lol :
Features:
- It's mostly a batcher, looking over specific folders to bake all they contains.
- Can pick suffix & extensions of meshes
- Check if everything is there to bake a map (checks for low/high/cage)
- Independant Map Size for each mesh
- Remembers "last session" global and per mesh settings
- Notifies of baking crashes at the end
- Exposes all Maps Parameters
If you have any feedback/Questions on the UI, I'll be happy to improve/answer them
nice work. I think it's great to be able to access all options, but it looks a bit overwhelming. I wouldn't quite give this to our junior artists. They'd be overwhelmed and not know what to do, and in return use the tool wrong because they just don't know the settings. Or they might always call a TA for help
Are you supplying any meaningful presets? That could help people getting started and then they could tweak parameters.
You might also want to consider a simple and an advanced view for better usability.
looks way cooler than mine haha
the big questions I have are if you can bake AO and VertexColor in the same 'bake' or something like that. Like when i tried to do it, I had it create another XML if you had vertexcolor on so you don't have to set all those goofy settings yourself. Not that that's necessarily the best way to do it
could we also see what an expanded bake-options rollout looks like? It looks a bit intimidating having a huge ol list of those settings. I set mine up to pop in/out of the maptype checkbox so it wouldn't get too heavy/confusing
I really like your overview window! I was hopiong to be able to do something like that but im not smart or fast enough haha. So how does it determine what the lows and highs match up to for each bake?
Hey thanks Chris Means a lot to me ^^!
Yeah basically every thing that is checked in the global setting panel, will be baked all with the same process.
Kwramm >
The options rollout use the default xNormal settings. And in order to prevent cluttering the window into a massive Mess, I've made it react like Zbrush : only 1 panel is expanded at a time:
My idea was to have access to all parameters quickly, without needing an extra window (that'd need to close, 1 extra click times number of settings you want to change).
Once you've changed them, they're saved for the next session so you don't have to reedit everything, same goes for each file.(so if you close(or crash) and reopen the soft, it'll just load up the xml generated)
Settings are saved the instant you change one of them.
And I added a reset settings button that put back all default settings.
> bear in mind that: Map settings are the same for everyfile, except the map sizes that you can change independantly in the Files Tab.
the batcher works over 4 main folders (inside the baking path, that are created automatically when the path is choosen): "LowPoly", "HighPoly", "Cage", "Maps".
1st: it looks for the folder with most items that fits the suffixes & extensions set.
2nd: clean up the filename (remove any suffix/extension)
3rd: tries to match up the other 2 folders' content by reconstructing the correct filenames(from suffix/extensions), and ticks the checkboxes when it finds something that fits.
if all 3 (or 2 if you don't use the cage) are checked, then you can bake that file.
this is quite helpful to find what you forgot to put in your folders, and make sure everything is ready to bake
with a bake all/selected, it'll automatically skip the "invalid" stuff.
It will also tell you at the end which ones crashed during the bake process.
Hey thanks Chris Means a lot to me ^^!
Yeah basically every thing that is checked in the global setting panel, will be baked all with the same process.
but that is impossible from within xnormal, ao and vcolors rule each other out, so if you tick on both, will it do 2 runs?
i GUESS ao uses the vertexcolors of the highpoly, and thats why xnormal has a ignore highpolys vertex color option. if you don't turn that on when baking AO you will get a b&w vertexpaint.
added a fetch-selected-objects feature that uses UDKs ExportSelected to FBX command and imports the resulting fbx into maya. There is something fancy about the axis orientation that UDK uses in that case, I will go into detail about this in another post in the next few days.
I will issue a release soon, I first have to get our git repo ready for that
(Max users: you will have to wait a few weeks for a 3dsMax version, because my friend has to finish his master thesis first, he says :poly142:)
Hi - I'm not a tech artist, but I have a question about creating tools that hopefully one or more of you will be able to answer.
The indie project that I'm helping with is using the HeroEngine and the included FaceGen mesh morphing software, and our team needs to streamline the mesh morphing set up and importing pipeline, detailed here - http://hewiki.heroengine.com/wiki/FaceGen_Pipeline
The stand alone tool that we want to build would let us select multiple obj files, name them, and assign the various extreme mesh morph sliders to each one, and then generate the required lines of code - but we're not exactly sure how we should go about setting up and creating this tool - so do any of you tool makers have any advice or suggestions for us?
I didn't know it wasn't possible I guess I'll have to add a check for it and do a two pass job for it
ahh yeah there are some quirks to the way xnormal likes to bake stuff out :S. Thats why I ended up writing a second xml for any vertexcolor bakes, and also for any cases where you want to bake both an objectspace normal map and a tangentspace normal map (for example I talked to some people who said they baked an OS map and used handplane but would sometimes get artifacts, so would paint it down to the baked tangentspace map instead)
ahh yeah there are some quirks to the way xnormal likes to bake stuff out :S. Thats why I ended up writing a second xml for any vertexcolor bakes, and also for any cases where you want to bake both an objectspace normal map and a tangentspace normal map (for example I talked to some people who said they baked an OS map and used handplane but would sometimes get artifacts, so would paint it down to the baked tangentspace map instead)
Anyway, cool looking tool
General consensus make a second xml haha Yeah didnt know about this till an artist brought it up. Honestly never exported stuff to bake with vertex colors.
Well did some tests, and didn't had to change anything in my code:
it bakes AO and Vertex Colors without an hitch with the same xml file.
I'm using the last xNormal version, maybe it's been fixed.
Also for each Object to bake I use a new bake process, so I can get the exit code for each object and know when i get an error ( rather than baking all the objects with 1 process)
ah interesting, I'm on xnormal 3.18.3 and it still seems to render the AO and multiply that ontop of the vertexcolor in greyscale. Then render the vertexColor map correctly
what do you mean about the exit process? Are you able to get feedback from xnormal? It seems to only silently exit upon errors with me, so for my tool I had to check to see if the desired maps were created within the time it's been baking in order to see if it errored :S
ah interesting, I'm on xnormal 3.18.3 and it still seems to render the AO and multiply that ontop of the vertexcolor in greyscale. Then render the vertexColor map correctly
what do you mean about the exit process? Are you able to get feedback from xnormal? It seems to only silently exit upon errors with me, so for my tool I had to check to see if the desired maps were created within the time it's been baking in order to see if it errored :S
Hey Funky not sure what way trebor is using but you can get the exit code to see if user aborted the process or not. Also there is a debugLog in the xNormal folder in Documents that you could parse through and get certain errors that reside in the mesh. Also noticing the same thing Funky is talking about. Will try updating Xnormal and see if it was changed
hum wait ;p I'll check again on that then ^^ the Vcolors in my highpoly are actually a kind of gray, so that's probably why I didn't see a difference... ahaha
EDIT:
Ah, yeah got my vcolors out, but the AO was full black... Guess I've to do a v1.02
Ive been working on some Photoshop Scripts using Javascript over the past couple weeks I thought I would post some of them here for download.
This is a quick offset that detects texture res and offsets by half
This script is an alternate way of opening .psds based on an art directory. It automatically populates names based on the files in each folder. You can change the path in this line if you like
folders.push(Folder("/D/art/textures/Asphalt"));
Heres a perforce checkin/out/add for photoshop. I can't take credit for the whole thing, the batch file construct is based on an older script by Vlad Dumitrascu, but I modified it for CS6 as well as added a few cosmetic additions and some cleanup commands
Only problem I ran into was that your computer name and workspace client name have to be the same.
Hey guys, great work on here. I'm currently trying to an 80's style post process filter for a demo I'm working on in UDK. Something like what's constantly on in FarCry Blood Dragon shown here
I've been slowly working on an engine over the past two months and I'm starting to like where it's headed. I'm using C++ and DirectX, with Bullet for physics
I'm currently looking into communication between Autodesk Maya and Adobe Photoshop, learning some Photoshop scripting and discovering all the amazing things you can do with such a pipeline. It's fun, interesting and very educational. Me like! I have an idea for a Maya<-->Photoshop tool in mind but haven't really started developing yet.
I've been slowly working on an engine over the past two months and I'm starting to like where it's headed. I'm using C++ and DirectX, with Bullet for physics
LOL - OMG Mike.
That is some real hardcore stuff you got there ^^ I'm impressed!
Have you looked into using comtypes in the python engine of maya, i have done this to setup a com link between maya and Photoshop, which allows me to get full access of photoshops scripting api from python in maya.
If you look at my sig at the psLink video, that is how im sending the data and calling photoshop methods from maya.
after you got comtypes installed, it's as simple as importing the modual, and instaitinating the psApp object, than calling methods on that object.
I'm currently looking into communication between Autodesk Maya and Adobe Photoshop, learning some Photoshop scripting and discovering all the amazing things you can do with such a pipeline. It's fun, interesting and very educational. Me like! I have an idea for a Maya<-->Photoshop tool in mind but haven't really started developing yet.
Nah, not really anything else to show. It's basically just a big terrain engine with streaming so it supports 8km terrains. I've got physics in but so far there's just a cube you can drop and it'll act all physics-y along the terrain. Here's a few more screens, though
Have you looked into using comtypes in the python engine of maya, i have done this to setup a com link between maya and Photoshop, which allows me to get full access of photoshops scripting api from python in maya.
If you look at my sig at the psLink video, that is how im sending the data and calling photoshop methods from maya.
after you got comtypes installed, it's as simple as importing the modual, and instaitinating the psApp object, than calling methods on that object.
The script (he use VBscript) with the commands is written on the fly in Python before being executed in Photoshop. Pretty cool, but I want more than this: I want a want full bidirectional communication.
...but requires CS5.5+ and/or way too many headaches.
So atm I'm stuck. TheMaxx stuff probably works, but requires Photoshop CS5.5+ and several python libraries - which I have failed to get to work on my machine due to lack of installation instructions.
most python libraries install pretty easy if you got pip installed in python, and easy_install. For the most part with how python libs are packaged it is simply just running
pip install <pacakgename>
in console, or downloading the package and uses easy_install
Replies
it'll be safe enough to animate it - if you need the pivot somewhere specific then you could position constrain it to another point helper (with relative on)
so cool while the tweaked version of the ATI tool from sebastien lagarde is super neat, this seems like such a huge timesaver. can't wait
Excellent. Nice work, Drew.
it looks like you've got the bulge joint controlled via expression based on distance between the locators on joint A and joint B?
[ame="http://www.youtube.com/watch?v=sCaDtKNKReY"]http://www.youtube.com/watch?v=sCaDtKNKReY[/ame]
I am also trying to do a xnormal custom tool but stuck at the initial bit. Anyone knows, if there's maxscript access to the Xnormal SBM Exporter for max?
I have gone so far as exporting the sbm through uiAccessor but not able to close the window through uiAccessor.
Any help would be great.
+1 to this approach. I use it all the time, esp for keeping rigs organized.
Rather than use the link tool, I'd use mxs .parent to add selected objects
mxs:
or better yet use PJanssen's excellent Maya-style Outliner for 3DS Max
[ame="http://www.youtube.com/watch?v=aPgBjNdCD50"]weight tweaker tool - YouTube[/ame]
weighting is such a horrible task with most default tools
been working on this script lately, we started it as a project for university over a year ago, but never came to really work on it. now we had to hand something in and while doing just enough for that, we came to the point where it actually started working the way we wanted it to.
The script is written in python and we have a Max and Maya implementation, but my friend who programs the Max-part had no time the last few days, so there is only Maya in the video
Also how do you populate the scene's initially?
currently both scenes have to exist with the matching names, but we will provide functionality to automatically get objects from UEd to the 3d-Program, i'll keep you posted
@alfalfasprossen What problems were you having with com interface and python?
I have used python with the comtypes modual with great success to control Photoshop from Maya using a com interface.
Check out pslink in my signature.
I never used com interfaces before, and after a while i managed to answer the dialog with traditional methods. I don't know if the Editor itself is accessible via those interfaces or if it would provide any benefits...
is your script already available? maybe i'll take a look
psLink is still incomplete, im actually redoing most of the code on the maya side of it ti make it more efficient and reduce the amount of data i need to send to photoshop.
curious for your tool, are you using unrealText for most of the information, or is it pretty much all done via windows UI commands
I've completely redone my Xnormal Batcher tool (that was made in maxscript before) into a standalone tool, C# + wpf (learning new coding skills lol)
It's pretty much done, need to test some actual baking with it lol :
Features:
- It's mostly a batcher, looking over specific folders to bake all they contains.
- Can pick suffix & extensions of meshes
- Check if everything is there to bake a map (checks for low/high/cage)
- Independant Map Size for each mesh
- Remembers "last session" global and per mesh settings
- Notifies of baking crashes at the end
- Exposes all Maps Parameters
If you have any feedback/Questions on the UI, I'll be happy to improve/answer them
Here are some screen Shots:
Are you supplying any meaningful presets? That could help people getting started and then they could tweak parameters.
You might also want to consider a simple and an advanced view for better usability.
looks way cooler than mine haha
the big questions I have are if you can bake AO and VertexColor in the same 'bake' or something like that. Like when i tried to do it, I had it create another XML if you had vertexcolor on so you don't have to set all those goofy settings yourself. Not that that's necessarily the best way to do it
could we also see what an expanded bake-options rollout looks like? It looks a bit intimidating having a huge ol list of those settings. I set mine up to pop in/out of the maptype checkbox so it wouldn't get too heavy/confusing
I really like your overview window! I was hopiong to be able to do something like that but im not smart or fast enough haha. So how does it determine what the lows and highs match up to for each bake?
Yeah basically every thing that is checked in the global setting panel, will be baked all with the same process.
Kwramm >
The options rollout use the default xNormal settings. And in order to prevent cluttering the window into a massive Mess, I've made it react like Zbrush : only 1 panel is expanded at a time:
My idea was to have access to all parameters quickly, without needing an extra window (that'd need to close, 1 extra click times number of settings you want to change).
Once you've changed them, they're saved for the next session so you don't have to reedit everything, same goes for each file.(so if you close(or crash) and reopen the soft, it'll just load up the xml generated)
Settings are saved the instant you change one of them.
And I added a reset settings button that put back all default settings.
> bear in mind that: Map settings are the same for everyfile, except the map sizes that you can change independantly in the Files Tab.
the batcher works over 4 main folders (inside the baking path, that are created automatically when the path is choosen): "LowPoly", "HighPoly", "Cage", "Maps".
1st: it looks for the folder with most items that fits the suffixes & extensions set.
2nd: clean up the filename (remove any suffix/extension)
3rd: tries to match up the other 2 folders' content by reconstructing the correct filenames(from suffix/extensions), and ticks the checkboxes when it finds something that fits.
if all 3 (or 2 if you don't use the cage) are checked, then you can bake that file.
this is quite helpful to find what you forgot to put in your folders, and make sure everything is ready to bake
with a bake all/selected, it'll automatically skip the "invalid" stuff.
It will also tell you at the end which ones crashed during the bake process.
but that is impossible from within xnormal, ao and vcolors rule each other out, so if you tick on both, will it do 2 runs?
added a fetch-selected-objects feature that uses UDKs ExportSelected to FBX command and imports the resulting fbx into maya. There is something fancy about the axis orientation that UDK uses in that case, I will go into detail about this in another post in the next few days.
I will issue a release soon, I first have to get our git repo ready for that
(Max users: you will have to wait a few weeks for a 3dsMax version, because my friend has to finish his master thesis first, he says :poly142:)
The indie project that I'm helping with is using the HeroEngine and the included FaceGen mesh morphing software, and our team needs to streamline the mesh morphing set up and importing pipeline, detailed here - http://hewiki.heroengine.com/wiki/FaceGen_Pipeline
The stand alone tool that we want to build would let us select multiple obj files, name them, and assign the various extreme mesh morph sliders to each one, and then generate the required lines of code - but we're not exactly sure how we should go about setting up and creating this tool - so do any of you tool makers have any advice or suggestions for us?
ahh yeah there are some quirks to the way xnormal likes to bake stuff out :S. Thats why I ended up writing a second xml for any vertexcolor bakes, and also for any cases where you want to bake both an objectspace normal map and a tangentspace normal map (for example I talked to some people who said they baked an OS map and used handplane but would sometimes get artifacts, so would paint it down to the baked tangentspace map instead)
Anyway, cool looking tool
General consensus make a second xml haha Yeah didnt know about this till an artist brought it up. Honestly never exported stuff to bake with vertex colors.
it bakes AO and Vertex Colors without an hitch with the same xml file.
I'm using the last xNormal version, maybe it's been fixed.
Also for each Object to bake I use a new bake process, so I can get the exit code for each object and know when i get an error ( rather than baking all the objects with 1 process)
what do you mean about the exit process? Are you able to get feedback from xnormal? It seems to only silently exit upon errors with me, so for my tool I had to check to see if the desired maps were created within the time it's been baking in order to see if it errored :S
Hey Funky not sure what way trebor is using but you can get the exit code to see if user aborted the process or not. Also there is a debugLog in the xNormal folder in Documents that you could parse through and get certain errors that reside in the mesh. Also noticing the same thing Funky is talking about. Will try updating Xnormal and see if it was changed
EDIT:
Ah, yeah got my vcolors out, but the AO was full black... Guess I've to do a v1.02
I hope it is useful for somebody.
http://nysuatro.blogspot.ca/2013/10/project-triangle-vision-personal.html
[ame="http://www.youtube.com/watch?v=4Xwn5Jp8aCY"]Real Eyes Unity Eye Shader - YouTube[/ame]
Whoa, nice! Really nice. I like that faked wave breaking. It's convincing. Maybe i will add more alpha blending at the ground.
Any break down? Maybe udk package?
Anyway, cool!
"I have special eyes... MY BRAND!"
This is a quick offset that detects texture res and offsets by half
This script is an alternate way of opening .psds based on an art directory. It automatically populates names based on the files in each folder. You can change the path in this line if you like
Heres a perforce checkin/out/add for photoshop. I can't take credit for the whole thing, the batch file construct is based on an older script by Vlad Dumitrascu, but I modified it for CS6 as well as added a few cosmetic additions and some cleanup commands
Only problem I ran into was that your computer name and workspace client name have to be the same.
clicks!
There are a few others but theyre not that interesting yet
http://www.youtube.com/watch?v=VOvBP8cc2F4&feature=player_detailpage#t=292
I really like the imperfections of the filter and almost "glitching" in this example from Max Payne 3.
http://www.youtube.com/watch?v=ZeaWBINtmVU&feature=player_detailpage#t=993
or if any way to convert this after effects template might be a good start
http://www.youtube.com/watch?v=TT-_ZfWIdZY
Any help with pointing me in the right direction of getting this filter or material going would be really appreciated!
Here's a screencap:
And here's a little animation of the sunrise
How come my Max previews ambient occlusion only in orthographic view, not in perspective?
LOL - OMG Mike.
That is some real hardcore stuff you got there ^^ I'm impressed!
If you look at my sig at the psLink video, that is how im sending the data and calling photoshop methods from maya.
after you got comtypes installed, it's as simple as importing the modual, and instaitinating the psApp object, than calling methods on that object.
that bit of code will run photoshop if not already running, and give you full access to the javaScript api as python objects.
Nah, not really anything else to show. It's basically just a big terrain engine with streaming so it supports 8km terrains. I've got physics in but so far there's just a cube you can drop and it'll act all physics-y along the terrain. Here's a few more screens, though
You can achieve the same results without the comtypes module if you do it like Pete Hanshaw: http://peterhanshawart.blogspot.se/2013/10/python-photoshop-automation-without_29.html
The script (he use VBscript) with the commands is written on the fly in Python before being executed in Photoshop. Pretty cool, but I want more than this: I want a want full bidirectional communication.
It can be done:
http://tech-artists.org/forum/showthread.php?4481-Communicating-between-Photoshop-and-Maya-(Python)
...but requires CS5.5+ and/or way too many headaches.
So atm I'm stuck. TheMaxx stuff probably works, but requires Photoshop CS5.5+ and several python libraries - which I have failed to get to work on my machine due to lack of installation instructions.
pip install <pacakgename>
in console, or downloading the package and uses easy_install