To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
The technical storage or access that is used exclusively for statistical purposes.
The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Hello Laura, that was great class. I have one question for you. Question about “coordinate_position” and “position_coordinate” in Outgang_funtions.sbs. In the final stages of the graphs, 0.5 floats or float2 are added or subtracted. So what is the purpose of this?
The position of a pixel is the center of it and not one of the corners. Assuming you have that 2×2 pixel grid, the X position of the two top pixels would be 0.25 and 0.75 respectively and not 0 and 0.5. So to convert the position (a float) to the coordinate (an integer), one has to multiply the position by the pixel count (0.25 x 2 and 0.75 x 2) which gives 0.5 and 1.5, and subtract 0.5 from both results, which gives the coordinates 0 and 1 respectively. Instead of subtracting 0.5, one could add 0.5 to start counting coordinates from 1 instead of 0.
Alternatively (but perhaps confusingly), you could also use the formula: floor(position x pixel count) as opposed to: position x pixel count – 0.5 to get the same result.
You create multiple sequence nodes as to loop over each pixel grid alot with alot of custom functions.
I’d like to create something like this but not this Kuwahara filter. Do you have any filters you know off or a site ?
All of the filters that come with Substance Designer can be inspected by pressing Ctrl+E. You can reverse engineer the code, which is how I learned a lot of things. It’s great to stimulate ideas as to how to do something new.
It was fun! Thanks. Though, I think that it’s the great weakness of SD that it lacks proper for-loops, proper tools for iterative procedures, and the possibility to use a scripting language to shrink a bit these crazy nets of nodes.
I remember Allegorithmic talking about the fact that they purposefully did not want to add for-loops because of the possibility of creating infinite loops and therefore locking up the computer. I get it, but it still sucks that there not there haha, it definitely impacts the creation of more advanced features.