Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - rosenand

Pages: 1 ... 3 4 [5] 6
Hello. Is there a way to generate a pattern like this, using a single node?

I already set up my tile generator graph using Tile Random nodes. I managed to achieve something close, using the Split -> Mode -> Random h+v option, but it's, well, random. Not strictly alternating.

I know there are other ways to achieve it, but it seems like the Tile Random node is only a step away from this functionality. Would be nice :)

Thank you so much, Fabian :) I'll get back to testing when I get to work tomorrow, considering all your comments.

There's a big one that you left out, though: what kind of information do you put in the height map, and what in the normal map? And does this approach change depending on whether you'd be using the height map at all in engine? For example:

Planning to use height map in engine:
- Normal map contains ony fine detail
- Height map contains macro shape

No height map to be used in engine:
- Normal map contains all the information

Substance Integrations - UE4 - Height map vs normal map
 on: June 11, 2016, 08:51:36 pm 
Hello. I'm creating a procedural material library in Substance Designer for our PC/nextgen game. With both normal and height maps, and with tesselation set in the shader, the materials look great inside Designer, but I know this won't translate 1:1 into UE4.

I'll consult this with our techs, but I'd like to know what the general practice is these days. Here are my thoughts/doubts/options:

 1. Parallax is cheap, use height map everywhere VS use only normal map in most materials.
 2. For parallax, use Bump offset node?
 3. Tesselation is gpu-heavy, but it's good to use it for more important objects. How often, though?
 4. In my early tests, neither tessellation, nor parallax occlusion, look as good in UE4 as in Designer. Possible reasons?
 5. Put same information into both normal and height maps? Or macro shape in height, and fine detail in normal? If the latter, but, in some materials, we won't use height map at all, then normal maps will have to be prepared differenty depending on whether we'll be using height maps or not. In other words, while designing a material, we have to know from start whether height map will be used in UE4, or not. Or at least have 2 different normal map outputs, for use with and without height map.
 6. Use parallax/tessellation/no height at all depending on material type (organic/hard surface/floor/buildings/characters etc.)?

Any comments on those points will be greatly appreciated.

Hello. Is it possible, in a graph, to have a "global function", which computes a value based on some input parameter, and to use this computed value in multiple nodes?

If it's not clear, here's an example: I have multiple "tile random" nodes in my graph. I want to control their "X Amount" parameters with a single input parameter - this is easy. But for the "Y Amount", instead of controlling it directly, I created a "Ratio" input parameter and want "Y Amount" to be "X Amount" divided by "Ratio".

Again, this is also easy, but only for a single node. To use it in other nodes, to drive all of their "Y Amount" parameters by this function, I have to copy and paste said function into each of them. I tried creating a helper parameter, to save the computed value into it, but it doesn't seem to work. Thanks :)

Oh, I see the problem now. How about the Make It Tile Photo node (not to be confused with Make It Tile Patch)?

I sort of got used to learning with YouTube, the forum, and in-app tooltips, but yeah, I remember it was a bit frustrating in the beginning not to have proper documentation :)

Can't you just upscale it vertically, instead of downscaling horizontally? And adjust distance in Cells 4 accordingly?

Edit: sorry, didn't notice damjanmx's comment.

It's converting the color to greyscale

This gave me a clue. Here's a test:

Validation node set to Albedo/50 sRGB
Uniform Color node plugged into Grayscale Conversion node with default settings.

RGB(0,88,0) converts to greyscale (30,30,30), Validation=YES
RGB(0,0,255) converts to greyscale (85,85,85), Validation=NO

This makes no sense. Anyway, thanks for your patience :)

Edit: attached an image, taken just after clicking Compute Nodes Thumbnails to be sure.

This is all clear, thanks. But now I'm even more positive that there's a mistake in volume 2 of the guide, page 15 (this is the Specular/Glossiness Workflow part of the guide):

Quote from: PBR Guide Vol. 2 Page 15 (and Figure 25)
If you can't find an IOR value for a specific material, you can use 4% (0.04 - plastic). Gemstones are an exception and they have a range of 0.05-0.17 (linear) as was shown in figure 21. The shader is mapped to a range of 0.0-0.08 (linear), as zero is needed to represent air.

Still, it doesn't make much sense when it works for one color, and doesn't for another. Unless there's some physically-based explanation behind it.

Especially when you think of the colors not in terms of RGB, and some channels being 0, but in terms of hue. Set color to RGB(0,88,0), switch to HSV and move the Hue slider. Repeat for (0,0,255).

I'm using Albedo mode, and the strict 50 sRGB threshold, like I said in the previous post.

Now some implementation also use a grayscale "specular" map to specify the F0 value for dielectrics. In Designer it corresponds to the usage "SpecularLevel". It maps linearly F0 values from 0 (black) to 0.08 (white), the default value being 0.04 (mid-grey).

Quote from: PBR Guide Vol. 2 Page 15 (and Figure 25)
"the shader is mapped to a range of 0.0-0.08"

Hey. I'm trying to make sense of this. And it makes sense in the metal/roughness workflow, it even corresponds with UE4 where the default value for the additional specular slot is 0.5 (mid-grey), if I'm not mistaken.

However, the second quote is from the specular/gloss section of the guide. So what exactly would that quote mean in this context? If specular value of 1 maps to 0.08, creating metals wouldn't be possible in the spec/gloss workflow. I must be missing something. Thanks :)

Guys, Figure 09 is missing! Also, the last paragraph on page 10 is repeated on page 11.

Awesome guide anyways :)

Hey Wes, if you corrected this, then someone must've accidentally re-uploaded the old version when you were switching servers or something, cause it's still there.

Anyway, thanks for the guide and all the other stuff you do here and on YouTube - it's extremely helpful.

One thing I don't understand though is the guidelines in the PBR Guide book only give you ONE number for a guide. Example: No darks should go below 50 srgb. I assume they mean that no value in any of your 3 RGB channels should go below 50?

Hello, sorry for digging out an old thread, but as this is in the learning category, and people will still be using these topics for reference (like I was just now), I think this is important.

Let's assume we're using the strict rule (min 50 sRGB).

I tested it in Designer, using the "PBR Albedo Safe Color", "PBR BaseColor / Metallic Validate" and "Uniform Color" nodes (plus additional Uniform Color node to test stuff with the color picker).

When you start with dark green color (0,52,0), Validate gives thumbs down (it's too dark), and Safe Color converts it to (48,52,48). Grey, which is obviously not what we wanted.

But, if you start moving the Value slider up in Uniform Color (HSV mode), at 88 Validate gives full thumbs up. Which is simply (0,88,0). Still green color, which is what we wanted. This shows that individual channels can be below 50 (even 0), and still satisfy the restrictions.

Which makes sense, because if you convert a (0,88,0) color to black & white for example in Photoshop, it gives a (51,51,51) value, which is in the safe range. This would suggest that it's the overall value (greyscale value) that matters, not individual channels.

HOWEVER (and I wonder if this is a bug), I noticed something weird: for the "PBR BaseColor / Metallic Validate" node, (0,88,0) is OK, but (88,0,0) and (0,0,88) are not. In fact, for red, (175,0,0) seems to be the minimum, and for blue even (0,0,255) is not accepted... Is this by design, resulting from some real-life properties of colored materials, or simply a bug?

Hello there. First of all, the knowledge of Substance Designer just landed me my first job, so big kudos to Allegorithmic for creating this wonderful software :)

I'm planning to upgrade my 2008 PC a bit, so that I can practice at home. I'll be saving money for a proper modern rig, but for now a slight upgrade must suffice. My current specs:

Core 2 Duo E8400 (2 cores at 3.8GHz)
Radeon HD4850 512MB (DX 10.1)

On one hand, for my personal projects I love working in Painter. The main problem is that when I try to work in 4K or even 2K, it often freezes. Working in 1K and exporting in 2K is as far as I can get, but even then it sometimes freezes when I use more than a few complex layers. I'm almost sure this is due to only 512MB of VRAM, or maybe old GPU architecture as such?

On the other hand, AFAIK, at work I'll be using Designer exclusively, building a material library, so Designer is my priority at the moment, and I wonder if it will benefit from a GPU upgrade at all. Looking at the official system requirements, Designer has much lower GPU requirements than Painter.

But then there's tessellation, which I'm currently unable to use due to no DX11 support from my GPU, and which, if I understand correctly, would allow me to preview height maps. Even though they would eventually end up as just normal maps, this seems really useful while working on a material.

And finally, there's Iray, which I guess I could do without, but still I'd like to know what my options are. AFAIK with architectural renders etc. you need to fit a whole scene into VRAM, so it seems having at least 4GB GPU is a must. What is the reality of it as far as Painter and Designer are considered? Iray works only with Nvidia cards, correct?

I'd be very grateful if someone could verify my understanding of those subjects. Most of all, would Designer benefit more from a GPU upgrade, or CPU upgrade (replacing my duo core with a quad core), as far as general working smoothness is considered (node calculation and preview time)? Thank you!

Hello. I'm getting discontinuities in my Substance Painter textures wherever there's a UV border. It seems like SP operates only in UV space and doesn't understand the mesh as such. Is it expected, or am I doing something wrong? If it's not supposed to be that way, I'll post further details. For now, here's an example with some MG Dripping Rust (I'm loosely following the sci-fi crate YouTube tutorial), and even worse with MG Metal Edge Wear.

Any help will be appreciated :)

Edit: I also attach a simpler example (you can see my UVs, the islands that we're looking at are the bottom one and the top-left corner one) and the models in a zip file.

5. Haha, love the bonus. Yeah, I realize that. But apart from you supporting a wide range of users by providing additional settings, I mostly meant guiding those users through the process. Like little popup tooltips in the menu itself (right now I see this functionality only in very few places, and also the question mark, like in the top right corner of the New project window, is not working, at least in my case), and of course in documentation.

6. I've seen the documentation, but in the Project creation page for example, the info about tangent space is pretty vague. You say for Unity do this, for UE do that, but a bit more explanation WHY would be nice, and also tips for other software, not only the ones you use after SP but also before (export FBX settings and so on). The project window is where you start your journey with Painter, so I think it should be well documented.

I know SP is still young and constantly changing, but you often have to explain this stuff on te forums anyway, so you can add it to the documentation just as well.

By default Substance Painter will use the tangent and binormals (also called bitangent) stored inside the mesh that was imported in the project.
If this information is not available (for example a file format like OBJ doesn't support it) then this information will be recomputed based on the Mikktspace tangent basis (aka Mikkt).

I feel like this should be included earlier, in the Getting started section. This is really important stuff.

7. In combination with the 2D view this is perfect, thanks! :)

Pages: 1 ... 3 4 [5] 6