I'm really looking forward to it, I planned something similar in my todolist but never had the time for doing it !
Yeah tell me about it. I also have this internal todo list of MEL-stuff I wanna do but never have the time for Having a job has both it's pros and cons.
Planning on learning Python, PyMEL, Qt and Maya API once I'm done with this though - feels like I smart move for someone who wants to be a tech artist
Come at me bro, we are feeling the same !
However, i will skip the Python/Qt phase and go from Mel to C++ API once I will have some free time in my free time (yeah, really).
@TaylorAnimated just that hydraulics on legs (pair most close to body) is not real other than that nice job on that red one.
Could you explain further? I animated this way passed it's physical limits just to show it off. If we were being logical it wouldn't be able to move to such extremes. I added in some scaling XForms in order to not have any gaps at the extremes of most of the pistons on these guys, it lets you stretch and squash to illogical limits, but gives the animators more freedom without visually breaking.
Yep, I understand all you say and it is logical. To bring it to "more real" I would use double cylinder piston on that leg maybe. Other than that it is hard to notice for normal player. It is really detail. I didn't mean to be rude or offensive. Great work it is.
Yep, I understand all you say and it is logical. To bring it to "more real" I would use double cylinder piston on that leg maybe. Other than that it is hard to notice for normal player. It is really detail. I didn't mean to be rude or offensive. Great work it is.
You weren't rude, I just wasn't sure what you meant. I agree about it being a double cylinder, looking at it again now that would have made more sense, I wasn't the modeler of it though and it feels a bit rude to change someones model. I'll certainly bring that up with the artist so he can keep it in mind in future.
UDK provide some Tone Mapping setting, but nothing dynamic. So these last two days I tried to create something that read the Luminosity of the screen and then update the tone map scale of the Ubershader node. Here is the result :
I'm using DLLBind and GetPixel form the Win32 API (took me a day to get something working because I never used any of them before). Unfortunately it only works in windowed mode. So I have to find an other solution to made this to work in fullscreen mode.
Currently I have in mind to use a scripted texture of 1x1 pixel that capture the scene, this way I will get a cheap and average luminosity of what the player see. The next will be to convert this texture into an usable value. I never used scripted textures before so I don't know yet if it's possible...
A full solution inside the UDK would be cool anyway, using DLL Bind to do this seems a bit overkill...
So what can you do when your wrist from your writing hand is broken and you can't work on your character textures: you code!
Today, I completed an LOD tool for "my" team (sorry no screen to show):
Because we work with characters in several parts, was kinda tricky to generate LODs easily within a budget. Now it's a lot easier !
It's still using the old ProOptimizer, so it's not a magical result and will never be as good as a hand made LOD but it can help speed up process sometimes.
The GUI lets the user load the selected meshes to be "decimated", this lot represents the "character" at LOD0.
Then you can decide to generate the LOD lvl you want for all or individual meshes.
Then You set up your LOD target budget for each lvl.
You can use 2 different methods to decimate:
- Linear/Uniform/Constant: It's basically using the mean average between the budget and total vertice amount you selected.
- Progressive/Adaptative: In this mode, you can set what amount of vertice each mesh will have for the desired lvl/budget using "balanced" sliders. (think of what happen when skinning bones influence on a vertex where the weight is normalized to be always 1: moving 1 slider affects the others).
Then you can have an autoskinwrap applied on the lower LODs from LOD0 and generic skinned bodies and boom click "generate" and voil
@c.buliarca: Nice I want to get on some Photoshop panel action some time soon again as well.
I worked on a camera tracker on the weekend in AIR for a social media driven slot car set. For some reason our mechanical solution was not working reliable enough as the slot cars moved to fast, so we ended up using my web cam tracker.
The basic flow is:
have a webcam feed, and take a snapshot
compare the 2 bitmaps using a difference blend
add some threshold, gray scale and blur filters
extract trapezoid shapes and retarget them using Hormography
Within each slice detect a certain blob size that is based on the difference blend of the real time web feed and the static snapshot.
Push the data with a build in socket server to a C program that tracks the arduino and database on the server.
@renderhjs: thank you, your stuff it's really great @MrOneTwo thank you, the youtube videos are like an self advertisemnt, showing my portfolio and the games I've worked for
My workflow for skydomes always included getting a tiling sky panorama and apply a polar coordinates filter in Photoshop. However, the polar coordinates filter robs the image of half its resolution.
Radial ripple effects in UDK have traditionally been made using panning textures on circular polygonal meshes, but even if the mesh is flat and the opacity reaches 0 at the edges, the material reveals the geometry on each of its inner edges, and subdivisions add up quickly. It's also hard to tile it.
I was playing with UDK's procedural gradients when I happened upon this on Wikipedia:
I found that Photoshop's polar coordinates filter could be imitated by using a radial gradient and an angle gradient, turning a straight line into a perfect circle. Why not sample a texture with these gradients and use them as texture coordinates? Well, I tried this.
Immediately, there's a problem. Photoshop and don't handle colors the same way, so that option is out. We'll have to do this procedurally.
After a few days of teaching myself trigonometry, I created this.
Plugging this material function into the UVs of my texture gave me a lossless polar coordinates filter.
What's more, it tiles radially, so it's perfect for radial rippling.
I hope you enjoyed my little project; I certainly did.
Thanks for the info. I've had problems with color differences between Unreal and Photoshop before; I'll look into the sRGB setting.
And thank you for pointing out the VectorToRadialValue function. It helped me optimize my own function, and I think mine might be a bit better than UDK's now.
UDK's function is 61/107/49 instructions. Mine, with all the same functionality, is 60/105/49.
So after seeing Ace's thread decided to try my hand at ripping images out from a url. (sounded fun and different than the stuff I do at work) Right now everything is in python and I moved from old regular expressions to BeautifulSoup. Its nice as I can just search through the tags. Post counts are fucked right now though I do have the data being pumped out probably something fucked in the key and value. Also glad im not a web developer hehe
Update on my Xnormal Batch tool Hadn't touched it in 2months!
I'm getting really close to something usable for public .
What's new :
- You can set up suffixes and extensions for each file category, used to filter the folders.
- All the global settings are saved between sessions (using XML and ini files)
- Map Size for each file are saved between sessions. Basically if it can find the settings file for a particular baseName it'll use it.
BaseName is the fileName without the suffixes/extensions so it's independant from which folder is used as "main" folder(as it can change between 2 refresh or sessions).
- You can set all the maps to a specific size rather than one by one.
- Subfolders are created automatically when changing the baking folder
TODO:
- Add all the other types of Bakes settings that Xnormal can do.
- Simple mzp Installer for release.
Well only for Normal, AO, bent normals and vertex colors, for now!
But they are easy to implement, since it's already there in the XML, it's just doing the gui for it.
bare in mind they are global settings so every file will be baked with those settings, it's just the map sizes that are individual.
I'm thinking on a way to maybe edit/create individual settings.
I have a template XML file, that holds the global settings ( using cage? type of bakes & bake settings) and then I use it to generate an xml file for each lowPoly with the map size
And by using those, I can retrieve the map size settings between sessions.
SO if it's an exploded bake of an object, you have to merge the maps yourself afterward. as Everything is baked individually.
Hey guys. Just wanted to pimp my Zscript tutorial that just released.
I teamed up with the guys at Eat3D and made a 4 hour tutorial on scripting in Zbrush. No need to be a smarty-pants-programmer to learn Zscripting. It's very easy to learn. The tutorial starts with an introduction and goes through the process of making a final plugin.
wrote a little download handler (C++/Qt/P4 Api) on the weekend for P4 so you can use perforce://server:port/depot/folder/file links in your website. It's not 100% done. I'm still working on it in my free time to clean up the code and refine the UI a bit.
Started learning C#, writing a GUI front-end for a texture-compression XML metadata system (controls build resolution per-SKU, compression algorithm etc). C# owns maxscript on every level...
Started learning C#, writing a GUI front-end for a texture-compression XML metadata system (controls build resolution per-SKU, compression algorithm etc). C# owns maxscript on every level...
Yeah, C# is much better than Maxscript. Although having to reload max for each new .dll compile is annoying. Also having to deal with all the Eventhandlers if you got that route. But if you directly hook into max with some of the SDK exposed stuff through C#, that's better. But then you can't support < Max 2012 or something I think.
Hey Emar, I was wondering if you did anything special to wrestle those bubbles and make them behave?
Whenever I try and refract a SceneTextures (I'm assuming that's what you're using), it ends looking like an acceleration disk shot through a black hole. Any advice?
Cheers, and btw, is that Escape material using Displacement Map, or just vertex offsets?
Ace-Angel, I'm using 3D geometry(simple spheres in the video) for bubbles. The material uses the distortion input for fake refraction. The distortion is based on a transformation(world -> local) of the reflection vector.
The ice material uses a one-channel displacement map.
Went back to working on this. Last 10 pages of WAYWO. Got postcounts, user info etc all being collected properly. Need to figure out unlimited scrolling as putting every image on one page crashes Chrome XD
Went back to working on this. Last 10 pages of WAYWO. Got postcounts, user info etc all being collected properly. Need to figure out unlimited scrolling as putting every image on one page crashes Chrome XD
Where do you see this Ace? Tested this on chrome only and everything was working. Firefox took forever to load the images. I also totally forgot that people can attach stuff so will take a look at that.
working on some modular pieces and some textures for a kind of medieval town/fort (nothings assembled properly yet lol) and just kind of trying to get a nice overhang of the thatch using opacity texture maps in the alpha channel.
(latest)
Replies
Planning on learning Python, PyMEL, Qt and Maya API once I'm done with this though - feels like I smart move for someone who wants to be a tech artist
However, i will skip the Python/Qt phase and go from Mel to C++ API once I will have some free time in my free time (yeah, really).
Could you explain further? I animated this way passed it's physical limits just to show it off. If we were being logical it wouldn't be able to move to such extremes. I added in some scaling XForms in order to not have any gaps at the extremes of most of the pistons on these guys, it lets you stretch and squash to illogical limits, but gives the animators more freedom without visually breaking.
Thanks for the compliment as well.
You weren't rude, I just wasn't sure what you meant. I agree about it being a double cylinder, looking at it again now that would have made more sense, I wasn't the modeler of it though and it feels a bit rude to change someones model. I'll certainly bring that up with the artist so he can keep it in mind in future.
[ame="http://www.youtube.com/watch?v=IxFWP_VJpOM"]UDK | EXIL | Dynamic tone mapping - YouTube[/ame]
I'm using DLLBind and GetPixel form the Win32 API (took me a day to get something working because I never used any of them before). Unfortunately it only works in windowed mode. So I have to find an other solution to made this to work in fullscreen mode.
Currently I have in mind to use a scripted texture of 1x1 pixel that capture the scene, this way I will get a cheap and average luminosity of what the player see. The next will be to convert this texture into an usable value. I never used scripted textures before so I don't know yet if it's possible...
A full solution inside the UDK would be cool anyway, using DLL Bind to do this seems a bit overkill...
So what can you do when your wrist from your writing hand is broken and you can't work on your character textures: you code!
Today, I completed an LOD tool for "my" team (sorry no screen to show):
Because we work with characters in several parts, was kinda tricky to generate LODs easily within a budget. Now it's a lot easier !
It's still using the old ProOptimizer, so it's not a magical result and will never be as good as a hand made LOD but it can help speed up process sometimes.
The GUI lets the user load the selected meshes to be "decimated", this lot represents the "character" at LOD0.
Then you can decide to generate the LOD lvl you want for all or individual meshes.
Then You set up your LOD target budget for each lvl.
You can use 2 different methods to decimate:
- Linear/Uniform/Constant: It's basically using the mean average between the budget and total vertice amount you selected.
- Progressive/Adaptative: In this mode, you can set what amount of vertice each mesh will have for the desired lvl/budget using "balanced" sliders. (think of what happen when skinning bones influence on a vertex where the weight is normalized to be always 1: moving 1 slider affects the others).
Then you can have an autoskinwrap applied on the lower LODs from LOD0 and generic skinned bodies and boom click "generate" and voil
[ame="http://www.youtube.com/watch?v=M02FFGuzVpA"]helpBCM part1 - YouTube[/ame]
[ame="http://www.youtube.com/watch?v=JMLNMlKIBrE"]helpBCM part2 - YouTube[/ame]
To download it go here:
http://buliarcatools.blog.fc2.com/blog-entry-3.html
I worked on a camera tracker on the weekend in AIR for a social media driven slot car set. For some reason our mechanical solution was not working reliable enough as the slot cars moved to fast, so we ended up using my web cam tracker.
The basic flow is:
Here is a more in depth video demonstration
[ame="http://www.youtube.com/watch?v=_MrQWcTyWzA&list=UUthitAX8BC2zolBRP-cHg8Q&index=1"]Tic Tac Slot Car Tracker - YouTube[/ame]
The slot car project is on facebook if you want to check it out, its only available though on Australian times (9 AM - 5 PM).
https://www.facebook.com/tictacANZ/app_150322668458112
Maybe for the office where we play a lot of ping pong, I'll start a ping pong tracker next
Great stuff... but whats with the youtube movies in the ui ? Why do they need to be there?
@MrOneTwo thank you, the youtube videos are like an self advertisemnt, showing my portfolio and the games I've worked for
http://filterforge.com/filters/1479.html
Details and download -here-.
Radial ripple effects in UDK have traditionally been made using panning textures on circular polygonal meshes, but even if the mesh is flat and the opacity reaches 0 at the edges, the material reveals the geometry on each of its inner edges, and subdivisions add up quickly. It's also hard to tile it.
I was playing with UDK's procedural gradients when I happened upon this on Wikipedia:
I found that Photoshop's polar coordinates filter could be imitated by using a radial gradient and an angle gradient, turning a straight line into a perfect circle. Why not sample a texture with these gradients and use them as texture coordinates? Well, I tried this.
Immediately, there's a problem. Photoshop and don't handle colors the same way, so that option is out. We'll have to do this procedurally.
After a few days of teaching myself trigonometry, I created this.
Plugging this material function into the UVs of my texture gave me a lossless polar coordinates filter.
What's more, it tiles radially, so it's perfect for radial rippling.
I hope you enjoyed my little project; I certainly did.
The algorithmic approach you are using will give smoother results than a compressed texture.
+Not to undo your hard work, UDK has a material function already you could use to do this, it might be a bit more optimal...
MaterialFunction'Engine_MaterialFunctions02.Utility.VectorToRadialValue'
And thank you for pointing out the VectorToRadialValue function. It helped me optimize my own function, and I think mine might be a bit better than UDK's now.
UDK's function is 61/107/49 instructions. Mine, with all the same functionality, is 60/105/49.
A small victory.
[ame="http://www.youtube.com/watch?v=5GV9MTBRp3U"]UDK Flames WIP - YouTube[/ame]
The flame textures:
Wires:
...and a text effect:
[ame="http://www.youtube.com/watch?v=2pTf25DDh7Q"]UDK text effect - YouTube[/ame]
https://dl.dropbox.com/u/391285/PolycountImageTest/test.html
I'm getting really close to something usable for public .
What's new :
- You can set up suffixes and extensions for each file category, used to filter the folders.
- All the global settings are saved between sessions (using XML and ini files)
- Map Size for each file are saved between sessions. Basically if it can find the settings file for a particular baseName it'll use it.
BaseName is the fileName without the suffixes/extensions so it's independant from which folder is used as "main" folder(as it can change between 2 refresh or sessions).
- You can set all the maps to a specific size rather than one by one.
- Subfolders are created automatically when changing the baking folder
TODO:
- Add all the other types of Bakes settings that Xnormal can do.
- Simple mzp Installer for release.
Any suggestions?
Enjoy!
But they are easy to implement, since it's already there in the XML, it's just doing the gui for it.
bare in mind they are global settings so every file will be baked with those settings, it's just the map sizes that are individual.
I'm thinking on a way to maybe edit/create individual settings.
I mean in the xml file, for what I have seen it's a unique setting...
And by using those, I can retrieve the map size settings between sessions.
SO if it's an exploded bake of an object, you have to merge the maps yourself afterward. as Everything is baked individually.
[ame="http://www.youtube.com/watch?v=jMKjozL0GjI"]UDK fake refraction - YouTube[/ame]
[ame="http://www.youtube.com/watch?v=nvJV6Yb5RLA"]bubbles - YouTube[/ame]
I teamed up with the guys at Eat3D and made a 4 hour tutorial on scripting in Zbrush. No need to be a smarty-pants-programmer to learn Zscripting. It's very easy to learn. The tutorial starts with an introduction and goes through the process of making a final plugin.
Check it out.
http://eat3d.com/blog/eat-3d/new-dvd-release-zscripting-zbrush-introduction-and-application
Yeah, C# is much better than Maxscript. Although having to reload max for each new .dll compile is annoying. Also having to deal with all the Eventhandlers if you got that route. But if you directly hook into max with some of the SDK exposed stuff through C#, that's better. But then you can't support < Max 2012 or something I think.
I currently like to support 2010 +
Whenever I try and refract a SceneTextures (I'm assuming that's what you're using), it ends looking like an acceleration disk shot through a black hole. Any advice?
Cheers, and btw, is that Escape material using Displacement Map, or just vertex offsets?
Cheers!
The ice material uses a one-channel displacement map.
I hope this helps.
http://dl.dropbox.com/u/391285/PolycountImageTest/test.html
Where do you see this Ace? Tested this on chrome only and everything was working. Firefox took forever to load the images. I also totally forgot that people can attach stuff so will take a look at that.
EDIT: LOL it was an image.
HLSL learnin's.
(latest)
(older)
Edited a bit of it quickly in photoshop to get some ideas down faster than fucking around with column layouts
EDIT: The image is too heavy for the forum, click here to look.