Home Coding, Scripting, Shaders

Tech Artist - What are you working on: FOREVER Edition!

1272830323356

Replies

  • Synthesizer
    Offline / Send Message
    Synthesizer polycounter lvl 11
    Flowmap Generator is now available on the asset store, the thread on Unity's forums has some more info and a link to the asset.
    http://forum.unity3d.com/threads/194577-Flowmap-Generator-Create-flowmaps-using-a-fluid-simulation-RELEASED
  • McGreed
    Offline / Send Message
    McGreed polycounter lvl 15
    Regarding maxscript (actually, why don't we have a sticky dedicated to maxscript/maya script ect?), is it possible for a script to monitor an object without being visually open? for example, like having two normal boxes named "interactivebox1" and "interactivebox2", and when moving one box, the script reacts and scales the other box. It's just an example of what I mean with passive interactive. Is it possible to have a script running passive, until one of the objects it's monitoring changes? or isn't it feasible?
  • The Flying Monk
    Offline / Send Message
    The Flying Monk polycounter lvl 18
    A Script Controller may be what your after, or expression controller, or maybe wire paramaters. Instead of being keyframed "interactivebox1" scale is controlled by code or an expression based on the position or any other variable in the scene.
  • Norman3D
    Offline / Send Message
    Norman3D polycounter lvl 14
    You can also do it with callbacks. In this case you would need the "when transform changes".

    I think a sticky about maxscript would be great!
  • McGreed
    Offline / Send Message
    McGreed polycounter lvl 15
    Cheers, I will look into those, see if they might work out for what I had in mind.
  • passerby
    Offline / Send Message
    passerby polycounter lvl 12
    McGreed wrote: »
    Regarding maxscript (actually, why don't we have a sticky dedicated to maxscript/maya script ect?), is it possible for a script to monitor an object without being visually open? for example, like having two normal boxes named "interactivebox1" and "interactivebox2", and when moving one box, the script reacts and scales the other box. It's just an example of what I mean with passive interactive. Is it possible to have a script running passive, until one of the objects it's monitoring changes? or isn't it feasible?

    can be done but in maya that would better be done with expressions or nodes
  • McGreed
    Offline / Send Message
    McGreed polycounter lvl 15
    Yeah, but it was mainly an example, a more useless example would be that whenever you move an object called something like "tikikiki*" and print out its coords, without having any script running (except for the one that apparently was auto running/callback), which runs in the background. The whole point was to make something to react interactive, without prompting anything to do it.
    Don't know if I get the concept across, just trying to figure out a way to get a script to run and work passive in the background whenever you open a scene (which uses the script).
    But the main issue is that the script doesn't run/use resources not nessesary if the conditions wasn't fullfilled, in this case that the object was called "tikikiki"
  • passerby
    Offline / Send Message
    passerby polycounter lvl 12
    ya in maya that can be done by creating callback with script jobs, this is possible from mel, and python
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Hey McGreed, this will probably help

    http://docs.autodesk.com/3DSMAX/15/ENU/MAXScript-Help/index.html?url=files/GUID-513285B3-DBF6-471E-B587-B5BE14D4D875.htm,topicNumber=d30e705402

    On a side note, anyone have experience with DotNet? Having trouble with what seems like a refresh issue with a listView and rollout floaters. (The column does not refresh if I minimize a rollout in the floater. Probably should just make my own dotnet form :/ Wish there was PyQt or something better :P Also this is a bug I've seen in 2011 and 2012 with the Render To Texture window. Just minimize General Settings and you'll see what I'm talking about.
  • CrazyButcher
    Offline / Send Message
    CrazyButcher polycounter lvl 18
    Been working on a tool in my freetime to bring a bit of spline/nurbs transition type stuff to polymodelling for 3dsmax. Intend to release an open beta of "Alles Im Fluss" (everything flows) soon, proper website and videos are in the works.

    You can paint extrusions of faces or edges. Edges can be connected to other open edges and one can blend from what you have drawn to a "perfect spline" transition between the two. The spline can be influenced thruough several options.

    allesimfluss_connect.gif

    A lot effort was also put into implementing and refining an algorithm that tries to cap n-gon holes while sticking to quads (at worst one triangle).

    allesimfluss_gridcap.gif

    Of course you can also paint extrusions. Furthermore you can apply the path you painted to any new extrusion (edge or face). Relative orientation is preserved. Finally you can store your paths to disk and reapply them later :)

    allesimfluss_extrude.gif

    and before anyone screams conspiracy, yes I am guilty of painting out some of the evil selection brackets as noob me left them on during capture ;)
    Looking forward to get this in your hands :)
  • Eric Chadwick
    Conspiracy!!

    Looks great CB!
  • McGreed
    Offline / Send Message
    McGreed polycounter lvl 15
    Darn, that looks nasty, CrazyButcher, I really like the fill function, can easy see some nice applications for it, to easy the burden to get a seamless surface.

    haiddasalami, thanks, that gave me a nice example to how its used. A page with all the functions and properties for a function is all good and all, but I always found it much easier to understand when I see examples of commands in use.

    I have a question though about path constraints. I wanted to constrain a object to a spline, and I used this:

    MyObj.pos.controller = pathfollow:true path:MySpline constantVel:true percent:MyPos allowUpsideDown:on

    This does place the object in the right position, however it also generate it as an animation, which wasn't what I wanted. Is there a way to constrain something to a path, without it generating an animation? Or is that needed, if you want the object to adjust it's position if the path changes? Or am I going around it the wrong way?
  • SPYFF
    Offline / Send Message
    SPYFF polycounter lvl 10
    CrazyButcher: nice powerful tool, looks like 3ptools on steroids :D Look forward!
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    McGreed wrote: »

    I have a question though about path constraints. I wanted to constrain a object to a spline, and I used this:

    MyObj.pos.controller = pathfollow:true path:MySpline constantVel:true percent:MyPos allowUpsideDown:on

    This does place the object in the right position, however it also generate it as an animation, which wasn't what I wanted. Is there a way to constrain something to a path, without it generating an animation? Or is that needed, if you want the object to adjust it's position if the path changes? Or am I going around it the wrong way?

    I'm no max pro but I just did that without maxscript and still generated animation keys. Just looks like thats how the tool works. You can pick how far along you want it and then snapshot it at that position if you dont want any anim data.

    CrazyButcher that looks awesome! Love the replay path feature
  • Spatz
    Offline / Send Message
    Spatz polycounter lvl 13
    yeah CrazyButcher looking forward for this... thanks!!!
  • SHEPEIRO
    Offline / Send Message
    SHEPEIRO polycounter lvl 17
    my god crazy, thats full retarded awesome
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    Aw yeah, that fill option..!
  • warxsnake
    Offline / Send Message
    warxsnake polycounter lvl 8
    Cant wait for that fill!
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    I have been working on a voxel cone tracing plugin for unity. Its based on the one I did for the dx11 unity contest, but more refined.

    [ame]www.youtube.com/watch?v=Z1o_CCHhBTQ[/ame]
  • Froyok
    Offline / Send Message
    Froyok greentooth
    Wow really nice !
    What are you current performances, and with which hardware ?
  • commander_keen
    Offline / Send Message
    commander_keen polycounter lvl 18
    At that resolution (1200x700 or something) it runs at about 50-60 fps in high quality mode on a gtx 660. There is still quite a bit of optimization to do. A lot of the slowness right now is the unoptimal way the lights point of view is rendered to inject the direct lighting into the volume. I also want to implement a cheaper light injection type that just basically "splats" the light onto the voxelized world without shadow casting. That would be extremely fast for small to medium sized lights. Additionally non moving lights could cache their light views. Rendering the effect at half res would also speed it up a lot but there are a lot of complications with doing that.

    The Sponza scene actually renders much faster, at over 100fps. I think its mainly because of the draw calls.
  • Froyok
    Offline / Send Message
    Froyok greentooth
    Awesome, I was expecting worse performances ! :)
  • AlanSMitchell
    Offline / Send Message
    AlanSMitchell polycounter lvl 14
    WOAH that's unity. Mind Blown.
  • Farfarer
  • Computron
    Offline / Send Message
    Computron polycounter lvl 7
  • Funky Bunnies
    Offline / Send Message
    Funky Bunnies polycounter lvl 17
    geeze you guys are so smart. Crazybutcher and Kurt, that's amazing.

    I'm a dumbhead so all I could do was work a bit on a standalone xNormal batcher app. It's pretty much just made for when you need to do complex batchbakes of tons of pieces and you don't want to set them all up manually. I decided to finally make it after i had to do 70-100 bakes only to realize I needed to re-UV :poly136:

    Few people might be aware that xNormal can save all of your bake information in XML's and then bake them via commandline later. So that's what this app manages

    It's not as complete as I'd like it to be, so I won't bother explaining it all - but since I'm not sure when I'll be able to work on it again, here's a link to check out the current WIP just in case anyone might find it useful. Just note it's not as robust as it could be, and could have bugs that I haven't caught on my own.

    funkyXbatcher_v073_Full.jpg

    keep in mind there are other available options for stuff like this that could be more suitable to your needs! Such as:
    Just thought I'd link it incase anyone might be able to benefit rather than sitting on it and letting it get dusty!

    as part of that tool, i made a map combiner script for photoshop, which autoinstalls from the app, but you could also grab it to use separately if you want. It's called FB_combineMaps and combines bakes into one PSD, or adds them to an existing one
  • leslievdb
    Offline / Send Message
    leslievdb polycounter lvl 15
    awesome work guys

    Funky : there have been many occasions where an app like that would have been useful to me :o Thanks for sharing it !
  • McGreed
    Offline / Send Message
    McGreed polycounter lvl 15
    Darn, that's the best looking unity I have seen for a long time. Nice work.
  • Stromberg90
    Offline / Send Message
    Stromberg90 polycounter lvl 11
    Funky Bunnies: Just want to thank you for the combine maps script, that is a huge time saver :)
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Awesome work Funky and commander Keen. Actually been working on an xnormal batch for work in 3ds max.
  • Bruno Afonseca
    A lot effort was also put into implementing and refining an algorithm that tries to cap n-gon holes while sticking to quads (at worst one triangle).

    DAMN
    I really want that! Would be soooo useful for my max terrain work... Looking forward to it :)
  • ScoobyDoofus
    Offline / Send Message
    ScoobyDoofus polycounter lvl 19
    Hey Funky! Awesome stuff. I could really use a little support tho if you've got the time/ability to help... having a little bit of difficulty.

    It'd be great if there were a scroll bar for the high-poly meshes window, as once the path is past a certain length, you can't see the filename.
    I assumed that because of the file-name matching, that it'd only bake the correct HP's with the correct LP's, but it seems to combine bake everything simultaneously.
    I'd rather it bake sequentially, then combine so I dont have to explode my mesh.
  • Coexistence
    Offline / Send Message
    Coexistence polycounter lvl 7
    Hi everyone, I'm a technical artist about to graduate with a BAS in game art, and I'd like to share something I've bee having a lot of fun with this last week.

    Based on background art from Samurai Jack.
    BwLQqtE.jpg

    This was a quick project that I did over a few days to supplement a larger project. Trees and grass are billboards. Wind is animated on the UVs. I'm working on a breakdown right now.

    [ame="http://www.youtube.com/watch?v=0BKKgs9guxE"]Meadow Demo 130827 - YouTube[/ame]
  • Funky Bunnies
    Offline / Send Message
    Funky Bunnies polycounter lvl 17
    thanks guys! I hope you find it useful :)

    Scooby, thanks for the feedback on the scrollbar - I totally didn't notice that it wasn't showing up on the high poly list :poly136:

    as for the rest, it might be especially confusing for you since it works differently from another xNormal tool we've been shown haha. Basically mine is just a batcher that bakes through a selection of XML files - But in this case you can either create them through xNormal or through the tool's interface. Vs airborn's backstube that has you select folders of predefined lowpoly and highpoly parts that are named appropriately.
    The idea was that you can set up bakes specific to your needs and then after you write those XML 'Bake Files' you can click Batch Bake XML's and select all the XML's that you want to bake at any point.

    example:
    load the highs: High_Bracer, High_Bracerstraps, and High_wristwraps
    and the lows: Low_Bracer
    then hit 'Write to Bake File'

    repeat with the highs: High_Body, High_Gloves
    and the lows: Low_Body
    then hit 'Write to Bake File'

    etc.

    Then hit 'Batch Bake XML's' and the AO, Vcols, Normals, Bent, etc are baked in sequence


    It's meant to write them out rapidly, but it's still a bit of manual work - my original plan was to have an option to automate that process a fair deal more for cases when you don't need so much specific control so I hope I can get to that soon :)
  • Neox
    Offline / Send Message
    Neox veteran polycounter
    as for the rest, it might be especially confusing for you since it works differently from another xNormal tool we've been shown haha.

    haha should we publish it? i guess it's ready, we've tested it a bit lately and it seems like it is stable. Yours is a bit more flexible tho
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
  • Funky Bunnies
    Offline / Send Message
    Funky Bunnies polycounter lvl 17
    Yeah Neox, i think it'd be a really sweet tool for people to get their hands on. Maaaaybe mine can be more flexible, but yours takes less manual work than my setup so I think in most cases it'd be preferable! Bring on the xNormal tools! :D
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Hey Funky wonder if you could do something like open up a server and connect to maya or max and grab meshes straight out of the program. Though this might sound like a tiresome idea haha :P Also looking forward to this other Xnormal tool haha.
  • ScoobyDoofus
    Offline / Send Message
    ScoobyDoofus polycounter lvl 19
    I still haven't used the Tool you and Neox are referring to. I'm going to have to tonight I think...
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Joining in on the Xnormal tool fun haha. Yay for ugly green boxes :D

    XnormalWIP.png
  • Froyok
    Offline / Send Message
    Froyok greentooth
    Ho you guys are starting to make me feel bad to not have yet updated mine. :(
  • Funky Bunnies
    Offline / Send Message
    Funky Bunnies polycounter lvl 17
    Thanks guys! and awesome! haha im glad there are so many xnormal tools floating around, i thought i was crazy for wanting a tool to do what i needed :D

    haiddasalami, those autopopulating options look handy! And that's an interesting idea to pop in models you have selected in Max/Maya/modo/etc. I dont think it'd be too hard, but I'm not sure if the benefits outweigh the bloat vs just exporting them yourself with the parameters you want.

    I wonder if you guys are all aware that My Documents/xNormal/last.xml has all the options from the last time you used xNormal! (along with other preferences)
  • Neox
  • haiddasalami
    Offline / Send Message
    haiddasalami polycounter lvl 14
    Thanks guys! and awesome! haha im glad there are so many xnormal tools floating around, i thought i was crazy for wanting a tool to do what i needed :D

    haiddasalami, those autopopulating options look handy! And that's an interesting idea to pop in models you have selected in Max/Maya/modo/etc. I dont think it'd be too hard, but I'm not sure if the benefits outweigh the bloat vs just exporting them yourself with the parameters you want.

    I wonder if you guys are all aware that My Documents/xNormal/last.xml has all the options from the last time you used xNormal! (along with other preferences)

    Ha thanks. Came out from talking to people at work and some previous projects. Yeah the bloat might indeed outweigh the benefit
    . Looking forward to the updates

    @Neox: Awesome!
  • Froyok
  • McGreed
    Offline / Send Message
    McGreed polycounter lvl 15
    Maxscript question: Is there a good way to manipulate a collection of objects (a group), without grouping them? From what I read here: http://blog.duber.cz/3ds-max/what-are-groups-in-3ds-max apparently if you use grouping, and have something with animation, it can complete get messed up, and I'm aiming to make my script as 'safe' as possible.

    Which is also why I'm not too keep about using linking, because of the objects inside the "group" might be animated/already linked together in some ways, and if my script starts messing with linking it will break them.

    So the question is if there is another 'container' I can use to store the objects instead of group without adding loads of additional objects/dummy and be able to allow animation (such as animating the container to follow a spline) and which not too much performance hit, especially since there can be lot of those 'containers'.

    Or am I wrong and I can use groups without too much issues (since that post was 5 years old)?
  • Drew++
    Offline / Send Message
    Drew++ polycounter lvl 14
    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.env_prefilter.png

    m = roughness.
  • Kurt Russell Fan Club
    Offline / Send Message
    Kurt Russell Fan Club polycounter lvl 9
    Drew++ those results look great. I've been using the ATI tool and the rougher mips are hard to get consistent and always have dodgy edges. What do you plan to do with it?
  • cptSwing
    Offline / Send Message
    cptSwing polycounter lvl 11
    McGreed wrote: »
    Maxscript question: Is there a good way to manipulate a collection of objects (a group), without grouping them? From what I read here: http://blog.duber.cz/3ds-max/what-are-groups-in-3ds-max apparently if you use grouping, and have something with animation, it can complete get messed up, and I'm aiming to make my script as 'safe' as possible.

    Which is also why I'm not too keep about using linking, because of the objects inside the "group" might be animated/already linked together in some ways, and if my script starts messing with linking it will break them.

    So the question is if there is another 'container' I can use to store the objects instead of group without adding loads of additional objects/dummy and be able to allow animation (such as animating the container to follow a spline) and which not too much performance hit, especially since there can be lot of those 'containers'.

    Or am I wrong and I can use groups without too much issues (since that post was 5 years old)?


    This might be an idiotic idea, but can you call / establish selection sets in mxs?
  • McGreed
    Offline / Send Message
    McGreed polycounter lvl 15
    cptSwing wrote: »
    This might be an idiotic idea, but can you call / establish selection sets in mxs?

    Yeah, you can, however I don't think you can animate/link the sets, so far I can see it only the items inside the sets that can be manipulated, most likely because they are not physically in the scene, but just referring to objects.
    I did a quick test with center pivot, and it center the pivot to the individual objects instead of the set.
1272830323356
Sign In or Register to comment.