Home Coding, Scripting, Shaders

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

1404143454654

Replies

  • Fansub
    Offline / Send Message
    Fansub sublime tool
    Nice stuff Woliver ! :D doing these type of small scripts in Maya is so much fun <3

    Haven't posted for a loooooong time in here, so here's some UI stuff i did a few months ago for my ADN Modeler Tools plugin.


  • woliver
    Offline / Send Message
    woliver polycounter lvl 6
    Nice Fansub ! I guess you are working with pyqt, right? I got a question about the pipe tool. How you modifiy the different attributes with one dargAttrContext. I gived a try and did some test but I can modify one attribute or varius attributes at the same time. Im kinda lost about how to procede. For now I have to click on the attributes I added to the pipe mesh for the thickness and subdivisions and drag. Some help would be very appreciated :#
  • Fansub
    Offline / Send Message
    Fansub sublime tool
    Nice Fansub ! I guess you are working with pyqt, right?
    Thanks ! this one was all MEL, but tried to give it a more sophisticated look by playing with icons and colors.

    How you modify the different attributes with one dargAttrContext ?
    I generally have a procedure that gives me a toggle control when given an array of attributes. Here's how i do it most of the time. Bear with me if the explanation is a bit simple/obvious ^^'

    Here's the how it's done part :


    - First, i have two methods to create shuffle between attributes : the first method uses a global int variable, and the second one uses the name of the attributes in the array. In this example i'm gonna use the first method.

    - So our array ($AttributeArray) contains three attributes, the radius, height and subdivision axis of a cylinder.

    - We create a global int variable called $AttributeShuffle.

    - The first thing we need to do is create a dragAttr context. We can do that with the following code :

    if ( ` dragAttrContext -exists "WoliverDragCtx" `) { dragAttrContext -reset; }

    else { dragAttrContext WoliverDragCtx; }

    - Next, we hook up the context we just created to the first attribute from our array. The index we give to the array is the global int we previously created.

    dragAttrContext -edit
      -connectTo ( $polyCylinder + "." + $AttributeArray[$AttributeShuffle] )
      FWoliverDragCtx;

    - Finally, we set the current context to our dragAttrContext (WoliverDragCtx).
    setToolTo FastCTRLDrag;
    - Now, this is great but what if our global int value reached a number that is beyond the size of our array ? this is where a quick if/else kicks in ! The following code is generally put at the top of what we just did, just so it checks the value first before doing anything else.

    if ((` attributeExists $AttributeArray[$AttributeShuffle$polyCylinder `) == 0) {
    $FCCTRLShuffle = 0;
    }

    - For some cool visual feedback we can add an inViewMessage that pops up with the name of the attribute.


    string $Outputmsg = ("Current Attribute : " + $AttributeArray[$AttributeShuffle] );

    inViewMessage -amg ("<p style=\"color:#4cbedf;\"> " + $Outputmsg + " </p> ") -dk -pos topCenter -fade ;

    print $Outputmsg; // This print is just to give us both an inViewMessage and a small print, too :-)

    Once we're done we then increase the $AttributeShuffle int value by one. This will give use the next attribute in the array each time you run the code.

    $AttributeShuffle = $AttributeShuffle + 1;

    And this one is a procedure that shuffles your attributes when given an attribute array and a string for the object's name.

    First, this small snippet will create an attribute array, and the second one is just the polyCylinder node.

    <code>polyCylinder = "polyCylinder2"; // This is the name of the polyCylinder node.
    string $AttributeArray[] = {"height","radius","subdivisionsAxis", "subdivisionsHeight"};<br><br>string $

    We can then run the following line of code to create the shuffle :

    <code><code>polyCylinder);ShuffleAttributes($AttributeArray, $

    Finally, here's the procedure :

    global proc ShuffleAttributes(string $AttrsArray[], string $AttrsNode) {<br><br>global int $AttributeShuffle;<br><br>if ((` attributeExists $AttrsArray[$AttributeShuffle] $AttrsNode `) == 0) {<br>$AttributeShuffle = 0;<br>}<br><br>if ( ` dragAttrContext -exists "WoliverDragCtx" `) { dragAttrContext -reset; }<br><br>else { dragAttrContext WoliverDragCtx; }<br><br>dragAttrContext -edit<br>  -connectTo ( $AttrsNode + "." + $AttrsArray[$AttributeShuffle] )<br>  WoliverDragCtx;<br><br>setToolTo WoliverDragCtx;<br><br>string $Outputmsg = ("Current Attribute : " + $AttrsArray[$AttributeShuffle] );<br><br>inViewMessage -amg ("<p style=\"color:#4cbedf;\"> " + $Outputmsg + " </p> ") -dk -pos topCenter -fade ;<br><br>print $Outputmsg; // This print is just to give you an inViewMessage and a small print, too :-)<br><br>$AttributeShuffle = $AttributeShuffle + 1;<br><br>}


    This ended up being a long post hahaha, hope it helps y'all  ! :)

  • fire67
    Offline / Send Message
    fire67 polycounter lvl 7
    Here is the full comparison for all tiling breakers, the noise texture based is really awesome.
    Here is the chart : https://twitter.com/blackfirestu/status/847789194625908738


  • Dickie
    Offline / Send Message
    Dickie polycounter lvl 9
    @fire67 that noise texture method is very tempting for terrain

    Currently working on Wind Waker style blob lights to some success


    Shader + Problems I'm facing in this thread:
    http://polycount.com/discussion/185838/wind-waker-style-firefly-lights/
  • fire67
    Offline / Send Message
    fire67 polycounter lvl 7
    Yeah it's worth trying in a production configuration to see if it's suitable.
    @Dickie Nice Wind Waker style lights ! You could also used command buffers and deferred rendering to inject your lights inside the lighting buffer.
  • Dickie
    Offline / Send Message
    Dickie polycounter lvl 9
    @fire67 ooh yeah I remember the content example for deferred area lights, I might just have a go at that although would probably be quite similar in result presumably 
  • Klunk
    Offline / Send Message
    Klunk interpolator


    been playing around with adding delaunay tri hull to any set of points in max, the video is a point emitter helper which when its converted to an editable mesh is converted to a convex hull based on the point set, the last changes are when the base emitter has min spacing turned on and off. The result is not always ideal some very thin tris are created so a sensible post processing routine need to be applied to the mesh to correct for those.

    using a box emitter for the base works quite well for random blocks



    to square of the blocks its a simple case of setting the emitter to surface

    the more points the squarer the block
  • Fansub
    Offline / Send Message
    Fansub sublime tool
    Never had the chance to share anything about this tool, so here's a quick test :)

    The tool is Array Master, an array tool for Maya that doesn't require Mash, so works on old Maya version. It is part of AMTools 2.0, which is still in dev ^^'



  • ZacD
    Offline / Send Message
    ZacD polycounter
    Not really a tech artist, but I wanted to make a simple blueprint to place and tile columns automatically for me.




  • zweek
    Offline / Send Message
    zweek polycounter lvl 11
    Fansub said:
    Never had the chance to share anything about this tool, so here's a quick test :)

    The tool is Array Master, an array tool for Maya that doesn't require Mash, so works on old Maya version. It is part of AMTools 2.0, which is still in dev ^^'



    looking forward to the update. why did you blur out the tool, is it NSFW?
  • joarwho
    Offline / Send Message
    joarwho polycounter lvl 5
    I recently started working on my own auto-rigger. I'm learning as I go, but I'm still having a blast creating this.


  • fearian
    Offline / Send Message
    fearian Polycount Sponsor
    hannes d said:
    edited a normal weighting script to also weight based on angle
    bottom left is the original, bottom right is my version

    you can see it got rid of the gradient completely
    and is more similar to the added control edges version
    This looks super neat! Are you going to be releasing this soon? I'd love to try it out.
  • swann
    Offline / Send Message
    swann polycounter lvl 4
    Family of V-HACD Toolkit nodes was expanded.

    There is a new Export node added:


    Short presentation how to use it with Unity:


    I also published couple modeling tools:




    And if you wonder how to compile and setup it all:



  • IacopoAntonelli
    Offline / Send Message
    IacopoAntonelli polycounter lvl 3
    SimonT said:
    Just released my little talk about Stylized VFX in RIME :) Hope you'll like it!



    Great stuff!!
  • swann
    Offline / Send Message
    swann polycounter lvl 4
    PhysX Toolkit for Houdini:


    It's a start of bigger project. The end goal is to have (very optimistically, two years from now) complete realtime dynamic solution inside Houdini.

    On the roadmap are:
    0. NVidia PhysX
    1. NVidia Flex
    2. NVidia Flow
    3. NVidia Cataclysm
    4. NVidia HairWorks
    5. ... plus maybe other stuff too

    Order is not guaranted :)

    PS. Could admins rename me to swann? All small caps, double n at the end. Thanks!
  • radiancef0rge
    Offline / Send Message
    radiancef0rge Polycount Sponsor
    PS. Could admins rename me to swann? All small caps, double n at the end. Thanks!
    Direct message an admin or mod. 
  • kritskiy
    Offline / Send Message
    kritskiy polycounter lvl 7
    one of the functions in upcoming Layer Factory: multi-move selection (it's so stupid that Photoshop still can't do this)
  • Yadoob
    Offline / Send Message
    Yadoob polycounter lvl 7
    @kritskiy Oh yes please !

    I've looked into a way to improve the "anime" look with shader so the facial features are always right :



    Also I've been experimenting with AR and Vuforia to get good light and environment integration :


  • Koromo
    Offline / Send Message
    Koromo polycounter lvl 4
    Trying to achieve a decent skin rendering in Toolbag 3


  • Fansub
    Offline / Send Message
    Fansub sublime tool
    This weekend's doodling session, made a bunch of kitbash pieces to test the Polystein Kit- inspired tool i'm working on :)

    still got a lot of stuff to add to it and some ideas to test, but we'll be back on that in the next weekend :p



  • McGreed
    Offline / Send Message
    McGreed Polycount Sponsor
    While I was working on a project and relearned some maxscript, I made a couple of scripts for 3ds max to help with some tedious tasks, such as exporting lot of models in one go, adjusting turbosmooth on many objects ect., and have uploaded them to my website, in case someone else might have any use of them.
    http://www.http//mcgreed.dk/maxscripts.html




  • .Wiki
    Offline / Send Message
    .Wiki polycounter lvl 8

    Working on a Landscape generator for webGL in unity that uses tilesets. Depending on the bitmasking value that is calculated it chooses the corret 3d-mesh. Now i need to make some 3d-tiles.
  • Yadoob
    Offline / Send Message
    Yadoob polycounter lvl 7
    @.Wiki Looks fun to use, nice FXs

    I'm developing Animation Sketch on Blender to experiment a simplification in the whole rig-skinning-animation part (à la Mosketch) :


  • rexo12
    Offline / Send Message
    rexo12 polycounter lvl 4
    nodeway said:
    PhysX Toolkit for Houdini:


    It's a start of bigger project. The end goal is to have (very optimistically, two years from now) complete realtime dynamic solution inside Houdini.

    On the roadmap are:
    0. NVidia PhysX
    1. NVidia Flex
    2. NVidia Flow
    3. NVidia Cataclysm
    4. NVidia HairWorks
    5. ... plus maybe other stuff too

    Order is not guaranted :)

    PS. Could admins rename me to swann? All small caps, double n at the end. Thanks!
    I'd love something like this! Best of luck!
  • Jakro
    Offline / Send Message
    Jakro greentooth
    I've made some tools to speed up the process of renaming objects, specifically for 'Match by name' baking in Substance Painter.  


    This next script is for deleting suffixes. It will check if the suffix is '_high' if it is it will delete the last 5 characters of the name. If _high isn't the suffix then it will just delete the last 4 characters which will delete '_low' or '.001'. 

  • Yondr
    Offline / Send Message
    Yondr polycounter lvl 8
    Jakro said:
    I've made some tools to speed up the process of renaming objects, specifically for 'Match by name' baking in Substance Painter.  


    This next script is for deleting suffixes. It will check if the suffix is '_high' if it is it will delete the last 5 characters of the name. If _high isn't the suffix then it will just delete the last 4 characters which will delete '_low' or '.001'. 

    Useful one! I will appreciate if you share it with us  C:
  • Jakro
    Offline / Send Message
    Jakro greentooth
    @Yondr I'm happy to share this but I created it to be called from another addon called Pie Menu Editor. So the script as of right now will not work as a standalone addon. That said, enjoy! Just be sure one of the objects has _low suffix!
  • floon
    Offline / Send Message
    floon greentooth
    I have just released version 0.3 of my Zbrush plugin.
    It offers some renaming options and a prefix based grouping system, with which you can do stuff like this:





    If you are interessted, check out the thread!
  • IacopoAntonelli
    Offline / Send Message
    IacopoAntonelli polycounter lvl 3
    Hi, I am working on a simple Gear creation script, fully made in Python and Maya! Still very simple but I think I will extend it to support alignment, animations and more creation styles.



  • TooLzor
    Offline / Send Message
    TooLzor polycounter lvl 9
    Oh man I've been away from this thread way too long. Some really awesome stuff going on! Keep it up guys!
  • Kyetja
    Offline / Send Message
    Kyetja polycounter lvl 3
    I post often on the RTVFX forums i should prob start doing that here too, anyway here's my WIP shader experiment. A slope aware rain spatter/drip shader, I'm in the process of making it look prettier here's some gifs. i'm aslo wrapping the entire thing into a material function so it can be easily layered on top of any surface material.


    Idea:
    [url=


    Updated Look:
    [url=

    Whoaa this is awesome, how does it even work?
  • Klunk
    Offline / Send Message
    Klunk interpolator
    face sort modifier for max, some stuff doesn't display very well in max as it does in game



    still some shearing problems between neighbouring faces sharing UV's that need to be iron out but much better visualization than without (mid vid)

  • Noors
    Offline / Send Message
    Noors polycounter lvl 12
    Hey Klunk . How does that work ? do you reorder the vertices index each frame ?
  • Klunk
    Offline / Send Message
    Klunk interpolator
    i'm sorting the faces,  the modifier has a gizmo with position or direction options, if set to direction the order is set by z position of the face center in the modifier space otherwise it's set by the distance from the gizmo position. There are some oddities to fix, even though I sort the whole Face array within the mesh the Material ID remain fixed. Adjacent faces within polys which have "different"  orders are put together max will adjust the orders "internally" so they are correct which causes the UV shearing Issues. The matid is odd because smg "moves" with the face.

  • DeepSpaceBanana
    Offline / Send Message
    DeepSpaceBanana polycounter
    Kyetja said:
    I post often on the RTVFX forums i should prob start doing that here too, anyway here's my WIP shader experiment. A slope aware rain spatter/drip shader, I'm in the process of making it look prettier here's some gifs. i'm aslo wrapping the entire thing into a material function so it can be easily layered on top of any surface material.



    Whoaa this is awesome, how does it even work?
    It's actually pretty simple, the ripples and streaks are WorldProjected, and has a BP Vector to control rain direction, the slope awareness, is just a simple Z-gradient that blends between ripples and streaks, this is nice because it takes the objects curvature into account as well, I've started writing a breakdown on my blog if you're interested https://deepspacebanana.github.io/deepspacebanana.github.io/blog/
  • Klunk
    Offline / Send Message
    Klunk interpolator
    fixed the shearing (sorting poly groups not faces) still get the oddities with material ID



    works well enough to help with some prototyping

  • alt3d
    Offline / Send Message
    alt3d polycounter lvl 8
    Ок. My attempt to make a rain drops effect

  • kreativbloc
    Offline / Send Message
    kreativbloc polycounter lvl 3
    Hey @DeepSpaceBanana good job on that foliage.
1404143454654
Sign In or Register to comment.