Are you guys still using Notepad++ when working with scripts, especially maxscript? Was going to get back into scripting, and read in another thread (which I can't for the life of me remember where it was) that some people recommened some other editors.
I was looking into Sublime, but wasn't sure if it had syntax for maxscript, so far it looks like I have to do a bit of fiddling to get it, as I did with Notepad++.
I was looking into Sublime, but wasn't sure if it had syntax for maxscript, so far it looks like I have to do a bit of fiddling to get it, as I did with Notepad++.
The nice thing about sublime and atom is they are great with 3rd party plguins, for example here is a maxscript package that can be installed with the package manager inside sublime https://github.com/cb109/sublime3dsmax I have not used it myself however.
Post RBD Sim Cleanup Tool - HOUDINI (Optimization)
This video demonstrates the purpose and effectiveness of the tool made on cleaning RBD Destruction Simulations (Houdini) to be used in Game Engines. In this case, I am targeting Unreal Engine. Check out the video and let me know what you think!
PS: This is my first post on polycount ever!
interesting, I would love to use it at my project, have you put this node somewhere? [edit] apart from the very bad noise very cool idea.
Started writing a Sprite Sheet generator for Photoshop: - Specify the sheet size - Add in guides - Can separate into layers / flatten layers - Can reverse the frame order
Still working on a preview window and ability to delete x frame or repeat x frame.
Started writing a Sprite Sheet generator for Photoshop: - Specify the sheet size - Add in guides - Can separate into layers / flatten layers - Can reverse the frame order
Still working on a preview window and ability to delete x frame or repeat x frame.
Neat to see someone else doing that too. I made one that does it pretty fast (minus guides at the moment, but that's a pretty neat idea)
I was looking into Sublime, but wasn't sure if it had syntax for maxscript, so far it looks like I have to do a bit of fiddling to get it, as I did with Notepad++.
@McGreed Bit late to the party but you just need the API file and I think there was a syntax too. Ill post it up if you want
Hello, I would like to present you my tool that allow to use Substance Batchtools easier. It is actually in beta test at the company I work for.
The tool have four main tabs. The first one allow to create Sbs files based on Substance Painter maps. The second one to compile Sbs files to Sbsar. The Decimator is a test
who actually use the Simplygon API (C++), I previously used Meshlab
server, but Simplygon is more powerful. and the settings allows to configure Substance dependencies, alias and some important paths.
So about the tiling function, it turned out that this is kinda expensive. Also you would probably want method 2. And then I got stuck because I wasnt able to figure out whats that hash4... is that like appending 2 vector 2s into a vector 4?
Still, I'm not really sure if this is suitable for games yet.
Problems continues if you want to do this with the normals. it gets more and more expensive.
i wonder if its possible to do the blending on the uv and then read the texture only once with the blended UV I managed to do a basic version of this in a triplanar shader however it doesn't hold up as soon as you try to blend between 2 directions. since blending uvs just stretches and tiles the texture weirdly
After a couple days of research, experimentation, and navigating a spaghetti network, I got this post-effect result for Cel-shading. (Mind the missing UE4 logo. I was bored and slapped the Pepsi logo to it, and I didn't want to fix the material.
I might throw in a CustomDepth mask filter for if one wants the effect isolated on characters only or something.
Recreated Seneca Menard's Quick Pipe in Maya for work
It's actually three scripts : the first one creates the pipe,second one allows in-viewport attribute editing to change the thickness,divisions and caps toggle.The third one cleans everything left behind the operation.
Hey Fansub. Your script is really nice and very usefull in maya since its very tedius to make pipes. I decided to try it myself and here is what I came up with.
Not as fast as yours but this is the basic idea (:
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
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.
- Finally, we set the current context to our dragAttrContext (WoliverDragCtx).
setToolToFastCTRLDrag;
-
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.
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 :
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.
@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
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
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 ^^'
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 ^^'
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.
For a long time, I have been following this thread (Sneaky, Sneaky, Sneaky :P), and inspired me to make my own panel/shelf. This because the lack of space in my Maya shelf and the continuous looking for the right checkboxxes at the right time was getting on my nerves. So, I decided to make to make a panel/shelf to store all my favorite icons, buttons and checkboxxes. This is the first time I made something with scripting, so it was quite a struggle, since I am also not a programmer in any kind .
The "Bag O' Tricks" panel/shelf is dockable and de-dockable so it can be placed on a 2nd monitor. All the icons that I mostly use on a daily base, are in there. I initially made this script in Maya 2015, but at school worked in Maya 2017. The icons in there were amazingly better looking than Maya 2015, so I Photoshopped them out of Maya 2017, and stored them into a folder, linked to this panel/shelf.
My question to you experts is, what is your opinion, what would you add or change, and more importantly, what would you add to a "tech" tab? For now, I have placed empty sliders and buttons there, but I would think it will be nice to fill that tab with stuff soon. So, suggestions?
All suggestions are more than welcome, Thank you all, Danny
PS; Amazing work all. It has been truely inspiring for me!
Replies
https://github.com/cb109/sublime3dsmax
I have not used it myself however.
[edit] apart from the very bad noise very cool idea.
- Specify the sheet size
- Add in guides
- Can separate into layers / flatten layers
- Can reverse the frame order
Still working on a preview window and ability to delete x frame or repeat x frame.
Edit: Updated Images
without noise
with noise
material setup:
Never mind missed your follow up post.
I would like to present you my tool that allow to use Substance Batchtools easier.
It is actually in beta test at the company I work for.
The tool have four main tabs.
The first one allow to create Sbs files based on Substance Painter maps.
The second one to compile Sbs files to Sbsar.
The Decimator is a test who actually use the Simplygon API (C++), I previously used Meshlab server, but Simplygon is more powerful.
and the settings allows to configure Substance dependencies, alias and some important paths.
But this is a heavy effect and this could be optimized.
Still, I'm not really sure if this is suitable for games yet.
Problems continues if you want to do this with the normals. it gets more and more expensive.
I managed to do a basic version of this in a triplanar shader however it doesn't hold up as soon as you try to blend between 2 directions. since blending uvs just stretches and tiles the texture weirdly
I might throw in a CustomDepth mask filter for if one wants the effect isolated on characters only or something.
...
So in other words probably not even worth considering for use in most actual games then.
Recreated Seneca Menard's Quick Pipe in Maya for work
It's actually three scripts : the first one creates the pipe,second one allows in-viewport attribute editing to change the thickness,divisions and caps toggle.The third one cleans everything left behind the operation.
Hey Fansub. Your script is really nice and very usefull in maya since its very tedius to make pipes. I decided to try it myself and here is what I came up with.
Not as fast as yours but this is the basic idea (:
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.
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 :
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.
-connectTo ( $polyCylinder + "." + $AttributeArray[$AttributeShuffle] )
FWoliverDragCtx;
- Finally, we set the current context to our dragAttrContext (WoliverDragCtx).
$FCCTRLShuffle = 0;
}
- For some cool visual feedback we can add an inViewMessage that pops up with the name of the attribute.
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.
And this one is a procedure that shuffles your attributes when given an attribute array and a string for the object's name.
We can then run the following line of code to create the shuffle :
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 !Here is the chart : https://twitter.com/blackfirestu/status/847789194625908738
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/
@Dickie Nice Wind Waker style lights ! You could also used command buffers and deferred rendering to inject your lights inside the lighting buffer.
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
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 ^^'
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
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:
Idea:
[url=
Updated Look:
[url=
Great stuff!!
For a long time, I have been following this thread (Sneaky, Sneaky, Sneaky :P), and inspired me to make my own panel/shelf. This because the lack of space in my Maya shelf and the continuous looking for the right checkboxxes at the right time was getting on my nerves. So, I decided to make to make a panel/shelf to store all my favorite icons, buttons and checkboxxes. This is the first time I made something with scripting, so it was quite a struggle, since I am also not a programmer in any kind
The "Bag O' Tricks" panel/shelf is dockable and de-dockable so it can be placed on a 2nd monitor. All the icons that I mostly use on a daily base, are in there. I initially made this script in Maya 2015, but at school worked in Maya 2017. The icons in there were amazingly better looking than Maya 2015, so I Photoshopped them out of Maya 2017, and stored them into a folder, linked to this panel/shelf.
My question to you experts is, what is your opinion, what would you add or change, and more importantly, what would you add to a "tech" tab? For now, I have placed empty sliders and buttons there, but I would think it will be nice to fill that tab with stuff soon. So, suggestions?
All suggestions are more than welcome,
Thank you all,
Danny
PS; Amazing work all. It has been truely inspiring for me!
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!