3ds Max Look Development Fundamentals: Material, Texture, UV Unwrapping | Widhi Muttaqien | Skillshare

Playback Speed


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

3ds Max Look Development Fundamentals: Material, Texture, UV Unwrapping

teacher avatar Widhi Muttaqien, CG expert & entrepreneur

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

    • 1.

      Introduction

      5:30

    • 2.

      Conventions disclaimer and exercise files

      2:56

    • 3.

      Renderer basics

      5:45

    • 4.

      Material basic concepts

      3:21

    • 5.

      Material editor

      5:56

    • 6.

      Material browser categories

      5:10

    • 7.

      Assigning and picking materials

      8:57

    • 8.

      Sample slots

      4:25

    • 9.

      Material library

      10:35

    • 10.

      Multi sub-object material

      9:09

    • 11.

      ActiveShade

      8:33

    • 12.

      Color models

      6:31

    • 13.

      Bit depth and high-range images

      10:52

    • 14.

      Environment lighting

      9:32

    • 15.

      Daylight system

      8:45

    • 16.

      Basic material parameters

      10:12

    • 17.

      Transparency and Clearcoat

      6:41

    • 18.

      Emission and Sub-surface

      5:11

    • 19.

      Project: Chair product rendering

      12:36

    • 20.

      Procedural textures

      9:46

    • 21.

      Non-color maps

      3:56

    • 22.

      Bump and displacement basics

      9:59

    • 23.

      Texture and UV mapping

      8:15

    • 24.

      Projection UV mapping

      11:00

    • 25.

      UV tiling and Real-world size

      7:56

    • 26.

      Acquiring PBR textures

      5:03

    • 27.

      PBR texture types

      8:26

    • 28.

      Applying PBR textures Part 1

      11:53

    • 29.

      Applying PBR textures Part 2

      11:43

    • 30.

      Normal texture issues

      8:20

    • 31.

      Project: Kitchen table texturing

      12:47

    • 32.

      Using Substance textures

      9:22

    • 33.

      Unwrap UVW modifier

      10:29

    • 34.

      Automatic UV unwrapping

      8:09

    • 35.

      UV selection techniques

      8:13

    • 36.

      UV editing shortcuts

      5:32

    • 37.

      Seams and coordinate system

      9:26

    • 38.

      Lock, Hide, and Freeze

      4:34

    • 39.

      Break, Weld, and Stitch

      6:15

    • 40.

      Quick transform

      5:22

    • 41.

      Project: Low poly barrel unwrapping

      9:39

    • 42.

      Rendering UV template

      4:41

    • 43.

      Project: Low poly barrel texturing

      8:54

    • 44.

      Unwrapping with Peel

      10:39

    • 45.

      Project: Perfume packaging

      9:06

    • 46.

      Project: Driade S.Marco Part 1

      10:54

    • 47.

      Project: Driade S.Marco Part 2

      9:36

    • 48.

      Project: Driade S.Marco Part 3

      11:40

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

460

Students

2

Projects

About This Class

In this online course, you’re going to learn the essential skills of "Look development" inside 3ds Max. You will learn about materials, texturing, and UV unwrapping. The curriculum is carefully crafted so you can master the skills quickly but seamlessly. Please note that this course is not designed for complete beginners. You do need some basic knowledge about 3ds Max, such as navigation, object creation, selection, and basic 3d modeling.

 

What you will learn

There are a total of 4 chapters in this course. In the first chapter, you will learn the basics of rendering in 3ds Max. Then learn the basics of using materials and how to manage them using the material editor. You will learn how to create a material library. Learn how to utilize the material ID and the multi sub-object material. Next, you will learn how to use the ActiveShade feature to quickly preview materials. We will also discuss several important CG concepts such as color models, bit depth, and high range images. Then you will learn different methods of adding environment lighting into the scene. From using simple colors. Then using HDRI files. And then learn to use the daylight system. After that, the curriculum focuses on material parameters. You will learn the basic settings such as the base color, metalness, and roughness. And then move on to the more advanced parameters such as the transparency, clearcoat, sub-surface scattering, emission, and so on. At the end of the first chapter, you will do a project where you add materials to a chair product and then render it.

In the second chapter, we will focus on the texturing techniques. You will learn procedural textures. Then learn how to control various aspects of the material using non-color textures. Then learn different bump effect techniques from using simple height maps, normal bump maps, and displacement effects. After that, learn to use image texture and different methods of projection UV mapping. Learn the concept of UV coordinate and the real-world size feature in 3ds Max. Next, you will learn in-depth about PBR textures. Learn the different types of PBR textures. Where to acquire PBR textures. And the strategy of how to apply PBR textures onto 3d models. You will also learn why you don't want to rotate a normal map and how to overcome the issue if you do need to rotate it. After that, you will also learn how to use substance materials directly inside 3ds Max. At the end of the second chapter, you will do another project. You will use all the knowledge you have so far to add material and PBR textures onto a kitchen table product.

In the third chapter, we will focus on the UV unwrapping techniques. You will learn the basics of the Unwrap modifier. Learn the automatic methods of UV unwrapping. Then learn UV editing techniques from the various selection methods to using the UV transform tools. After that, you will learn how to lock, filter, hide, and freeze sub-objects in the UV editor. Next, you will learn different methods of separating and combining UV clusters such as using the "break" command, weld commands, and stitch commands. Then we move on to the quick transform features. These tools can help you speed up the UV editing process. For example, you can quickly straighten UV clusters, etcetera. After that, you will do another project creating a low poly barrel. In this project, you will learn different approaches to unwrap a 3d model. Then learn how to export the UV layout from 3ds Max to other graphic software. Learn to paint the texture and then bring the texture back to 3ds Max. After the project, you will learn different methods of UV unwrapping using the peel seams features. Then at the end of the third chapter, you will do another project creating a product packaging. The challenge of this project is to create a UV layout that follows a given print design.

The fourth chapter is dedicated to the final project. At this stage, you will use all the knowledge you learned before in this course to create a chair product. You will start with adding the environment light. Then creating the materials through the use of PBR textures. And then UV unwrap the models. Because each part of the model is different, you will use different UV unwrapping techniques that best suit the model's part. After that, the rendering process. Here is the result of the final project.

After completing the course, in sha Allah, you will have solid foundations on how to create materials, adding textures, and UV unwrap 3D models like this one. I hope you find this course interesting and beneficial.

Meet Your Teacher

Teacher Profile Image

Widhi Muttaqien

CG expert & entrepreneur

Teacher

Widhi is an entrepreneur in creative industry. He has master degree in information technology and business management from Bina Nusantara University. Beside doing business he is also a lecturer in computer graphic related disciplines in President University Indonesia and Lasalle College International.

In his more than 20 years of experience in the CG industry he finished hundreds of projects with clients from all over the globe. He has been producing thousands of CG images and animations. His deep passion with computer graphic leads him to dive into 3D visualization, animation, game development, video and motion graphic.

See full profile

Level: Intermediate

Class Ratings

Expectations Met?
    Exceeded!
  • 0%
  • Yes
  • 0%
  • Somewhat
  • 0%
  • Not really
  • 0%

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Introduction: Assalamualaikum. My name is Widhi Muttaqien. I am an entrepreneur and also a lecturer in computer graphics disciplines. I teach 3D and 2D animations, web designs, motion graphics, game development, and other computer graphics related disciplines. I’ve been using and teaching 3ds Max for over 2 decades now. In this online course, you’re going to learn the essential skills of "Look development" inside 3ds Max. You will learn about materials, texturing, and UV unwrapping. The curriculum is carefully crafted so you can master the skills quickly but seamlessly. Please note that this course is not designed for complete beginners. You do need some basic knowledge about 3ds Max, such as navigation, object creation, selection, and basic 3d modeling. There are a total of 4 chapters in this course. In the first chapter, you will learn the basics of rendering in 3ds Max. Then learn the basics of using materials and how to manage them using the material editor. You will learn how to create a material library. Learn how to utilize the material ID and the multi sub-object material. Next, you will learn how to use the ActiveShade feature to quickly preview materials. We will also discuss several important CG concepts such as color models, bit depth, and high range images. Then you will learn different methods of adding environment lighting into the scene. From using simple colors. Then using HDRI files. And then learn to use the daylight system. After that, the curriculum focuses on material parameters. You will learn the basic settings such as the base color, metalness, and roughness. And then move on to the more advanced parameters such as the transparency, clearcoat, sub-surface scattering, emission, and so on. At the end of the first chapter, you will do a project where you add materials to this chair product and then render it. In the second chapter, we will focus on the texturing techniques. You will learn procedural textures. Then learn how to control various aspects of the material using non-color textures. Then learn different bump effect techniques from using simple height maps, normal bump maps, and displacement effects. After that, learn to use image texture and different methods of projection UV mapping. Learn the concept of UV coordinate and the real-world size feature in 3ds Max. Next, you will learn in-depth about PBR textures. Learn the different types of PBR textures. Where to acquire PBR textures. And the strategy of how to apply PBR textures onto 3d models. You will also learn why you don't want to rotate a normal map and how to overcome the issue if you do need to rotate it. After that, you will also learn how to use substance materials directly inside 3ds Max. At the end of the second chapter, you will do another project. You will use all the knowledge you have so far to add material and PBR textures onto a kitchen table product. In the third chapter, we will focus on the UV unwrapping techniques. You will learn the basics of the Unwrap modifier. Learn the automatic methods of UV unwrapping. Then learn UV editing techniques from the various selection methods to using the UV transform tools. After that, you will learn how to lock, filter, hide, and freeze sub-objects in the UV editor. Next, you will learn different methods of separating and combining UV clusters such as using the "break" command, weld commands, and stitch commands. Then we move on to the quick transform features. These tools can help you speed up the UV editing process. For example, you can quickly straighten UV clusters, etcetera. After that, you will do another project creating a low poly barrel. In this project, you will learn different approaches to unwrap a 3d model. Then learn how to export the UV layout from 3ds Max to other graphic software. Learn to paint the texture and then bring the texture back to 3ds Max. After the project, you will learn different methods of UV unwrapping using the peel seams features. Then at the end of the third chapter, you will do another project creating a product packaging. The challenge of this project is to create a UV layout that follows a given print design. The fourth chapter is dedicated to the final project. At this stage, you will use all the knowledge you learned before in this course to create a chair product. You will start with adding the environment light. Then creating the materials through the use of PBR textures. And then UV unwrap the models. Because each part of the model is different, you will use different UV unwrapping techniques that best suit the model's part. After that, the rendering process. Here is the result of the final project. After completing the course, in sha Allah, you will have solid foundations on how to create materials, adding textures, and UV unwrap 3D models like this one. I hope you find this course interesting and beneficial. Wassalamualaikum. 2. Conventions disclaimer and exercise files: Welcome to the course. Before moving on, there are several things I need to mention and make clear first. First about the structure of the course. I have carefully crafted the curriculum so that everything is placed sequentially. Each lesson you take on one level will become the foundation of the lessons in the next levels. Therefore, it is important that you take the course in order, step by step. Not jumping around. If you take the course by jumping around randomly, most likely you will get confused at some point. The second thing I need to mention is that you need to practice. For each video, please try out the lesson yourself at least once. The course is not just about theories. Most of the lessons are practical skills. So again, you need to practice if you really want this online course to benefit you. Next, I need to mention that this course is not for complete beginners. You need to know at least some 3ds max basic knowledge such as navigation, object creation, selection, and 3d modeling. In this course, I will assume you already know these basic skills. If you want to learn these skills from me, I do have a 3ds max basic course that focuses on 3d modeling. If you are very new to 3ds Max then I suggest that you take the basic course first, before taking this look development course. For the software version, I’ll be using 3ds Max version 2021 to version 2022 in this course. If you are using an older version of 3ds Max, you may experience some differences. Those can be the UI, the shortcuts, and or even the features. To avoid these problems, I strongly suggest that you use the latest version available, or at least use the 3ds Max version 2020. Throughout the course, I’ll be displaying a lot of images or even videos. Some of them are not made by me. I’m using them merely as sources of inspiration or as references. If I can find the name of the copyright owner, I will try to add credit for him or her on top of the image. Otherwise, I will just put the URL of where I got those images or videos. If I don’t specifically state that the content is made by me or has my watermark on it, it means that the content belongs to their respectful owners or artists. I do not claim that the content was made by me. Alright. For the exercise files, you can download all of them from this link. It is a zip file format. So after you download it, you need to unzip it first. The files are named based on the lesson's structure. If a lesson contains more than 1 file, then I usually group the files inside a folder. 3. Renderer basics: In this lesson video, we will discuss the basic concept of "rendering" and "renderer", and then how to set the active renderer in 3ds Max. "Rendering" is a process of producing an image or video from 3D scene data. What 3d scene data means is basically everything that you create inside 3ds max, including 3d models, materials, lights, etc. To perform rendering, one way to do this is by clicking on this button. Yes, it will just produce a pure black image. This is because we don’t have anything yet in the scene. We will discuss more about this later. For now, let’s continue discussing the "renderer". The program that is responsible for performing the rendering process is called the "renderer" or also known as the "rendering engine" in other software. 3ds Max provides different types of rendering engines out of the box. And you can also purchase 3rd party renderers such as V-Ray, Corona, Maxwell, etc. If you have multiple "renderers" installed, you need to pick which of them you want to use. To see the renderer settings in 3ds Max, you can open the "render setup" window. For this, you can click on this button. Or you can also go to the "rendering" menu, and then click this "render setup" menu item. Or you can also press F10 for the shortcut. After you have the window opened. Notice up here, there is an option called "renderer". If you click on the drop-down list, you can see several "rendering engines" that you can use. Just for a quick overview. The "scanline renderer" is the legacy renderer from the older versions of 3ds Max. It is still useable for producing non-photorealistic renderings. Below you will find "Arnold". Unlike the "scanline renderer", "Arnold" can generate photorealistic renderings as it can simulate how light behaves in the real world. Previously "Arnold" was a separate program developed by a company called "Solid Angle". Autodesk bought the company. And since version 2018, "Arnold" becomes available in the standard installation of 3ds Max. Here, you can also see the "Corona renderer" option. Unlike the rest, "Corona renderer" does not come bundled with the standard 3ds Max installation. You need to purchase it separately and then install it manually. Just like "Arnold", "Corona renderer" is also capable of generating photorealistic renderings. If you have other "rendering engines" installed. Then you will be able to see them here also. To give you a clear idea of the difference between the old "scanline renderer" and the new "rendering engines" such as "Arnold" or "Corona", you can take a look at these 2 sample images. The left side image is rendered only with the "scanline renderer". You can see how dark the shadow is, making it impossible to see anything below the box. This does not look realistic at all. As for the right-side image. We can clearly see that there are actually teapot objects below the box. Modern "rendering engines" support "global illumination". Which are fancy words for describing light rays that can bounce around, just like how the light behaves in the real world. We can see the teapot here because the light rays do not stop when they hit the floor. Instead, they will bounce off the floor. And will keep bouncing off until a certain limit that we can set in the renderer. For now, let’s choose "Arnold", as for 2021, this is the standard "rendering engine" in 3ds Max. Remember, this option is only available if you use 3ds Max version 2018 or above. At this stage, you may be wondering. Why do we need to care about "rendering engines" when we only want to learn about the materials? This is because the material editor will use the "rendering engine" when displaying the material preview. Generally, you only need to set up the "rendering engine" here. By default, this setting will also affect the material editor. But in case you want to assign different rendering engines between the final rendering and the material editor, you can open the "common" tab. Scroll down until you see the "assign renderer" section. Inside it, you will find 3 options. The "Production" option is used for the final rendering. The "Material editor" option is used for the material previews. And the "ActiveShade" is used for the special interactive viewport in 3ds Max. We will discuss this in more detail in future lessons. As You can see they are all already using "Arnold" by default. Currently, you can not use a different "rendering engine" for the material editor as this "lock" toggle button is active. If you turn this off. Then you can have different "rendering engines" for the final render and for the material preview. But this lock button is important as this will make sure that the material preview and the final rendering result are consistent because they are both using the same rendering engine. So it is better to always have this lock button turned on. Just remember that from this lesson forward, I will have the renderer set to "Arnold" for the final rendering, material preview, and the "ActiveShade". 4. Material basic concepts: When discussing look development, there are 3 terms that people often get confused about when using them. They are "material", "shader", and "texture". As a general guideline, "material" is a collection of parameters that determine how 3d objects will look when rendered. Next is "shader". "Shader" is actually a program or a piece of code. You can use shaders to set rules and logics, or even generate procedural graphics, etc. Essentially, because it is a program, to create a shader you actually need to write some codes. The good news is, there are many visual tools that we can use to create shaders as the replacement of writing the actual codes. This can greatly help artists or non-programmers to create custom shaders. And the last term is "texture". A "texture" is basically an image that we place on the surface of a 3d model. Okay, so that is the basics. Again. "Material" is a set of parameters. "Shader" is a program. And "textures" are basically images. Now, the way these 3 things work together is like this. Material is the hub for shaders and textures and 3d objects. So in order for a 3D object to use a shader and texture it needs a material. Inside a material, we can define the shader that we want to use and also the textures. In a single material, we can have multiple shaders and also multiple textures. But at minimum, a material needs at least one shader for it to work. It is impossible to have material without any shader working behind it. In fact, what we know as "material" is actually a shader that exposes some of its parameters to the users. It is a bit too complicated to discuss everything now. As a beginner, it is safe to assume that "material" and "shader" are two different things. Now, in terms of texture. The texture is actually not a must. Meaning you can have material without any texture. In practice, 3d artists treat materials like materials in the real world. So, we can create a material called "wood" for example, and assign that material to any object that we want to make looks like wood. Such as wooden tables, wooden doors, wooden bridges, etc. Then we can create another material called "rubber" for example. We can apply that rubber material to 3d objects such as car tires, earphone buds, certain furniture components, etc. We can create material for gold, chrome, wall, fabric, glass, water, etc. Basically, for every type of material we see in the real world, we should have a material in the 3D scene to represent it. These are the basic terms and general concepts in computer graphics. In 3ds Max, however, things are a bit different. We’ll get to this in more detail in future lessons after discussing the material editor. 5. Material editor: In this lesson video, we will discuss the "material editor". In 3ds Max to create and manage materials you need to use the "material editor". To access it, you can click on this button. But notice if you click and hold on to this button, you can see 2 different types of the "material editor". If you click on this one. This is the classic material editor or also known as the "compact material editor". And if you choose this one. This is the newer version called the "slate material editor". You can also access the "material editor" through the menu. If you open the "rendering" menu. You can see the "material editor" sub-menu here. Inside it, you can see the 2 types, "compact" and "slate". Besides using the UI, you can also press M on the keyboard to open the "material editor". If you use the M shortcut, 3ds Max will open the last material editor type you used. So, if you use the "slate" type for example. Then close it. And then press M, the "slate material editor" will open. But if you use the "compact material editor", and then close it. The next time you press the M shortcut, it is the "compact material editor" that will open. Now, if you open the wrong material editor. For example, you opened the "compact" type, while you actually want to use the "slate" type. You can easily switch between the two by clicking on this "modes" menu. Then choose the type you want to activate. In this case, we want to open the "slate material editor". So, what is the difference between the two? Well, both material editor types are very capable and compatible. The difference is that the new "slate material editor" uses a more visual approach to display the materials. It uses nodes and connectors and so it is relatively easier for beginners to understand the structure of the materials. Although sometimes, I still use the classic material editor for quick simple tasks. Because nowadays most of the computer graphics applications use the visual approach, we will be using only the new "slate material editor" from this point forward. I hope this way you will become familiar with the graph or node editor concept and so can easily transfer the skill to other CG software. Now let’s discuss the UI elements and how to navigate in the "slate material editor". Up here we have the menu and the toolbar. Then on the left side, we can see the "material browser" or the "map browser". This is where 3ds Max lists all the available materials, shaders, and textures that you can use to create the look that you want. You need to be aware though. What you see here are only some of the existing materials and nodes in 3ds Max. Some features are hidden depending on what "renderer" you are currently using. Because we are using "Arnold", 3ds Max will only show materials, shaders, and maps that are compatible or supported by the "Arnold" renderer. If you switch to other "renderers", for example, I open the "render setup" window. And switch to "Corona renderer". You will see a different set of items available here. Okay. I’m switching the "renderer" back to "Arnold" now. One last thing you need to know about the "material browser" is that you can actually detach the panel as a separate window. So, you can drag this out like so. And you can drag it into the "material editor" again. You will see these small arrows to help you snap the panel back to the "material editor" window. I’m just placing it back to the default location. Next is the "views" panel. This is where we can see the nodes and the connectors. And then this is the navigator. This is like the minimap version of the view panel. The purpose of this panel is to show where you are compared to all the objects in the view panel. And the last one is the "parameters" panel. This will display the parameters of the node you select in the view panel. You can hide any of these panels beside the "view" panel by clicking on the X button in the right corner. And to show them back you can open the "tools" menu. And then click on the name of the panel you want to show it again. You can also use the keyboard shortcuts listed in the menu to show and hide the panels. To better understand how these 3 panels work together. Let’s create a new material. In the "material browser", in the "material section", and then inside the "general" section. You will see the "Physical material". To create this material, just drag this to the view panel. And we have a new material. To navigate the "view" panel, you can use the same technique as the "viewport". So, hold down the middle mouse button and drag it around to pan the view. To zoom in and out, you can rotate the scroll wheel up and down. Notice as I get very close to the material node. The navigator shows a smaller area of the red rectangle. So this red rectangle is our viewing area. And this box is the material node. And in the "parameters" panel, we can see the parameters that belong to this material node. One last navigation technique that is important to discuss is the "zoom extent" technique. Just like in the viewport. If you zoom away or pan the view too far. You can quickly zoom back to the selected node, just by pressing the Z key on the keyboard. You can use these icons down here to pan, zoom, or zoom extent the view panel. But it is much faster to do these using the middle mouse button and the Z shortcut. 6. Material browser categories: In this lesson video, we will discuss basic material management including the node categories, creating and deleting materials, and assigning materials to objects. In this scene, I already have several teapot objects and a box object for the floor. Let's first discuss the different categories inside the "material map browser". As you may already notice, the "material map browser" is divided into several categories or sections. If you need to create materials, then you can find materials in these 3 sections, "materials", "scene materials", and "sample slots". You won’t find materials in the "Maps" section or the "Controllers" section. You can think of the "materials" category up here as the templates or blueprints that you can use to create new materials. The "scene materials" section, however, only displays materials that exist in the scene. Currently, it is empty, because we don't have any material yet in the scene. Next, is the "sample slots" section. Here you will find 24 sample materials that you can use. What you see here are the materials you see in the classic or the "compact mode". So, if we switch the material editor mode to "compact". These are the "sample slots" materials. If you use the "slate material editor", you won't be needing these "sample slots" feature that much. Although they can be useful to store temporary materials. We'll see how we can use these sample materials later. For now, let's go back to the "slate material" mode. Okay. So, until now. We know that we can only find materials in these 3 categories "materials", "scene materials", and "sample slots". But, what about these 2 categories? Well, the items or nodes inside the "maps" and "controllers" categories are not "materials". Remember when we discussed "shaders"? Well in 3ds Max, "shaders" are also called "Maps". We will discuss more about these "map nodes" later. Next is the "controllers". These controller nodes are small programs also, but they are not shaders. We use these controller nodes to create animations. Or in other words, to change certain values inside materials or maps over time. For now, let's go back to the "materials" category. Here you will see 2 subcategories, "General" and "Arnold". The "General" materials are the default 3ds Max materials that will always be available regardless of the active renderer. While the materials under the "Arnold" category are contextual. Meaning they are specific to the "Arnold" renderer and so will not be available if you use other renderers. Just to prove my point, if I open the "render setup" window again. You can use the F10 shortcut by the way. And then change the active renderer to "Corona" for example. Now the "Arnold" category is gone. But the "general" category is still here. Let me change this back to "Arnold". Let's open the "general" material category again. And then drag the "physical material" into the "view panel". So this is one way to create a material. Another method to create a new material is by double-clicking. So instead of dragging it, you can just double-click on the material. 3ds max will then create that material at the center of the view panel. If the materials are stacking on top of each other, you can just drag the top area of the material node to move it to another location. You can select a material node by clicking on its top area. You can also select a node by clicking on the center area like this. But just be careful not to accidentally touch one of these "wire sockets". We will discuss these "wire sockets" later. Now, to delete a material, simply select the node. And then press "Delete" on the keyboard. That material is now gone. Most of the time, you don't want to have materials with generic names like this. You should always name them based on the real-world materials that you want to mimic. To name a material, first, you need to select it. Then in the parameters panel, you can see the material's name in the text field up here. Just change this to any name you like that makes sense. For example, "plastic green matte". Now, if you open the "scene materials" category, you might be expecting to see this material in this section. But we don't see anything here. Why is that? This is because this material is a cold material. What "cold material" means is that there is no object in the scene that uses it. So, we need to assign this material first to at least one object in the scene in order for it to be accepted as part of the scene materials. 7. Assigning and picking materials: In this lesson video, we will discuss different ways to assign materials, and then learn the concept of "cold", "warm", and "hot" materials. And finally how to pick and search materials in the scene. To assign a material to an object, we can do this in 4 methods. The first is by dragging this output socket to the target object. Let's say we want to assign this material to this teapot object. Click and drag from this port point and then hover over the teapot object. And then release the mouse. Now, this teapot object is using this material. If you see the object turns black like this. This is usually because 3ds Max is late in updating the viewport. Eventually the viewport will catch up. But you can force the viewport to refresh faster by clicking on the third menu in the viewport. Open the "materials" sub-menu. And then select "Realistic materials with maps". Using this option will also allow us to view materials with complex shaders. The second method of assigning material is by clicking on this button. But in order for this work, first, you need to select an object or several objects. For example, this teapot and this teapot. Then click on this button. The third method is by going to the "material" menu. And then click this "Assign material to selection" command. Or, as you can see here, the shortcut is A. For these methods, you also need to have the object or objects selected first. One important thing you need to remember in using the A shortcut is that you need to have the "material editor" active in order to perform this shortcut. Otherwise, 3ds Max will be mistaken for the "angle snap" shortcut. To show you what I mean. If I select this teapot. And then press A. No material has been assigned. But notice how the "angle snap" toggle button is turned on and off. So, after you select the object. You need to select the "material editor" window. Only then you can press A. Now, these 4 teapot objects are linked to the same material. I think we can see this better if we change the base color to another color. Let's say yellow. Or perhaps it should be green because we name this material "green" before. As you can see, a single material can be assigned to multiple objects in the scene. And so if we change the setting of that material, all the objects that are linked to it will be affected. Alright. Now, because we have assigned this material to an object in the scene. This material is now officially not a "cold material" anymore. And so, if we open the "scene materials" category. Our material "plastic green matte" is now listed here. Materials can be categorized into 3 types based on how they are used in the scene, "cold", "warm", "hot". A "cold" material, as I mentioned earlier, is a material that is not being used. or it is not assigned to any object in the scene. On the other hand, "warm" and "hot" materials are materials assigned to at least one object in the scene. What differentiates between the two is whether the object is currently selected or not. So, for example, if I click on empty space to deselect everything. This material is now a "warm material". But if I select any of these teapot objects, this material is now a "hot material". We can visually tell whether a material is "cold", "warm" or "hot" by its preview. But to better compare them we need to create 2 more materials. So let me just drag a new material here. And another one. Let's change the base color of this material to blue. And this one to red. Then I'm going to assign this blue-colored material to the floor. Then make sure one of the teapot objects is currently selected. Okay. Now we have the 3 material types. This is a "hot" material because currently the object assigned to this material is selected. This is a "warm" material because this material is used by an object, which is the floor or the box object. But currently, it is not selected in the viewport. And finally, this is a cold material. Because this material is not assigned to any of the objects in the scene. Now notice how the previews of each of the materials are different. To see the preview more clearly you can double click on it. This will make the preview larger. If you want to make it small again, you can double-click on it again. For now, let's make all of them large. As you can see, the hot material has white triangles on its corners. While the warm material has triangles also on its corners. But they are colored in grey, not white. Meanwhile, the "cold" material does not have any triangles on its corners. And, again, if you check the "scene materials" section. Only the "warm" and "hot" materials are listed here. While the "cold" ones are not. Until this point, you might be wondering. Why is it so important to know which materials are cold, warm, and hot? Well, one of the most important reasons is because this has a lot to do with deleting materials. You see, if you delete a "cold" material. That material will be gone forever. While, if you delete a "warm" or "hot" material, they are not actually removed. They are still in the scene and you can open them again if you wish. Just to give you an example. If I select the "hot" material and the "warm" materials by clicking and dragging like this in the "views" panel. And then press delete. It seems that they are gone. But notice here. They are still listed in the scene material section. Whenever I need to open them again, I can just drag any of them into the "views" panel. 3ds Max will ask, whether we want to open it as an "instance" or as a "copy". If you want to edit the material then you should choose "instance". You only choose the "copy" method if you want to create a new material by duplicating the original material. For now, we want to open and edit the material, so make sure it is set to "instance", and then click OK. We can do the same with this material. Alright. Now, watch when I select a "cold" material. And then press Delete. That material will be gone forever. Well, yes you can press Ctrl + Z to undo. If the undo history is still available. But if you forget to undo and you save and close the file. You won't be able to retrieve that material back. So, this is something you need to keep in mind when working with materials. The last two techniques I want to discuss in this video are picking and searching materials in the scene. If you want to open a material that exists in your scene, besides using the "scene material" section, you can also pick it directly from the object in the viewport. But first, let me press Ctrl + A, to select all the nodes in the view. And press Delete on the keyboard to clear them out. Alright. Let's say you want to edit the material of the floor object. Imagine that you now have hundreds of materials in the scene and you don't know exactly the name of the material. In this scenario, we can click on this button that looks like an eyedropper. Then click on the floor object. And the material of that object is now opened in the view panel. You can also do this via the "material" menu, and then select "pick from object". But I guess using this button is way faster to perform. Let me clear this again. Now imagine a scenario where the object you want to pick is being blocked by other objects. Or it is currently frozen or hidden. So you cannot use the pick tool. But you know the name of that material. In such a case, you can simply type any part of the name in this search field. For example, we can type here "green". And this is our material. We can click-drag like so into the "views" panel. And choose "instance", if we want to edit the material. 8. Sample slots: In this lesson video, we are going to discuss the "sample slots" feature. There are times when we create a material and then need to close the file. But we haven't assigned that material yet to any object in the scene. Basically, we need to save a "cold" material inside a 3ds Max file. Can we do this? The answer is yes we can do this using the "sample slots". "Sample slots" are actually a feature that exists in the classic material editor. But it is still here and so we can make use of it. If you put a "cold" material inside the "sample slots". That material will not be removed by 3ds Max and will get saved inside the file when you save it. There are a total of 24 sample slots. And it is already filled with example materials when we first start 3ds Max. To see all the sample slots much better. You can collapse the other sections. And then drag this down until we see the 4 rows. And drag this to the left. And drag this border to the right. Notice how "Arnold" renderer rendering all the previews of these materials. If your computer is fully loaded and you want to tell the renderer to stop rendering the previews, you can click on this button. If this is off, all the material previews will not be updated when you change the settings. For now, we need the material previews to always be updated, so make sure that this is on. Let's create a new physical material. We're going to explore a different method now to create a material. Hover your mouse cursor inside the "views" panel. And then right-click. Then choose "materials", "general", and choose "physical material". And we have a new material. We can press Z to “zoom extent” the material. To make this material unique. Let's change its "base color" to purple. And name this material "plastic purple". Now to save this "cold" material to the "sample slots", we can do this just like how we apply a material to an object, and that is by dragging the output port to any of the slots in the "sample slots" section. But please be aware that when you do this, you will replace the existing material in that slot with your material. And if that material is a "cold" material, then that material will be gone forever. But if that material is a "warm" or "hot" material. This will be a safe thing to perform, as you can find the material again in the "scene materials" section. So drag this to the slot at the bottom-right position until you see a red line. Then release. 3ds Max will prompt us whether we want to create a duplicate or just the instance material into this slot. We want to use the same material, so we choose "instance". Then click OK. Now, even if you delete the material from the "views" panel. If you save and close the file. And then later reopen it again. You can find your purple-colored material here in this material slot. To use or edit the material inside the "sample slots", basically we can use the same techniques we have already discussed. We can click-drag like so. Or double click like so. Or, you can also right-click, then choose "sample slots". We can see all the 24 materials here. For example, we can pick this one. And the last technique I want to discuss is assigning material directly from the "sample slots". To do this, you can simply click-drag the material and then drop it on an object. Notice how the preview now has changed. It is now a "warm" material indicated by these grey triangles in the corner. So that is how you can use the "sample slots". The downside of these "sample slots" is that you can only have up to 24 materials. So, what if you need more than 24 slots? Well if that is the case, then you should be better off using the "material library" feature instead of the "sample slots" feature. Which we are going to discuss in the next lesson. 9. Material library: In this lesson video, we are going to discuss the "Material library". So what is a "material library". Basically, it is a file with the ".MAT" extension. Unlike the ".MAX" file which can store complete 3d scene data, the ".MAT" file can only store material information. Previously we learned about the "sample slots", and how we can store material information in there. But it has many limitations. What is so great about this "material library" file is that you are not limited to only saving 24 materials. You can have an unlimited number of materials saved in this file. As long as your computer or your storage device can handle it. Another benefit of using the "material library" is that you can easily share it with other people. If you are working with a team, you can save the file in a local server or in a cloud so all the members of the team can access it. But please be aware that the "material library" file will not embed the texture or the image files. It only stores the material definitions and all of their properties or parameters. It can only point out the location or the URL of the image file you want to use. So it is better to save the texture files in the cloud or server also if you are planning to use the "material library" feature to collaborate with other people. We will discuss more about textures in later lessons. To create a "material library", in the "material map browser", notice there is a small caret button. If you click it, you will see two options. This one is for creating a new material library, which is the one that we need. And this one is for opening an existing material library. For now, click the option "new material library". Now, because a "material library" is just a file, you need to specify the location and also the name of it. Again, if you are collaborating with other people online, you should choose a shared network location to save the file. For now, I'm just using my local drive. Then we can name the material. Just for example, let's name this "Arnold metal materials". Then click "save". As you can see. We now have a section in the "material browser" called "Arnold metal materials". What makes this section different is that you can see the word "LIB" here at the right. "LIB" stands for "library". This indicates that this section is actually a "material library". To store materials inside this library, you can use the same method as before. That is dragging the output socket into the library section area. But before that, let's explore a bit on the "Arnold" material. Right-click here. Choose "materials", "Arnold", "surface", and then "standard surface". This is the "Arnold" standard material. As you can see, it has a lot more parameters and sockets compared to the 3ds Max "physical material". Let's make the preview larger. And rename the material to "gold". Change the base color to yellow, as close as you can get to a gold color. And then change the "specular" color to yellow also. But make it brighter than the base color. The term "specular" is basically the highlighted area of a surface. Next, change the "specular roughness" value to around 0.3. This will make it less glossy. Down here you will find the "metalness" value. If you want to create a metal material such as gold, then you should set this value to 1. Then, the last thing I want to change is the preview background. Notice how the material looks pretty dull. Well, this is because reflective materials only look as good as its surrounding. If we only have a plain gray background, then we will see a plain color also on the material reflection. To use a background, just right-click on the preview area. And then choose "show background in preview". Now the material looks better as it reflects more varied colors. Please note that this background feature is only for preview and will not affect the objects assigned to this material. Now that we have the material. Let’s save this material to the library. Drag this output socket into the library section area, until you see a blue line. Then release. If you don't see anything, make sure to click on the plus button to expand the section. We can see that the material is already inside the library. If you think that the preview size here is too small. You can right-click here. Then choose "display material library as" and then choose "large icons". Now we can see the preview much better. But we're not done yet. Remember that this library is basically just a file. And like any other file, you need to save it. Notice this "asterisk" symbol here at the left side of its name. This indicates that there are some changes in the file but we haven’t saved it. For this, you cannot just open the "file" menu, and click this "save" button. Because that will only save the 3ds Max file, or the ".MAX" file. Not the material library file. They are two different files. To save the material library, you can right-click here. You will see the name and the URL of the file. If you click on it, or just hover over it, you will see a sub-menu where you can save the file. Now we don’t see any asterisk symbol here. Meaning that this file is already saved. But, don't worry if you forget to save the material library files. Because, when you close 3ds Max and you haven't saved them, 3ds Max will prompt you to save them first. Now, I'm going to close 3ds Max and start a new fresh file. I just created these 3 sphere objects off the record. Imagine your colleague just created a material inside a material library. And you need to use that material. To do this, in the "material map browser", click on this caret button. And then choose "open material library". And find the file, then click "open". We can see the gold material we created earlier. Let's make the icons large so we can see the preview better. Now, if we double-click on it. Or drag it to the "views" panel. Notice how 3ds Max does not ask whether we want to instantiate or to copy. Why is that? Well, this is because the material library is just a template. When you drag like this, it will always perform "copy", or create a new "cold" material. So then, how can we edit the materials inside a material library? Well, you just overwrite the old material with a new one. For example, we can change the color to blue. And then to overwrite the old material, we can drag the output port to the old material. Until you see a red line like this. If you see a blue line, this means you are creating a new material. In our case, we want to overwrite the material, so make sure you see the red line like this. And then release. And, as always, because this is a file. You need to save it. But for now, I don’t want to save it, as I don't think I need a material named gold but has a blue color. I only want to close it, without saving it. To do that we can right-click here, and then choose "close material library". 3ds Max will prompt us. Just choose "no" if we don't want to save the file. The last thing I want to discuss is that overwriting materials can happen both ways. Meaning, we can also overwrite materials from a library to a 3ds Max scene. We can do this if the materials have the same name. Let's see an example of this. But first, I want to clear the "views" panel. Besides deleting the nodes manually, you can also open the "edit" menu. And then choose "clear view". Then click "yes". Now we have a clear views panel. Let's open our material library file again. You can assign a material directly from a material library to an object simply by dragging it like this. By doing this, we created a "warm" or a "hot" material. So if you open the "scene materials" section. You will see the "gold" material already listed here. Now, if you drag a material like this from the "scene materials" section to an object in the viewport. These 2 objects now use the same material which has the name "gold". Now, let's say you want to change the material. You can click-drag to the "views" panel. And choose "instance". And, let's just make it green. The scene material and all the objects assigned to it will be affected automatically. Okay. Now watch carefully. If I drag in again the "gold" material from the library to a new object in the scene. This will happen. 3ds Max will prompt us, whether we want to overwrite or replace the material, or rename it to a new material. This only happens because the material in the scene and the material in the library have exactly the same name, which is "gold" in our case. If you don't want to overwrite the material, you can choose this option. And just give it a new name. But if we choose "replace" and then click "OK". Now the previous material in the scene is gone, replaced by the new material from the library. That is why all of these changed back to yellow. From this example, we can conclude that having a good naming convention for the materials is very important. Especially if you are working with a large team. 10. Multi sub-object material: In this lesson video, we will be covering the "Multi sub-object material". I already created this teapot object off the record. Previously we learned that a material can be assigned to multiple objects. What we need to know now, is that we can also assign multiple materials to a single object. For example, we want to assign different materials to each of the teapot elements. For this, we need to convert the object into an "editable poly" first. So, select the teapot object. Right-click. And then choose "convert to". And choose "convert to editable poly". Let's open the material editor. And open the "sample slots" section. Now, if you just click-drag a material to the object like so. Just as before. The material will be assigned to the whole object. If we do this again using another material. The new material will replace the previous material. So now this is a "hot" material, while this becomes a "cold" material again. Let's say we want to assign this red "wall paint" material, but only to the lid element of the teapot. To do this, you need to select the polygons of the teapot lid element. We can right-click and then choose "element" here. You can also press 5 on the keyboard if you want. Now that we are in the "element" sub-object mode, we can select only the top lid polygons. While in this condition, if we click-drag a material onto that object. It doesn’t have to be exactly on top of the selection. As long as the mouse cursor is on the object. If you release. Now, only the selected polygons are assigned to that material. We can do this using the other material assignment methods. Such as by dragging the output port or by using this assign button up here. Just for example. Let's create a new "physical material" in the "views" panel using the right-click method. Use a different "base color", such as purple. Now, if we select the spout element. And then drag the output port of the material to the teapot object. As you can see. Only the spout part is assigned to the purple material. The other parts are not. So, assigning multiple materials to a single object is quite easy. But what we really need to discuss now is the inner working of how these multiple materials work. When you assign multiple materials to a single object, behind the scene, 3ds Max creates a special material called the "multi sub-object material". And besides that, it also assigns a special polygon identifier called the "Material ID". To see this more clearly, let me clear the views first. And let's use the pick material tool. Click on the teapot object. You will see something like this. This is the "Multi sub-object material". Basically, it is just a container for other materials. Currently, we have 3 materials inside it. This is the one we use for the majority of the polygons. This is for the lid polygons. And this is for the spout polygons. Notice these numbers here. These are the "material ID". This is the number 3ds Max used to assign certain polygons to certain materials. Polygons that have a material ID number 1 will use this material. Polygons with material ID number 2 will use this material. Number 3 will use this material. And so on. Now, let's select the handle element. Make sure we are in the element mode. And then click on the handle part. In the modify panel. If you scroll down. You will see the "material ID" value. If I set this to 3. As you can see now these polygons use this material. And please note that "material ID" is not a property specific to the element sub-object. It is actually a polygon property. So if we go to the polygon mode. And then select these polygons for example. And then change the "material ID" to 2. As you can see. These polygons now use material number 2 listed in the "multi sub-object material". Now, let’s take a look inside the scene material. Here we can see a total of 4 materials. These 3 materials look like normal materials. But if you look closely at this material. This is the "multi sub-object material". The preview looks like a ball with patches of fabric in different colors. Now, let's discuss how we can edit and replace the materials inside the "multi sub-object material". Let's say we want to edit this red color material. We can click here to select the node. The parameters of the material will be shown here. Or, you can also click on this material name here. This will select the corresponding material node and also open its parameters. Then you can make changes here as you need. To replace a material inside a "multi sub-object material", you can do this in several ways. For example, let's say you want to use this "black rubber" material in the sample slots to replace the purple material. Just drag it, like so, and then release it here. Choose "instance" and click "OK". You can see it in the "views" panel. A new node is replacing the purple material. Now, this purple material is a cold material. It does not connect to anything. Also, you can see that the handle and the spout parts of the teapot have now become black. Another way to replace a material is through disconnecting and connecting nodes in the "views" panel. Let's say we want to assign the purple material back into the third slot. To disconnect a node, you can click-drag the input socket like this and then release. You can also disconnect a node by clearing the material. Let me undo this first. So, we can right-click here. And then choose "clear". As you can see, clearing a material from the parameters panel will disconnect that material. Now we can reconnect the output socket of the purple material into the third slot of the multi sub-object material. This rubber material is now a cold material. Let's just delete it. The last thing I want to cover is adding and deleting the material ID slots. Currently, we only have 3 material ID slots. We can add more slots by typing here manually, how many slots we want to have in total. Or by clicking the "Add" button here. Now we have 4 slots. And 3ds Max just created a new physical material inside the new slot. Let's delete this material for now, because we're going to explore a new method of creating material. If you have an empty material slot like this. Clicking on it will open a floating "material map browser". Here you can select a material. For example, an "Arnold" standard surface material. You can click OK. Or just double-click on that material. As you can see a new material node was just created for us. Let's change the color to something different. For example, this orange color. Alright. Let's get back into these number IDs. The thing about these IDs, is that they actually don’t need to be sequential. For example, you can type here 10, or any number you like. Just be careful not to input a very large number here. Because this can crash 3ds Max. So only use the number you actually need. I'm using number 10 here just for explaining the point. If I select the body part element of the teapot object. And then change the "material ID" to 10. Now, these polygons in the body part use this material. So, you know now that these ID numbers can be any numbers. As long as they match the material ID value in the polygon, they will work. If you want to delete a material ID slot. You can select the slot first by clicking on the preview box. Then click this "Delete" button. This "multi sub-object material" now only has 3 materials just like before. This "Arnold" material is now disconnected, and we can just delete it if we don't need it anymore. 11. ActiveShade: In this lesson video, we will cover the ActiveShade feature. For this lesson, let's first prepare the scene from scratch. Create a floor using a box object. Like so. Then create a teapot object at the center area. Then let's create a light object. Because we will be using the "Arnold" renderer, it is better to use the native Arnold light object. Click-drag from here to here so the light is pointing towards the teapot object. Then move the light object up. Okay. 3ds Max's viewport provides more than enough visual quality for 3d modeling or for creating animation. But, as you may already know, the viewport was not designed to display rendering results. It was designed for performance first in mind so that you can work inside it with optimal frame rates. Basically, what you see in the viewport will always look different from what you see in the final rendering. So for example, if you want to see whether this light is bright enough. We need to render the view by clicking on this button. Or press F9. It will take some time to finish the rendering. Now we can tell that the light is too weak. Let's increase the "intensity" to 10. Then press F9 to render again. Nope, this is still too weak. We can try 50. And we can also press this "render" button in this "rendered frame" window. I think this just looks about right. From this example, you can see how troublesome it is and how slow it is to rely on the final rendering when tweaking the lights. And you will also need to do this when doing look development. Such as changing the material settings or texturing, etc. For example. Let's create a physical material. And apply that material to the floor object. And then, we can just drag this "Arnold" car paint material to the teapot object. To really see the materials, we need to render the view again. Imagine if you have to tweak the materials and so you need keep rendering again and again. In these scenarios, it is better to use the ActiveShade feature. So what is exactly ActiveShade? Well, it is a view mode in 3ds Max that provides viewport interactivity but at the same time produces high fidelity rendering. It will always re-render the scene every time you make changes. It can produce faster visual feedback because it uses lower samples and settings compared to the final render. Of course, you can set how low or how high the quality is in the "render setup". One thing you need to be aware though is that not all renderers support ActiveShade. For example, "Arnold" supports it, but "Corona renderer" does not. Before we can use the ActiveShade optimally, there are several settings that we need to take care of. For this, we need to open the "Render Setup" window by clicking this button or by pressing F10 on the keyboard. Notice up here the target option is set to "Production rendering mode". This means that the settings below are for the final rendering. We can change it to "ActiveShade mode". Now the settings below are for the ActiveShade rendering. At this condition, if you click this "Render" button, the ActiveShade window will open. But we will do that later. Notice the button here changed also. Let me show you this again. This is the "production" mode. The render icon has a lightning symbol. And this is the "ActiveShade" mode. The icon has a play symbol. Alright. The first thing we're going to take a look at is the image size. If you open the "common" tab. Here you can define the output size in pixels. You can type in the "width" and the "height" values here manually. Or you can click on one of these presets. Just be aware that larger image size will require more computing processes. Now, due to the limited screen size when recording this video, I want to use a custom size. You don't need to do this if you have a larger screen size. You can just use this preset. Or even this preset if your computer can handle it. I'm using 480 pixels for the width. And 270 pixels for the height. Alright. Next, open the "System" tab. You can see an option here "Render device". CPU means you are using your main processor to render the ActiveShade view. GPU means you are using your graphics card. Now, this is important. If you have a good modern graphics card, it is always better to use it instead of the CPU. But if you only have an onboard graphics card, then CPU is the only option that you can use. The PC that I'm using now has an i7 processor and a GTX 1060 graphics card. I prefer to use the GPU as it is faster. Ideally "Arnold" should be able to detect and use the GPU automatically. But at this current version, when I record the video, somehow it does not. So to fix this. I have to do manual device selection. And click the check box next to the name of the GPU. The last thing I need to do is to "populate GPU cache". Click here. And then click on this "populate" button. This process is important if you want to have faster rendering when using ActiveShade. Basically, this will let "Arnold" prepare a lot of data in the memory for quicker access later in the rendering process. If you click on this button the first time, it will take about 10 to 15 minutes depending on your system speed. After that, the process will be faster. So if you create a new scene and perform this "populate GPU cache" again. It will only take about 2-3 minutes. But, if later you update 3ds Max, or update Arnold, or update the graphics card's driver. Then the "GPU cache" will need to be reset. So the process will be like the first time which takes about 10-15 minutes. After you are done. Click the "render" button here, or you can also click this button. The ActiveShade window will open. Notice how the "ActiveShade" keeps track of the viewport's zoom and pan. If you select a 3D object or a light object, and move it around. The "ActiveShade" will also update automatically. Another way to use the ActiveShade feature is to use it directly inside the viewport. But we need to close this ActiveShade window first, as "Arnold" will not render both at the same time. Then open the third menu in the viewport. Up here you can see the "ActiveShade" toggle button. If you turn this on. The "Arnold" renderer now displays the ActiveShade rendering right inside the viewport. Notice the lag or the feedback latency. This is because the viewport area is larger. As we discussed earlier, larger image output equals to heavier processing which leads to longer rendering time. If you set the viewport to be smaller. Then you can have quicker feedback or lower latency. In this condition. We can still select objects or move them. You will still be able to see the transform gizmo or other viewport helpers. To turn off the ActiveShade rendering, we use the same method when turning it on. And that is by clicking the menu. And then click here again. To activate the ActiveShade window again. We can click and hold here. And then choose the icon that has a play symbol. Now we have the ActiveShade window opened again. 12. Color models: In this lesson video and the next one, we will discuss the fundamental concepts of color models and bit depth in computer graphics. We need to discuss these concepts first as we are going to need them later in the upcoming lessons. In this video, we will focus on "color models" and how to choose colors in 3ds Max. And in the next video, we will discuss the "bit depth". So, what is a "color model"? Basically, a color model is a method of splitting color into its basic components or parameters. There are 2 types of color models, light-based color models, and pigment-based color models. Light-based color models use lights as the color producer. All devices that produce light use this color model. For example, our computer monitors, smartphone screens, televisions, projectors, etc. In the light-based category, every color can be split into 3 key colors. They are Red, Green, and Blue. Or also known as RGB. Every color that we know can be produced by mixing these 3 key colors. While, unlike the light-based model, the pigment-based color model uses inks or paints to produce color. Everything that is printed or painted uses this color model. In the pigment-based category, any color can be produced by mixing 4 key colors. They are Cyan, Magenta, Yellow, and Black. Also known as CMYK. Nowadays, there are also pigment-based color models that use more than 4 colors. But unless you are working in the printing industry, you don't actually need to use the CMYK color model. You can just use the RGB color model in your workflow from end to end. If you ever need to mass print an image. Just send the RGB image file to the printing shop, and let them do the conversion. 3ds Max does not support the CMYK color model or any other pigment-based color models. This makes sense as most CG projects are targeting screens or other light-based devices. So, from this point forward we will be focusing on light-based color models. As we discussed earlier, the real light-based color model is RGB, or Red, Green, and Blue key colors. But, if we create a physical material. And then click on the base color box. In the 3ds Max color picker window, we can see RGBA and HSV. So why are there 2 color models here, and what this "Alpha" value does? Let's cover this "Alpha" value first. Basically, this "Alpha" value controls transparency. The value of 1 means it is fully opaque. And zero means it is fully transparent. Now, the base color parameter doesn't actually need transparency value. So, any "Alpha" value you set here does not matter. Let's just set this to the maximum. Now, although RGB is the true light-based color model. It is very hard to pick a specific color using only the RGB values. Yes, you can select basic colors like white, black, red, green, and blue easily using RGB sliders. But other than that, only people with years of experience can have the feel for it. Just to give you an example. If all of the colors, red, green, and blue, all maxed out. The output color will be white. And if none of the RGB colors are turned on, then the output color will be black. So basically, in the RGB color model, black means off or no lights at all. If we want to have pure Red color, we can turn off all channels except the red channel. The same principle applies to the other channels. This is green. And this is blue. Again, this is very basic. But what if you need Yellow? Well, yellow is actually a combination of red and green lights. Next, what if we want to make this color slightly orange? We can decrease the Green value almost half way. Next, what if we want to make this color darker, or more towards brown? Well, we can decrease the green and the red sliders together to the left. As you can see. Things are becoming more and more complicated. That is why another light-based color model was created called HSV. HSV, which stands for Hue, Saturation, and Value, is a derivative color model from RGB. But, instead of using key colors like RGB, HSV uses color characteristics to define the color output. Due to this approach, it is much easier to select a specific color compared to the RGB model. The Hue value controls the color type. You can see that dragging this slider is the same as dragging the pointer here left or right. The Saturation value controls how much color is present as opposed to greyscale colors. So, if we set the saturation value to zero, we only get greyscale colors. But if we set this to the maximum, we get the strongest color presence. The "Value" controls how much light is emitted from the color. If we set this to zero, we'll get black. Because, again, in the light color model, black means no light at all. In the HSV color model, if you want to pick a pure white color. You need to set the saturation all the way down. And the "value" all the way up. Now, 3ds Max also provides additional ways to get to black and white colors. If you want to move the color closer to white, you can drag the "whiteness" pointer here downward. And if you want to move the color closer to black, then you can drag this down. But you will also need to move this "whiteness" value up. 13. Bit depth and high-range images: In this lesson video, we will be discussing another fundamental concept in computer graphics and that is "bit depth". And then after that, we will discuss high-range images. Raster images, such as JPEG, PNG, TIFF, etc, and also the picture data displayed by our monitor screen are actually formed by a grid of small squares called "Pixel". A full HD picture, for example, has a pixel resolution of 1920 by 1080. Meaning it has 1920 columns and 1080 rows of pixels. The higher the resolution the more pixels the image contains thus making it able to store more visual information. Pixel, which stands for "picture element" is the smallest building block of a digital graphic. A pixel can only have one color. And as we discussed earlier. Because a color needs to be defined by RGB values, a single pixel needs to store at least 3 information. How much strength is for the Red color. How much is for the Green color. And how much is for the Blue color. Different levels of Red, Green, and Blue colors will determine the color of the pixel. These 3 blocks of information inside a pixel are also known as "Channels". So we have a Red channel, Green channel, and Blue channel inside a single pixel. Now, we often need to store transparency information. For this, we can use an additional channel called the "Alpha" channel. But you need to know that not all image file formats support the "Alpha" channel. JPEG file format, for example, does not support it. Meanwhile, PNG, TIFF, and TGA file formats support the "Alpha" channel. So if you need to store an image with the transparency you don't want to use JPEG. You should be using PNG or other formats that support the "Alpha" channel. Because again, each pixel in these file formats can have 4 channels total. 3 channels for the color information or the RGB values. And 1 channel for the transparency or the "Alpha" value. Common image file formats support 8-bit per channel. This means that there are 8 memory slots allocated for each channel. So we have 8 slots for Red, 8 slots for Green, and 8 slots for Blue. And, If we have an "Alpha" channel then we also need additional 8 slots for it. For standard RGB files, each pixel will have 8 plus 8 plus 8 bits, which equals a total of 24 bits. But if we have an "Alpha" channel in that image, each pixel will have additional 8 bits of data, so the total will be 32 bits. Now, although this seems not important at the moment. But, trust me, knowing this will help you understand image file settings better in other graphic applications. Because some graphic applications have unique ways of showing image parameters. Some use the bit value per channel, but some use the total amount of bit per pixel. Such as they ask you whether to save as 24 bits image or 32 bits image. Or they ask you whether to save in RGB, or in RGB plus Alpha format. Etcetera. Now, let's discuss the range level of the standard 8-bit per channel images. Down at the machine level, computers actually only understand binary numbers which are 0 and 1. So these 8 slots will be filled in, with a bunch of 0 and 1 numbers. For example, it can be something like this. These are just random digit numbers, just to give you an example. What we can count with this setup, is that, if we have 8 probable spaces and 2 probable values, which are 0 and 1. How much are the total configurations that we can get from it? Well, that will be 2 power by 8. Equals to 256 variations. So with 8 bits per channel, each channel can have 1 to 256 probable values. But if we start from 0 instead of 1. We can have 0 to 255 values for each channel. For standard usage, 0 to 255 levels are enough to display good quality imagery. But for more demanding professional works, these 256 levels of images are just not enough. Why is that? In the real world, lightness or brightness can range from zero to ‘theoretically” an infinite value. Zero means a pitch-black dark situation where there are no lights at all. In this condition we are quote on quote “blind” as we can not see anything. And infinite brightness value is just a theory, as for us living on planet earth, the brightest thing we can see is the sun. There is no man-made light able to defeat the sun’s brightness. Now if we need to capture this high range of light information into an image. Because standard images only have 8 bits per channel, they may only capture a small range of the real-world lighting condition. We can, however, compress it like this. These kinds of techniques are known as “tone mapping”. They are very important techniques because our display devices such as computer monitor, TV, smartphone screen, etc. Even the LCD screen at the back of our digital cameras. Most of them have a standard color space called SRGB. SRGB stands for "Standard RGB" which is basically 8-bits per channel graphics. To store more lighting information, we can use special image formats that support more than 8 bits per channel. Several examples of high-range images are HDRI, open EXR, high range PNG files, camera RAW files, etc. Let's quickly discuss each of these file formats from bottom to top. The camera RAW files are actually not a single file format. Each camera manufacturer uses its own RAW file format. It contains the real visual information captured directly by the camera sensors before any processing is applied. They are mostly useless until they are converted into more standardized file formats. Most camera RAW formats can store from 10 bits to 14 bits per channel. Next is the high-range PNG file format. There are many versions of PNG file formats. The most common one is the 8-bit per channel version. The one that we're discussing now is the high range version which can store 16 bits per channel. Although it offers a lot of features, not many people are using high-range PNG file formats. Next is Open EXR or just EXR for short. EXR, which stands for "Extended Dynamic Range", is the second most widely used high-range image file format. It supports up to 32 bits per channel. The last one is the HDRI file format, which stands for "High Dynamic Range Image". This is the most widely used high-range image file format, simply because it is the oldest one. It also supports up to 32 bits per channel. And there is even a version that can hold up to 64 bits per channel, although still rarely used by the CG industry. Because high-range image files such as HDR or EXR, can store up to 32 bits per channel. Each channel can support more than 4 billion levels. We know this from powering 2 with 32. Compare this against the standard 8-bit per channel images that can only support 256 levels per channel. It's like night and day. Even our eyes cannot see the whole 4 billion levels at the same time. It seems awesome, but having a very large amount of lighting data introduces more challenges. To begin with is the challenge in capturing the data. Most camera RAW files can only store up to 14 bits per channel. So usually, to create a really high range image, you need to take several pictures with different exposure levels. These pictures, then combined inside an image editing software to create a single high-range image file. The second challenge is displaying them. Currently, when I record this video, several HDR display devices are already available in the market. But these devices only support up to 10 bits per channel. There are no display devices that support 32 bits per channel yet. And even if they do exist. They will be useless. Why? Because they will be bad for your eyes' health. The same reason why you don't want to stare at the sun for a long period. By now, you might be wondering. If it is hard to capture and impossible to display them, why do we even want to use high-range images? Well, there are at least 2 reasons for this. First, for photographers or video editors, high-range images can provide more editing flexibility. They can easily tweak the exposure and bring back visual information that would have been lost in 8-bit images. And the second reason, for 3D artists or visual effect engineers. High-range images are very useful to store the lighting condition of a certain area in the real world. We can then use the high-range images as light sources inside 3D software or compositing software. Using this technique we can easily and precisely simulate the lighting condition from the real world into a 3D scene. We will discuss how to use these high-range images in the upcoming lesson. 14. Environment lighting: In this lesson video, we're going to discuss environment lighting. For this lesson, I'll be using the file we have created in the previous "ActiveShade" lesson. In the real world, the way we see objects dictated heavily by the lighting condition. We won't be able to see the materials properly if we don't have proper lighting. The same principle applies in 3D software. That is why when tweaking materials, we need proper light sources. And the easiest way to do this is by using "environment lighting". So what is exactly "environment lighting"? Well, to make things simple. It is a type of light that is coming from every direction, from an infinite distance, surrounding the objects in the scene. To access it, you can go to the "rendering" menu. And then choose "environment". Or you can press number 8 on the keyboard for the shortcut. To see the changes in near real-time, you can use the ActiveShade feature as we discussed in the earlier lesson. There are 3 different types of environment lighting. The first is using a solid color. The second is using a high-range image. And third, is by using a daylight system. We'll discuss the first 2 methods in this lesson, and we'll discuss the daylight system in the next video. First is the solid color method. To use this method, basically, you just need to change the background color to other than Black. If we change this color to a brighter color. Let's just try white. As you can see, the scene immediately becomes bright. Let's turn off this light, for now, so we can focus only on the environment lighting. We can do that by clicking on this "On" check box in the "Modify panel". You can experiment with different background colors. Just be aware that if you use other colors than white or the greyscale spectrum, that light will alter the way we see the colors in the scene. I'm canceling the color selection now, so the white color is active again. As you may notice, although using solid color is very easy, the result is pretty dull or unrealistic. This is because the lights are coming uniformly from all directions. Which never happens in the real world. Before we discuss the next environment light type. I need to explain about the "default lighting" in 3ds Max. You see, if you don't have any light sources in the scene. Whether it be a light object or even an environment light. 3ds Max will use the default lighting which is basically a flat light that does not cast any shadow. Sometimes this is helpful if we're trying to check our 3d models, but we haven't set up any lighting yet. To see this default lighting in action, you need to remove all the light objects in the scene. So, let's just delete this light object. Then you also need to set the background color back to pure black. Notice as we darken the background color, the scene gets darker also. But once we have a pure black background color. The default lighting will be activated. As you can see it is uniformly bright, and there are no shadows. So again, if you see this kind of flat lighting. You know now that this is the default lighting. And if you create a light object or use a different background color this default lighting will be gone. The second method is using a high range image as the light source. We have discussed high-range images before. To use a high-range image, in the "Environment" window, click on this "Environment map" slot that says "none". The "Material map browser" window will open. In the "Map" category. Inside "OSL", open the "Environment" category. Here you will see the "HDRI environment" map, just double-click on it. 3ds Max will ask you to pick a high-range image. For this, you can use an HDR file format, or you can also use an EXR format. When you installed 3ds Max, several HDR sample files were already copied into your computer. As you can see, by default 3ds Max will open the folder where these HDR files exist. You can select any of these files. Or you can also use your own file if you want to. My 2 favorite places to find HDR images are "hdrihaven.com" which is completely free, and "hdri-skies.com" which provides free tier HDR files up to 2K resolution. For now, I'm just using this provided HDR image called "Evening road". As you can see the lighting produced by an HDR image is way better than what solid colors can produce. It's almost like the teapot and the box objects are placed in the middle of the area where the HDR image was taken. And not only the lighting condition, you will also get these nice reflections on the objects. At this stage, you might be wondering. So what happens to this solid color parameter then? Well, if you put a map here, 3ds Max will ignore the solid color. You can still change the color, for example to grey. But it won't affect anything. If we turn off this "Use map" option. Then any map you use here will be ignored, and so the solid color will be used again. Or if you remove the map by right-clicking on the map slot, and then choose "clear". The solid color will be used again. Just be aware that clearing a map slot is not undoable. Let me bring back the "evening road" HDR file again. Alright. Next, let's discuss how to control this HDR environment lighting. Because the HDR environment is basically a "map" or also known as a "shader" in other CG software. To control it, you need to use the "Material Editor". The first method is by clicking and dragging like this to the "Views" panel, and then choose "instance". We can see all the settings in the "parameters" panel. Or, let me delete this first. You can even have the material editor closed. The second method is by right-clicking on the map slot. Then choose "edit in SME". SME stands for "Slate Material Editor". As you can see the material editor automatically opened. And you have the HDR environment settings here. This second method does not place any node in the views panel. Remember when we discussed that a shader is actually a piece of code? Well, since 3ds Max uses the OSL standard, which stands for "Open shading language". We can clearly see the codes behind a shader or a map by clicking on this button. I'm not an expert in OSL, so I don't want to touch these codes as I may break something. But if you know a bit of programming, you can see that OSL is written in a JavaScript-like syntax. Let's just close this window. If you want to replace the HDR file with another HDR or EXR file. You can do so by clicking on this small button with 3 dots. Let's try this "shanghai bund" now. If you rotate the viewport around, you can see that this file is taken on a rooftop at the center of Shanghai city. The lighting is very different from the previous file. The "rotation" value here is very useful to rotate the HDR texture using the world Z-axis. For example, if we set this to 180, the HDR texture rotated half a circle. This "mirror" option here will flip the image horizontally. These tilt parameters will tilt the image. And the "height" value here is like pulling the HDR image up and down. But this will cause distortion in the image. Another important parameter is the "exposure". Basically, this controls the brightness of the HDR image. You can put a positive or negative value here. If we set this to 5 for example, the HDR image will produce more lights. But if we set this minus 5, the scene will be darker. I think we have covered all the basics and the important settings. You can try and experiment with the other settings yourself. In the upcoming lessons about materials, I will be using an HDR image to light the scene. But before that, we will discuss the default daylight system first, as some of you may need to use this as the light source. 15. Daylight system: In this lesson video, we will discuss the daylight system or also known as the sun and sky system. We will be using the file from the previous lesson. As you can see I already have the ActiveShade window active. Discussing the daylight system, in general, is a bit tricky. Why? Because each renderer is different. Although most renderers support 3ds Max default daylight system. But for optimum results, you always want to use the native sun and sky system from the renderer. Just for a quick preview. In the "create panel". If you select this Arnold light. And you click on the "type" parameter. You can see a "distance" type which you can use to simulate the sunlight or the moonlight. And you can see the "skydome" also that you can use to simulate the skylight. Now, in the "Corona" light category. You will also see this option "Corona sun". We can use this to simulate the sunlight. So again, different renderers use different approaches. In this lesson, we will focus on the default 3ds Max sun and sky system. As a macro-overview, the system has 3 components. The first one is the environment map that actually generates the light. The second is the sun positioner object. It may look like a light object at first. But in this system, it is not a true light source. It exists only to help in controlling the environment map. And the third is the camera exposure. We need this because, just like in the real-world, the sunlight is very strong. Without controlling the exposure level, the scene will look overly bright. Now, you can create all these 3 things manually, one by one. But, to save time, when you create a "sun positioner" object, 3ds Max will automatically create the environment map and also apply the proper camera exposure. Before we create anything, in the "Environment" window, make sure this slot is empty and this exposure control is set to "no exposure control". Alright. To create a "sun positioner" object, in the "create panel", open the "light" section. And then choose the "Photometric" category. Click on the "sun positioner". Then click on the viewport. You can rotate the mouse to control the direction of the sun. And if you click. You are now controlling the sun's distance. Note that this distance and also the location of the object will not affect the lighting. It is just so we can easily see and find the object in the scene. Then click again to finish up. Now if you look at the "Environment" window. 3ds Max added a map here called the "Physical sun and sky environment". And the exposure control is set to "physical camera exposure". Let's discuss the exposure control first. If we don’t use any exposure control, this is what will happen. As I mentioned earlier, it will be overblown. With the "physical camera exposure", we can control the exposure. The default "exposure value" is 15 EV. EV stands for "Exposure Value". If you increase this value, you will get a darker result. Lowering it down will produce a brighter result. Let me set this back to 15 for now. Alright. The actual light source in the 3ds Max daylight system is this environment map. To edit the parameters, you can either drag this to the "views" panel in the material editor. Or simply right-click here and then choose "Edit in SME". Here you can connect the map with a "sun positioner" object. Again, this map and this sun object are two different entities. If for example, I copy this "sun positioner" object. Or you can also create a new one by clicking this "create" button. A new sun object will be created at the center of the world. Currently, we have 3 "sun positioner" objects. To pick which one you want to connect with this environment map, you need to click on this "button". And while this is active, click on the "sun positioner" object. For example, this second one. You can see the name here changed based on the selected sun object. Let's just delete the other sun objects so it is less confusing. Before we discuss some of these parameters. You might be wondering by now, why do we only see grey color in the background? Well, that is because what we see here is the ground color, which is this grey color. You can change this to any color you like. But if you want to see the sky or even the sun you need to rotate the viewport, so it is looking up. So, there is the sky. And there is the sun disk. The position of the sun disk is controlled by the "sun positioner" object. If we select the object and open the modify panel. And change the hour setting to 9. The sun disk position will change and so will the sky color and its brightness. If we change the hour setting to 6 in the morning. This is what we get. Basically, we can easily simulate real-world sun and sky lighting conditions using this system. And not just time, you can also set the date here. And even define the location. For example, I live near Jakarta, in Indonesia. To set the location to Jakarta city, simply click on this button. And change the map to Asia. We can find Jakarta here on the city list. Or we can just click here on the map and it knows that I'm clicking Jakarta. 6 AM in Jakarta is quite dark, so let's set this to 9 AM for now. The last thing you want to check if you want to precisely simulate the sunlight, is the compass direction. If you are building a house in Jakarta, for example. And you know that the house is facing North. You should rotate the sun object so that the compass direction is aligned to the 3D model's real-world orientation. Basically, with this, you can visualize how the building will look like against the sunlight. Now, what if you don't care about the location or the time? You just want to set the sun position freely. Well, you can do so by selecting the "manual" option here. You can see all these parameters become locked. Scroll down until you see these 2 parameters. You can use the "azimuth" to control the direction. And use the "altitude" to control the height. Alright. Let's go back to discussing the map parameters. This section controls the sun. This section controls the sky. And this one for controlling both the sun and the sky globally. So, for example, this intensity value will affect all. While this value is only for the sun. And this is only for the sky. This "haze" value will add particles into the air. Making the sky more polluted and also making it more yellowish. One value that I think is important is the "disc size". If you increase the sun disk size, for example to 2000%, you will get more blurry or softer shadows. But please be aware that this will also make the sun disk visually larger. Let me change this back to 100%. The last value you want to check is this "tint" color. Let's say we choose purple. You can see how the sky changes to purple and how it also affects the object colors in the scene. 16. Basic material parameters: In this lesson video, we are going to discuss the basic parameters of the default "physical material" in 3ds Max. Here, I already set up a teapot object on top of a box object. And for the lighting, I'm using 3ds Max's default HDR image called the "Evening road". I also use an ActiveShade window for previewing the material. We have discussed how to set up all of these in the earlier lessons, so be sure to watch those lessons first before watching this one. Open the material editor by pressing M. For a start, I want to hide the "material map browser" as it is taking a lot of space on my screen. You can leave it as-is, if you have a larger screen. To close the "material map browser" panel, you can use the O shortcut, or by clicking the X button here, or you can also click this small icon up here. Let's create a material for the floor first. Right-click, "Materials", "General", "Physical material". Assign this to the floor object. Change the base color to a darker grey. And set the "roughness" value higher to around 0.8. Before we continue, notice how the material preview is not active. This is because Arnold is already rendering the ActiveShade, therefore it won't render the material preview. You can have both rendered, but you need to purchase the full Arnold license for that. At least that is the case in the version I'm using now. Let's clear the "views" panel by deleting this material. Create a new "Physical material". And assign this to the teapot object. First, let's discuss this "presets" drop-down list. Here you can find almost all common materials you can find in the real world. For example, we can select this "glossy paint". Or this "matte paint". Or this "satin varnished wood". This material has some texture, so Arnold will require a bit of time to upload it into the memory. We even have glasses, and metals such as this "copper" material, etcetera. When you choose a preset, the parameters down here will change. For now, Let's pick the top "glossy paint" preset, and start from here. In the "Material mode", you can find 2 options "simple" and "advanced". In the "simple" mode, you won't have separate "reflection" parameters. In the "advanced" mode, the base color and roughness are separated from the reflection color and roughness. Now, you might be thinking that the advanced mode is more realistic and or closer to the real-world materials. Contrary, that is not the case. The "simple" mode is actually the one that is closer to the real-world material. Why? Well, in the real-world, glossiness or roughness and reflectivity are tight together. They are not separate properties. At a microscopic level, if a surface of a material is smooth. Meaning it has fewer mountains and hills. The material will look glossy. Because most of the light rays reflected by that material follow a consistent pattern, we can clearly see the surrounding imagery on that material's surface. But if the material is rough, or it has a lot of steep mountains and hills, it will look less glossy. The light rays reflected by that material will be more chaotic or randomized, therefore it is very hard to see any visual of the surroundings on that material. So, in the real-world, every object actually has a reflection. Even a rough stone or matte wall has a reflection. Otherwise, we won't be able to see the object. It just a matter of whether the reflection comes in an organized manner or in randomized chaotic light rays. That is why having separated roughness and reflection values is not physically correct. In CG though, sometimes you need to bend the rules. Because you don’t always need to create a photorealistic rendering. Some projects require you to create a cartoony or exaggerated look. That is why we have the "advanced" mode here. But for now, we will stick with the "simple" mode. When designing a custom material, the first thing you need to consider is not the color or the roughness. But it is the "Metalness". All materials in the world can be grouped into 2 big categories, "Metals" and "Dielectrics". Materials like gold, copper, iron, silver, aluminum, are all categorized as metals. Non-metal materials such as wood, rubber, plastic, stone, fabric, paper, glass, etcetera, are all categorized as "Dielectric" materials. So roughly 90 percent of materials in this world are dielectrics. There are no materials that sit between the two. So, this "Metalness" value should either be zero, which makes the material a "Dielectric". Or set to one, which makes it a metal. If you set this value in-between such as 0.5. That is possible in CG, but not physically correct as it does not exist in the real world. There are many physical differences between "Metal" and "Dielectric". But, for now, as CG artists, we only care about the visual differences. The one thing that you need to know is that metal does not have a base color or a diffuse color. Now, this may sound a bit strange. Because you can clearly see that gold is yellow, copper is brown, silver is white, and so on. Well, the colors you see in metal materials are not actually the color of the material itself, but they are tinted reflections. So, if you set this to metal, the base color here will act as the tinted reflection for the material. But if you set the material to "Dielectric", then this base color material will act as it should be, which is the diffuse color. Now, when deciding whether a material is a "Metal" or not. You need to think from the visual perspective. To understand this, let's just see an example. You might be thinking that a mirror is a "dielectric" material because it is made of glass. But the reality is, a mirror is a glass with a metal sheet on one of its sides. The reflection you see in the mirror is from the metal sheet, not from the glass. So that is why, if you create a mirror, you need to set it as a metal. Not dielectric. Another example is a painted iron gate. If iron is painted, let's say red paint. You need to know that the paint is not metal. Well, there are some metallic paints that use metallic powder. But we are talking about ordinary paints here. So, in this scenario, if you want to create a material for that painted iron gate, you should set the material to be dielectric. I'm sure from these 2 examples you understand the basic concept and can apply this to other scenarios. Let's discuss the rest of the basic parameters. This value is the weight for the "base color". Basically, the more it is closer to zero, the closer the color will be moved to black. So, zero will produce a black color. I usually set this to one. And just rely on the base color selector here if I need to make it darker. The roughness value will make the material less glossy. If you set this to one. The material will be a pure matte material. We cannot see any specular or reflection image on the surface. If we set this to zero, it will be very glossy and so we can see the reflection image clearly. Notice the difference if we set the material as metal. Metal materials have this type of perfect reflection. Let's bring this metalness down again. The last one is the IOR value. IOR stands for "Index of refraction" or it can also be "Index of reflection". Basically, this controls how light bends when entering the material if the material is transparent. Or how light bends when reflected if the material is not transparent. Each real-world material has its own IOR value. If you really want to be scientifically precise, you can search online for the IOR values. Use the keyword "IOR index". But notice that the IOR values of the real-world materials only range between 1 to 2.5. The air has a value almost to one. Glass has around 1.4 value. Water has around 1.3 value. And diamond is around 2.4. Based on my experience, even if you change this to the correct value, the difference is almost unnoticeable in the final render. Unless you use very high unrealistic values, such as 5 for example. This material looks unrealistic because it doesn’t exist in the real world. Again, in CG, this is made possible because sometimes you need to exaggerate things. 17. Transparency and Clearcoat: In this lesson video, we're going to discuss 2 special properties of the physical material, they are "transparency" and "clearcoat". I'm hoping that by understanding these properties in the default "Physical material", you will have solid foundations of how they work also in other materials from other renderers or from other 3D software. In the default physical material, the term "transparency" is used for defining see-through materials such as glass, crystal, water, etc. You need to know that in other 3D software this type of property is often called "refractive" or "transmissive" materials. You can use the provided presets if you want to quickly create glass materials. But let's discuss the basic parameters and create a transparent material from scratch. We can start with the "glossy paint" preset, but turn the roughness down to 0. And set the color weight to 1. To make a material transparent, you can increase this "transparency" value. The higher the value, the more transparent it becomes. At the maximum level, which is 1. The material will look like clear glass. This color will be used at 100% if we set the transparency value to 1. If for example, we set this to 0.5, then 50% of the base color will be used. Alright. Now, the color that we use here will also affect the transparency. If we set this to white, then the material will be fully transparent just like clear glass. But as it moves to darker colors, the less transparent it will become. We can use this to simulate dark glasses or tinted glasses. Let's bring this back to white for now. Previously we've talked about IOR. With transparency, we can see the IOR effect much better. If we set this to 1, which is almost identical to the IOR value of air. There will be no light bending. We can use this to create a holographic effect or other subtle transparent objects. As we increase the IOR value, more light bending will occur when passing through the material. Water is around 1.3. Glass is around 1.4. Next is this "thin-walled" checkbox. If this is on. Instead of treating the object as a solid material, 3ds max now renders the object as it is made of very thin glass with hollow volume. This is very useful to create bubbles for example. Now, notice that if we turn this on, the depth value here will be disabled. Let's turn off the "thin-walled" option, so we can see what this "depth" value does. To really see the difference, we need to set the color to a darker color. For example, this dark green color. Alright. So, the way this "depth" value works is like this. If this is set to zero then it will be inactive. But once you increase the value above zero. This value will determine how far light can pass through the object's surface. The higher the value, the further the light can penetrate the surface. So, if I set this to 20, for example. Only the small parts of the teapot object can be seen as transparent. The main body will still look dark as lights cannot pass through it. If we set this to 50. Now the body part looks brighter. If we set this to 100. We can see even more light passing through the object. The last thing I want to mention is this "lock" icon. If you unlock it, the transparency value will have its own independent roughness or glossiness value. Again, as I mentioned earlier, having separated values like this will produce an unrealistic result. As this is not physically possible in the real world. If you are aiming for realism, you should always have this lock button on. You can use this feature if you want to have greater control over the transparency effect and not care so much about realism. Let's turn off the transparency for now. If this is set to zero, none of these parameters matter. Next, let's discuss the coating or the clearcoat parameters. You can find them in this section. Basically, the coating feature is used to add an additional layer of transparent material on top of the base material. This is useful to create a car paint effect, for example, or other similar scenarios. To see the effect better, let's increase the roughness value of the base layer to about 0.4. And then use a dark red color for the base color. Now, the material has a semi-matte look. We have a very low reflection on the surface now. To turn on the coating effect, you need to increase this "coating weight " value. Let's bring this all the way to one so we can really see the difference. As you can see, even though we have a rough base material. The coating on top of it makes the overall object look glossy. You can set the "roughness" and also the "IOR" value for the coating layer if you want to. We've discussed "roughness" and "IOR" values before. Perhaps, what is unique about coating is this "affect underlying" section. We can see what this parameter does better if we have a color other than white for the coating. Let's say we set this to a light blue color. Make it very close to white, because dark colors will make the coating layer less transparent. This "Color" parameter will make the coating color affect the base color while making it darker and more saturated. Feel free to play around and experiment with these parameters to find the look that you like. Again, this coating property is suitable for car paint materials. 18. Emission and Sub-surface: In this lesson video, we're going to discuss additional special properties of the physical materials. They are "Emission" and "Sub-surface scattering". I will be using the same file as the previous lesson. But first, let's reset all the settings by selecting the "matte paint" preset. Alright. The first thing that we are going to discuss is the "Emission" parameters. Basically, we use this to make the material glowing, or in other words emit lights. To use this feature, just scroll down, and find the "Emission" section. If you increase this value. Let's just maximize this to 1. You can see that the teapot object now looks like a light bulb. It emits light to the surrounding. You can use this "Emission" parameter to create a neon sign for example. Or other light-emitting objects. Here you can change the color of the lights that are emitted from the object. For example, yellow. You can also change the light color using the "kelvin" value here. But for this kelvin value to work properly, you need to set the color here to white. Personally, I prefer to use this color box instead of the "kelvin" value. The last one is the "Luminance" value which basically controls the strength of the light. So if I set this to 5000, for example. The light will be much brighter. Okay. Let's reset all the settings again by selecting the "glossy paint" preset. But set the "roughness" value all the way to 1. The last parameter that we are going to discuss is the "sub-surface" or also known as SSS or "Sub-surface scattering". So what is exactly "sub-surface"? Basically "Subsurface" or "Sub-surface scattering" effect is a phenomenon where the light passes through a surface and then bounces and scatters around inside an object. If the light is strong enough, it will eventually come out again from the object. And when it does, it brings out also the colors that exist inside the object. Or the colors that exist below the surface. You can clearly see this effect when you put your fingers in front of a strong light source. You will see bright red colors on your fingers which essentially the color of your blood. To see the sub-surface effect clearly in 3D, just like in the real world, you need a strong light source near the object. So, let's create an Arnold light. Just use the "point" type. Click here to create one. And then place it above, just between the body and the spout. Next, increase the light intensity to around 5. Alright. Now, to use the sub-surface effect, you need to increase this value. The closer it is to 1, the more this surface color will be used, replacing the base color. And this color will be used as the under-surface color. In most cases, you want to set the surface color to be the same as the base color. Rarely that you want to use a different color. Let's say, we want to simulate the finger colors as we saw before. For this, we need to set the surface color to look like skin color. And the "scatter color" to resemble the blood color. For the "surface color", let's pick a bright brown color. Now, if you set this to 1, 3ds Max will only use this surface color, and ignore this base color. But, in case you want to copy this color to this color. You can right-click here, and choose "copy". Then right-click here and choose "paste". Next, we need to set this "scatter color" to the blood color. So let's pick a red color with a medium value. The last thing we need to set is the "depth" value. Basically, this value determines how far the light is able to penetrate the skin or the surface. Let's reduce this value to only 1. As you can see, only the spout area is bright. This is because the light is only able to penetrate the spout area. The body part is just too thick based on the "depth" setting we set here. You might also notice how noisy the rendering result is. Well, this is because, in terms of computation, the "Sub-surface scattering" effect is highly demanding. You need a lot more rendering samples to get a clean result. But at least now, you already understand how to use the sub-surface property inside the default "physical material". 19. Project: Chair product rendering: In this project, we are going to put into practice all the knowledge we've learned before by creating a product image just like these. I believe these are photographs of the real products. But we can try to achieve something like this using good materials and a good lighting condition. As for the background, we just want to have a transparent background. This way we have more flexibility if later we need to publish the image. To get started, just open the file I provided for this lesson. If you wonder how to model this chair product, you can check my other 3ds Max course that covers 3D modeling. I cover the modeling process of this chair from start to finish. Let's first set up the renderer and the lighting so we can see the materials better. Open the "render setup" window. Change the "target" to "ActiveShade mode". If you are using your GPU to render, remember to go to the "System" tab. And change the "render device" to GPU. We've discussed this in more detail before, so I don't need to explain everything again. I'm pre-populating the GPU cache now so that later we can get faster rendering in the "ActiveShade" window. Just like before, I'm using 480 pixels for the width. And 270 pixels for the height. Then click the render button to open the ActiveShade window. Next, for the environment lighting. We're going to use an HDRI that can mimic studio lighting. For this, you can open "hdrihaven.com". In the "studio" category. You can find this "Photo Studio 01" HDRI file. I'm going to use this 2K version for the environment lighting. If you want to use a different file, then feel free to do so. Press 8 to open the "environment" window. Click here. Choose the "environment" category, and then choose "HDRI environment". Then locate the HDRI file. And now we have a nice lighting condition to start adjusting the material. We can close the render setup window and the environment window for now. Currently, the chair model is divided into 3 objects. The seat, the legs and the rubber feet, and finally the support. At the final stage, I want them all merged into a single object. But before we do that, let's assign the materials first. And then later we combine them. The reason for this is because we want to explore several options when merging objects with different materials. Let's start with the seat object first. This should be a plastic material. Press M to open the material editor. Then create a "physical material". Rename this to "plastic glossy green". Then assign this to the seat object. For the parameters, let's use the "glossy plastic" preset as the starting point. We only want to use the "simple" mode as this is easier to set up and yet creates more realistic results. Change the base color to a leafy green color. Feel free to use other colors and also other names for the material. As you can see the material is quite glossy. I want it to look a bit rough. So, increase the roughness value to about 0.4. I think this looks better. After you are done. Just select the node and then press Delete. Remember, materials that are assigned to an object will not be deleted. You can always call them later if you want to. Next, for the support object, let's create a new "physical material". And rename it to "rubber black". To start, let’s pick the "rubber" preset. And just like before, change the "material mode" to simple. If you get a warning message like this, just click yes. Change the color to pure black. And increase the roughness to about 0.8. Assign this material to the support object. If you are done, you can delete this material again from the "views" panel. For the legs, let's create a new "physical material". Assign this to the leg object. Rename it to "wood plain brown". Change the color to a creamy light brown color. And let's increase the roughness value to 0.9. Now, for the feet area, we want to use the same rubber material as the support object. Because the feet are currently part of the leg geometry. We need to go to the polygon sub-object mode. We can do that by selecting the leg object first. And then press 4 on the keyboard. We can press M to close the material editor for now. Next, we need to select only the bottom polygons. You can press F4 to display the edges in the viewport. This can help to avoid accidental or unnecessary selections. Select this one. Hold Ctrl and then select the other 3 bottom polygons. Then, to grow the selection, you can go to the modify panel and press this "grow" button. Or simply use the shortcut, Ctrl + Page up. If you select more than needed, you can press Ctrl + Page down to shrink the selection again. Now, let's open the material editor again by pressing M. Let's close this material for now. Use the pick material tool and click on the support object. We can see the rubber material we created before. Assign this to the leg object. Because we currently select the bottom polygons. If we zoom in close enough. We can see that only those polygons are assigned to the rubber material. Now if you open the "material map browser", you can press O for the shortcut. Let me make this wider. In the "scene materials" section. We cannot see the material preview as Arnold is already busy rendering the "ActiveShade". It does not matter whether you turn this on or off. So, let's just right-click here, choose "display group". And change the option to "text". We can see the list of the materials by their names. This is not a material but only a map that we use for the environment lighting. What we need to pay attention to now is this material. This is the multi-sub-object material generated by 3ds Max automatically when we assigned the rubber material on the feet. Let's close the material editor for now. Go back to the top-level mode. While we have the leg object selected. Find the "attach" button and then click it. You can see the "Attach" button is now active. In this “attach” mode, whenever we click on an object, that object will become part of the leg object. Let's click on the support object first. Now, if the main object and the object we want to attach have different materials, 3ds Max will prompt us with this "attach options" window. You always want to choose the default, which is "Match Material IDs to Material" and the "Condense Materials and IDs" option is set to active. Why? Well, remember our discussion on material ID? If you select this first option, 3ds Max will prioritize material assignment above material IDs. Basically, your 3D models will look the same. And behind the scenes, 3ds Max will take care of all the material ID assignments for us. And this last checkbox is important to optimize the resulting multi-sub-object material. If the materials are similar, such as the feet and the support part which use the same rubber material. 3ds Max will combine them using a single material ID. Now, if you choose the second option "Match Material to Material IDs", 3ds Max will prioritize material IDs numbers over the materials. Yes, the final look will be the same. But you will have more material slots than you need. And the third option, "Do Not Modify Mat IDs or Material", will not do anything to manage your material and material ID. It will just override the material in the attached geometry if it has the same material ID as the main object. So this option can lead to materials being swapped around and so may change the final look of the object. So again, make sure the first option is active. And this checkbox is on. Click "Ok". Next, click on the seat object. And then click "Ok" again. To exit from the attach mode you can just right-click. The final step of this project is rendering the scene. For outputting the best result, you don’t want to use the ActiveShade mode. Instead, you want to use the "production" rendering mode. So, press F10 to open the "render setup" window. Change the "target" option to "production rendering mode". Then, in the "common" tab, you can set any numbers for the image size. I'm just using this preset 800 by 600 pixels. Lastly, I also want to use the GPU instead of the CPU to do the final rendering. So in the "system" tab, change this "render device" to GPU. And then select the GPU manually here. Let's close this window for now. Next, you can rotate the viewport around to find the best angle for the chair product. After you like what you see, just click the render button up here. As you may notice, the seat region is still a bit noisy. We need more samples in this area. Open the "render setup" window again. In the "Arnold" renderer tab. You can increase the samples manually here. But we're going to use this "adaptive sampling" option. Basically, Arnold will intelligently add render samples on the area where it needs them. Click the render button. And just wait for it. And here is the final result. You may notice that we still have the background from the HDRI file. Remember that in the beginning, we want a transparent background. Well, no need to worry. Because, by default, the background area will have zero value in the alpha channel. You can click on this "alpha" view mode to see the image transparency. The white color indicates solid pixels. And the black color indicates fully transparent pixels. Click this button again to see the RGB view mode. If you save this image as JPG. Because JPG files do not support transparency. Then this background will be visible. But if you save the image using PNG format, for example. By default, it will preserve transparency. To save the image, you can click on this "save image" button up here. Select the location where you want to save the file. And then name the file, for example, "chair 001". Finally, this is important, change the "save as type" to PNG. Then click the "save" button here. RGB 24 bits is the default 8-bits per channel image. As we discussed earlier, we have 3 color channels. 3 multiply by 8 equals 24. And make sure this option "alpha channel" is on. So in total, we have 4 channels. 3 channels for the RGB and 1 channel for the Alpha. Click "OK" to export the file. And here is the result when you open the file in Adobe Photoshop. As you can see the surrounding background is transparent. 20. Procedural textures: In this lesson video, we're going to discuss "Procedural textures". We will be using the file from the previous lesson. But, let's reset all the settings by using the "matte paint" preset. And set the roughness all the way to one. And set the "base color weight" also to one. Alright. Earlier, we have discussed material, shader, and texture. To categorize "Procedural textures" is a bit tricky. Because in essence they are "shader" but we can use them just like images. There are at least 6 differences between ordinary textures and "Procedural textures". The first difference. Unlike ordinary texture which is just an image file, "Procedural textures" are generated dynamically by programs. So, again, they are actually "shaders", not image files. The second difference. Because it is a program, you can control the image using parameters. And because any parameters in 3ds Max can be animated, you can animate "Procedural textures". This is something you cannot do using ordinary textures. However, you can use a video as a texture if you want to create an animated effect. But a video is basically a series of images stored in a single file. So it does not offer as much interactivity as "Procedural textures". And also video files are huge. This leads us to the next difference. A shader is stored just like any code, which basically texts data. While an image is stored in a form of a grid of pixels. Each pixel stores RGB or RGBA channels. So generally, saving a file that contains "Procedural textures" requires less storage space compared to saving an image or even a video file. The next difference is how they are processed. Generally, image textures require more memory to store the pixel information, but less processing power as the image already exists. On the other hand, "Procedural textures" require less memory consumption, but it is more taxing on the processing side. This is because the computer needs to execute the program continuously to generate the image. Again, this is the general condition. There are always some exceptions. Such as a bug or a bad practice in the shader programming that can cause memory leaks. In these scenarios, a "procedural texture" can consume way more memory than it should be. The next difference is the dimension. We all know that an image is basically a 2D object or 2D data. It only has 2 axes, X and Y. What is so great about "Procedural textures" is that, besides 2D, it is possible to generate 3D textures. Because they have 3 axes, X, Y, and Z, or in other words, they have volume. For this type, you don't need to assign UV mapping to be able to put them on 3d models. I know we haven’t discussed "UV mapping" yet. In short, "UV mapping" are methods of placing 2D images onto the surface of 3D objects. More about "UV mapping" in later lessons. The last difference is the shareability. You can easily use or share image textures across different 3D applications or game engines. This is not the case with "Procedural textures". Most of them can only work inside their native application. So if you use a "Procedural texture" inside 3ds Max. It will only work inside 3ds Max. You cannot export that to other software. To address this issue, at least Autodesk is moving in the right direction by using OSL or "Open shading language". It is an open standard for writing "shaders" created by "Sony pictures". A shader written in OSL can be transferred easily to other 3D software that also supports OSL. By the time I record this video, besides Arnold renderer, OSL is also supported by Octane, V-Ray, and Cycles rendering engines. There may be more rendering engines that support OSL by the time you watch this video. As I mentioned before, in 3ds Max, "shaders" and also "Procedural textures" are all called "Maps". This is something that we need to get used to when using 3ds Max. Again, "Procedural textures" is a "map", but a "map" is not always a "Procedural texture", because it can also be a shader that does not generate any image directly. Now, if you look at a "Physical material" node. You will see these input ports. These are the map slots. In the "parameters" panel, map slots are indicated by these small empty squares, or by these larger buttons that say "no map". So, this small button beside the "base color weight" is the same as this input port. This "base color" input port is the same as this button. And this "bump map" button is the same as this "bump map" input port. And so on. Basically, we can use maps to control these properties. The most common property that uses a map is the "base color". Why? Because it is the number one thing on the list that can affect the look of the material. There are several ways to assign a map to a map slot. Let's discuss each of these methods, while also exploring several procedural maps that exist in 3ds Max. The first method is by creating the map first, and then connecting it to the input port. So for example, we can right-click here, then choose "Maps", "OSL", "Textures". Let's try this "Simple tiles" map for now. We have the map here, but it is not connected yet to the material. Notice that this map offers several output ports. For the color output, we need to use this "col" port. Connect this to the "base color" input port. Now, the "simple tiles" procedural map is overriding the original base color. If you select the main material node. You can see this "M" letter on this small button. This indicates that the "base color" is now using a map, which is this node. Therefore, this purple color is ignored. Let's go back to the "simple tiles" map node. As we discussed earlier, "procedural maps" are dynamic. We can control this tile image using these parameters. For example, we can change this "scale" value to 0.5. This will make the tiling size smaller. You can change this "tile color 1" to a reddish color for example. As you can see, only some of the tiles become red. If you want all the bricks to be red. You can copy this color to the other color boxes. Before, we learned how to use the right-click and copy method. Another method is simply by click-dragging from this box to this box. 3ds Max will prompt us, whether we want to "swap" the color or "copy" the color. We want to copy it, so select "copy" here. Let's do the same with this color box. So that is the first method of assigning a map to a map slot. Let me delete this node first. The second method is by dragging the material's input port. So, drag this "base color" input port, to an empty area in the views panel, and then release. Choose "OSL", and let's try this "Noise 3D" map. The "Noise 3D" procedural map offers several output ports. The X, Y, and Z ports are for each of the color channels. If you want to have all the colors you need to use the "out" port. So this is the result. Before we discuss the last method, notice that the noise map preview in the viewport is very different from the rendering result. Again, as we discussed before, we should never use the viewport as the main reference when working on materials. Viewport has a lot of limitations when dealing with textures, especially "procedural textures". You can try and play around with these noise parameters later. For now, let's delete this map. The last method of assigning "procedural textures" is by clicking on these small buttons, or these "No map" buttons. We want to override the "base color", so we click on this small button. 3ds Max will open the "material map browser". Open the "textures" category. And let's try the "checker" map for now. You can set the scale here, and you can also change the colors here. Feel free to try and experiment with these parameters or other procedural maps if you want to. 21. Non-color maps: In this lesson video, we're going to discuss other map slots that are not related to color. They are "roughness map", "transparency map", and "Emission map". To save time we will be using the file from the previous lesson. Before we create anything, there is one important rule you need to know when working with non-color maps. The rule is "black is zero and white is one". What this rule means is this. Unlike the base color map slot or any other color-based map slots that can receive RGB data, non-color map slots such as roughness or transparency can only have value from 0 to 1. They do not need or support RGB values. If we put a texture into one of these map slots, it will be converted into a greyscale image automatically. The closer it is to black, the closer the output value to zero. And vice versa, the closer it is to white, the closer the output value to one. You will understand this rule better with the following examples. First, let's discuss the "roughness map" slot. If we put a texture into this map slot, then we can have more control over the surface's roughness. Let's disconnect this checker map from the base color. As you can see, the real base color becomes active again. Next, connect this "col" output port to the "roughness" input port. Now, this value is ignored. 3ds Max now uses the image produced by the checker map to control the roughness. The roughness of the object is not uniform anymore. Remember, the roughness map slot does not support colors. So these colors are converted to greyscale automatically. Let's change this bright yellowish color to pure white. In this white area, the roughness value will be set to 1 which is the highest value. And let's change this purple color to pure black. So now we have something like this. To see the effect even better, you can change the material to metal. Because metal materials create perfect reflections. Alright. Next, let's discuss the "transparency" map slot. If you connect this "checker" map to the transparency port. We now have a single map connected to 2 map slots at the same time. So, we can do this type of connection. If we change the settings in this map, both map slots will be affected automatically. But, notice that nothing happens in the rendering preview. Why is that? Well, this is because Metals do not support transparency. There are no see-through metal materials in the real world. So, if you ever increase the transparency value, but nothing happens. You may want to check the "metalness" value, and make sure it is set to zero. Just right-click on the spinner to make it zero. Now we can see that part of the material becomes transparent. The last map slot we are going to discuss is the "emission map". Basically, we use this map to control which area produces light, and which area does not. To see the effect more clearly, let's disconnect the map from any other map slots. And let's drag this output port to the "Emission map" input port. And here is the result. From these 3 examples, I hope you understand by now how powerful procedural maps can be when we apply them to different map slots of a material. Feel free to experiment with other procedural maps and with other map slots. 22. Bump and displacement basics: In this lesson video, we are going to discuss how to add bumpiness effects to materials. We will be using the file from the previous lesson to save time. There are at least 4 ways that you can add bumpiness to the surfaces of 3d objects via the materials. First, by using the "Bump" map, then using the "Normal bump" map, then "Displacement" map, and finally "Vector displacement" map. There is another method called the "Parallax" mapping. But this is a more advanced topic that we're not going to discuss in this course. We will cover the basic theories of these 4 methods. But for practice, we will only cover the "Bump" map and the "displacement" map in this video. This is because we haven’t discussed UV mapping and image texture yet. First is the "Bump" map or also known as the "height" map in other 3D software. This is the oldest method of adding bumpiness to a material. This method is categorized as the "cheat" method. What I mean about "cheat" is that there are no actual polygons generated. With the "bump" map, the renderer only alters how shadows and lights behave on the surface to create that bumpy effect. That is why "bump" maps are suitable for subtle or small-sized bumps. You don't want to use this if you need to create a large or pronounce bump effect. In terms of the color input, a bump map uses a monochrome or a greyscale image. If you put a colored or RGB image, the renderer will convert that image automatically to a greyscale image. The rule for the "bump" map or "height" map is very simple. The dark areas in the image define the valleys or pushing the surface downward. While the bright areas of the image define the mountains or pulling the surface upward. Let's see how we can use the "bump" map in 3ds Max. Let's create an OSL procedural map. We are going to try the "Weave" map for now. What is unique about most OSL maps in 3ds Max is that they offer different output ports. The "Col" output port, as we know it, is for the color output. So, this is best for outputting the map to the "base color" map for example. Although you can plug this to the "bump" map, like this. As you can see the effect is too weak to be seen. To control the strength of the bump map, you can open the main material. And then change this value to a higher value. The maximum value is 10. As you can see, even with the maximum value, the bump effect is not that obvious. Now, if you use the provided "bump" output port. And plug this into the "bump" map slot. Now, we have a way better result. Until this point, you might be wondering. So, what is it that makes the color output different from the bump output? Well, a standard RGB has 3 channels. Each with 8 bits of data per channel. While bump map, although it only needs 1 channel, will benefit from more bits per channel. Because this means more information can be provided in that image, resulting in a more detailed bump effect. You can even see that most of these map slot values are only ranging from 0 to 1. But this "bump" value are different. They range from 0 to 10. And please note that these values are floating values, not integer values. They can have up to 3 digits after the decimal. So, it supports not just 10 levels, but 10000 levels. Compare that to only 256 levels that an 8-bit image can provide. So to truly utilize the potential of the bump map, you may want to use high-range images. At maximum, you can use 14-bits per channel images, which support up to 16384 levels. So, the conclusion is, although you can use 8-bits images, high-range images are much more preferable for bump maps, or any other maps that can generate bump effects such as "normal bump", "displacement", and "vector displacement" maps. Now, although this looks good. If you look closely at the silhouette of the object. Nothing has changed. We can see the object's silhouette better if we turn on the "alpha" channel view mode, by clicking this button. As you can see, it is still the same geometry as before. To go back to the RGB view mode, we can click this button again. Next is the "Displacement" map. Unlike the ordinary "bump" map or "height" map, the "Displacement" map is categorized as the "real" method. Meaning it generates real polygons in the rendering process. Due to its nature, the "Displacement" map benefits from high polygon counts in your 3d models. The more polygons you have, the better the "Displacement" map result. Because of this also, the "Displacement" map is more taxing on the system performance, compared to the ordinary "Bump" map. This is something that you need to consider when you want to use the "Displacement" map. Now, different renderers use different approaches to add more polygons when in the rendering process. Some renderers require a special modifier to help with subdividing the geometry. But some renderers use a more advanced technique that can generate millions of micro polygons on the 3D model automatically without the need to add any modifier to the object. This is the case with the "Arnold" renderer. To see the displacement map in action, you can just redirect this "bump" output port into the "displacement" map slot. But, for us to compare the result with the bump map, we can first duplicate this rendering result. To do that you can click on this "duplicate" button. And just move this aside for now. To redirect the connector from this "bump" map slot to the "displacement" map slot. You can just drag this node and then release it here. Again, the "displacement" map requires more time to compute. Okay, so this is the result. As you can see the geometry has changed. Let's compare this with the previous "bump" map rendering result. Turn on both of the "alpha" channel modes. You can see how it is different from the "bump" map silhouette. Okay. Let me clear this window for now. To control the strength of the "displacement map", just like the "bump" map, you can use this value besides the map slot. If we set this to 2 for example. We have an even stronger displacement effect. Let me turn this back to 1. For a better cosmetic look. We can use the same texture for both the "bump" map and the "displacement" map. This is possible because both use monochrome or greyscale images. And, just like the "bump" map, the higher the bits number of the image, the more detail the result will be. Finally, let's discuss the other maps. We're not going to create any of these maps now. This lesson is just to give you a macro-overview of what these maps can do. First is the "Normal bump" map. This is like the next evolution of the classic "bump" map. This map will generate the same "cheat" effect as the ordinary "bump" map. So, it will not generate any additional polygons in the rendering time. But it can produce way better-looking bump effects compared to the "bump" map. It can better simulate the sloping effect on the surface. Why? Because it uses RGB images or 3 channels instead of just 1 channel. The way it works is like this. Imagine we are looking at the 3d model's surface from the top straight down. Our eye's direction is the Z-axis direction. Our right and left sides are the X-axis directions. And our eye's top and bottom directions are the Y-axis directions. Okay. Now, the Blue channel in the "Normal" map is used just like the "bump" or the "height" map. Which basically, controls the height of the surface. So the blue channel aligned with the Z-axis. The "green" channel controls the surface sloping from the Y-axis. And the "red" channel controls the sloping from the side view or the X-axis. So that this the reason why the "normal" map looks very real. That is, as long as you don't see the object's silhouette. Nowadays, almost all 3D games released are using the "normal bump" map, not the ordinary "bump" map anymore. The last one is the "vector displacement" map. As you may already guess from this table. The "vector displacement" map is the next evolution of the "displacement" map. So, it also creates additional polygons at render time. What makes it different, is that it also uses the concept from the "normal bump" map. So, it uses RGB or 3 channels to control the surface push or pull direction. So, if the ordinary "displacement" map only pulls the surface upward or downward. The "Vector displacement" map can pull or push the surface to any direction in 3D space. Which is cool. Unfortunately, not all renderers support "vector displacement" maps yet. And to create "vector displacement", mostly you need to use 3D sculpting software which is outside the scope of this course. 23. Texture and UV mapping: In this lesson video, we are going to discuss the basics of texture and UV mapping. We already know what texture is. Basically, the term "textures" in computer graphics, are images that we put on the surfaces of 3D objects. So that is "Texture", now what about "UV mapping"? Well, unlike "procedural textures" which can produce dynamic images in 3D space. Image textures are always 2 dimensional. Because "Textures" are 2D objects and 3d models are, well, 3D objects. You can imagine, there can be countless scenarios for how to place 2D images onto 3D objects. This is what UV mapping is all about. Basically, UV mappings are methods of how we place textures on the surface of 3D models. Let's discuss how to apply "texture" first and after that discuss "UV mapping". To use textures, you always need UV mapping. Thankfully, the primitive objects in 3ds Max already have the standard UV mapping built-in. So, we can try applying textures to them right away. To use or apply a texture into a material we need a shader that can locate and load the image file. There are several shaders that can do this, and they usually have the word "bitmap" in their names. "Bitmap" is just another term for digital images. If you open the "material map browser". Let me drag this out to make it a floating panel. You can perform a search in this panel. Type here "bitmap". 3ds Max will list all the maps or shaders that we can use to connect to an image file. Currently I have 5 maps on the list. If you install other third-party renderers, you may even see more maps here. These 4 are OSL shaders. While the last one called "bitmap" is the classic shader in 3ds Max that we use to assign image files as textures. Let's use this one for now. We can just drag this from the search result into the "base color" input port, or to the map slot in the "parameters" section. If you do that correctly, 3ds Max will ask you to locate the image file you want to use. You can use any image file you have on your computer or use the ones I provided for this lesson. Click "open". And here is the result. Before we continue, I want to explain, what is the best image size and image ratio if you want to use an image as a texture in 3D. For the ratio, you should always try to use a perfectly square image. It is not forbidden to use images that are not square, but you will need to do extra steps to adjust the UV mapping later to get the image to look right. Using square images can save you tons of time later down the road. And for the pixel size. Although you are free to use any pixel size you want for the image. You should always try to use the power of 2 values. Such as 512, 1024, 2048, 4096, and so on. Why? It's kind of a long story. But, because the way our computers work are based on binary numbers. These values can fit very well on the system's memory. This becomes even more important if you are making real-time applications such as video games or VR applications for example. Next, let's discuss UV mapping. Before we begin, you might be wondering, why is it called "UV mapping"? Well, it is because we already use letters X, Y, and Z for the axes of the 3D space. In the 3D space coordinate, the X, Y, and Z axes are simple straight directions. Unfortunately, they are not very useful when we need to map a curved surface. The easiest analogy is the earth. Imagine if you need to pinpoint a location on the earth's surface using the X, Y, and Z coordinate. That will be hard and impractical. That is why for geolocation we use latitude and longitude. The latitude axis is like the X-axis, but it is not straight. It curves along horizontally with the earth's round surface. The longitude axis is like the Y-axis, but again, it is also not straight. It flows along the earth's surface from the north pole to the south pole. Now, UV mapping is just like that. You can think of the U axis as the earth's latitude. And the V axis as the earth's longitude. And there is actually another axis called W or also known as the "Normal" direction. The W axis is perpendicular to the surface. So, each location point on the surface has it's own W direction. Imagine if the earth is a giant 3D model. Everywhere you stand, when you look up straight into the sky, that is where the W axis or the "normal" direction is pointing. So, in conclusion, XYZ are for the 3D space coordinate. And UVW are for the surface coordinate. We will discuss more about this topic in the "UV unwrapping" lesson. There are at least 3 types of UV mapping in 3ds Max. The first is the standard or the default UV mapping. Basically, this is the UV mapping that exists on primitive objects. This is the reason why we can apply an image texture to a primitive object directly. The second UV mapping method is the "Projection mapping". Imagine you use an LCD projector and then shoot an image onto an object. That is basically how UV projection methods work. But, of course, in 3D computer graphics, we can do more than just a planar projection. More on this later. The last method is the UV Unwrapping method. The easiest way to describe this method is like how a stuffed doll maker works. A doll maker needs to think about how to convert 2D fabrics into a 3D objects by carefully design the shape of the cutouts. Well, UV unwrapping is the other way around. We need to think about how we can convert 3D objects into 2D cutouts. We need to define where the seams of these cutouts as optimal as can be. We will discuss more about UV unwrapping in the future lessons. Although the standard UV mappings can be very helpful for certain scenarios such as for quickly testing different texture images, they will be broken if we edit the objects. For example, if we select this teapot, and then convert it into an "editable poly" object. Go to the polygon mode. And let's select this polygon. If we pull this out. Or We can try performing extrusion. Etc. As you can see, the initial standard UV mapping is broken as we edit or tweak the object. Because this thing is inevitable when we do 3D modeling. That is why, you always need to assign UV mapping whenever you are finished modeling. Well, unless you just want to add plain materials to the 3d models without any textures. If that is the case then you don’t need UV mapping. We will discuss more about UV mapping techniques in the subsequent lessons. 24. Projection UV mapping: In this lesson video, we are going to cover "projection" UV mapping. As we discussed earlier, "Projection" mapping is a UV mapping method that projects an image onto the surface of a 3d model. Here I have a teapot object that is already linked to a physical material. At this point, I believe you already understand how to set up something like this. So, I don’t need to explain everything again from zero. Let's add an image texture so we have something to practice with. Previously we used the "Bitmap" map. Now, let's try a different bitmap shader. Click-drag from the "base color" input port. Then release. Select "OSL", then let's choose the "Uber bitmap". Select an image file. You may use your file or use the one I provided. Click "open". We want to use the color information, so choose "Col RGB" here. And now we have something like this. If you don't see the texture in the viewport, make sure you set the "viewport" mode preset to the "standard" mode. If that does not work, you can go to the "materials" sub-menu. And choose the ones with the name "with maps" on them. Now, you might be wondering. Why are we using the viewport now, and not the ActiveShade anymore? Well, you can and should use the ActiveShade if you are in the process of look development. I'm just trying to show you that if UV mapping is the only thing you want to do. The "viewport" is capable enough to display 2D image textures. But if later you need to tweak the settings in the material, or you use the texture for controlling non-color maps, then you should use the ActiveShade again. Alright. Currently what we see here is the standard UV mapping. In 3ds Max, you can easily use different types of projection mapping using a modifier called "UVW map". To apply this modifier, first, make sure the object is selected. Then open the modify panel. On the "modifier list", type "UVW" quickly. 3ds Max will scroll instantly to focus on the modifier with that name. Choose "UVW map" by clicking on it or simply by pressing Enter. Now we have something like this. You can see clearly how the image is projected from top to bottom using the default settings. At the top area, you can specify what type of projection you want to use. Currently, we're using the planar projection type. That is why the image is projected straight in a single direction. If you select the "cylindrical" type, for example. Then the image will be wrapped around in a cylindrical shape. You can see the image is distorted at the top and also at the bottom area. If you turn on this "cap" option, then the bottom and the top area will be given additional planar projection. Next, is the "spherical" type. This projection type is using a spherical shape to project the image. This is like wrapping a candy by tying up the paper at the top and at the bottom parts. So, this type produces 2 poles, top, and bottom. And you can see image distortion on those poles. The "Shrink wrap" option is a bit different. This is like wrapping a candy using paper and tying it all at the bottom. Basically, you will only see one pole distortion. Next, is the box projection. This is like the planar projection but from 6 different directions, top, bottom, right, left, front, and back. If you are doing a lot of architectural renderings. In most cases, like 90% of scenarios, you can just use this box projection for all the walls or buildings. Next is the "face" UV mapping type. Basically, each polygon in your 3D model will have its own image projection. Finally, the "XYZ to UVW". Before, we've discussed the difference between the XYZ coordinate versus the UVW coordinate. Well, this UV mapping type will use the XYZ values as UVW values. Personally, I cannot think of any real-world scenarios where you want to use this kind of UV mapping. Perhaps it can be useful for creating abstract artwork or other similar purposes. Before we move on to the next topic, you might notice that when you select a certain UV mapping type, the parameters down here changes. For example, if you select the box type, the "height" value here is active. And so, we can control the height of the UV projection gizmo using this value spinner. But if you select the planar type, only the "length" and the "width" values are available. The "height" value becomes inactive. Of course, this makes sense as planar objects do not have any height. You can use these "width" and "length" values to control the size of the UV gizmo. Basically, each type will have its own set of parameters. Alright. Now, what if we need more control over the shape of the UV projection, such as moving it or rotating it? Well, we can do that by manipulating the UV gizmo. Because the UV gizmo is actually a sub-object of the UVW map modifier. To access it, first, you can expand the modifier by clicking on this caret button. Then click on this "gizmo" option. You can also press 1 on the keyboard for the shortcut. Or you can also right-click, and then choose "gizmo" here. In this mode, if you drag the transform gizmo around. As you can see, the object itself or the geometry itself will not be moved. Only the texture or the UV projection that moves. You can also rotate the gizmo, or scale it, like so. If you want to reset the gizmo to its default transformation, you can click on this "reset" button down here. To exit from the "gizmo" sub-object mode, you can press 1 again on the keyboard. Or right-click and then choose "top-level" here. Or by pressing the name of the modifier "UVW map". Basically, the methods are the same as how we access editable sub-object modes. Okay. Now, let's activate the UV gizmo sub-object again. We're going to explore the rest of these "alignment" tools. Basically, these are very useful when we need to align the UV projection to an object. The X, Y, and Z options here are for aligning the UV projection with the default axes. The "manipulate" button here is the same as activating this "select and manipulate" button up here. If you don't know what it is. Basically, when the "manipulate" mode is active, 3ds Max will display additional visual gizmos or manipulators in the viewport. We can use them to visually tweak the parameters of an object or its modifiers. Notice this circle here. This manipulator is actually not belonging to the "UVW map" modifier, but belongs to the main teapot primitive object. You can drag this to change the teapot's radius. Let me undo this. While this is on, you can hover on one of the UV gizmo's edges. And then drag it to resize it. It's kind of hard to see the manipulator if we use the planar type. But if you use other types, such as the cylindrical, sphere, or box type, for example. And you have the manipulate mode active. You can see this square shape clearly. We can use this to resize the UV projection. And this type also provides a box-shaped manipulator that you can use to define the height of the UV gizmo. Now, if you have the gizmo off to the side. You can click this "center" button to center it against the object. And you can use this "fit" button to scale the UV gizmo automatically to the size of the 3D object. Let's select the "planar" type again, so we can see the next tools much better. If you click the "view align" button, the UV gizmo will be aligned to our viewport viewing angle. Let me repeat this again. Rotate the viewport, and then click this "view align". As you can see, the UV gizmo aligns perfectly with our viewing direction. Next is the "region fit" button. While this mode is on, we can specify a custom UV region by clicking and dragging on the viewport. Just like how we create selection inside graphic software such as Photoshop. To turn this mode off, you can click here again. Next, is the "normal align" tool. If this is on, you can click-drag anywhere on the object's surface to align the UV projection to the normal direction on that specific point. You can click the button again to turn it off. Next, is the "bitmap fit" button. This is useful if you have an image texture with a certain or unique size ratio. And you want the width and the height of the UV gizmo to reference that image size ratio. If you click on this button, 3ds Max will open the file explorer. You need to pick an image file. Let’s pick our checker image here which is a perfect square. Click open. And, as you can see, the size ratio is now a perfect square just like the image. The last command is the "acquire" command. Basically, we can click on this button, and then if we click on another object that has a UVW map modifier also. The UV gizmo of that object will then be copied to our current object. Right now, we don't have any other object with a UVW map modifier. But I'm pretty sure you get the idea. We will discuss more features around the UVW map modifier in the next lesson. So don't close the file yet, as we're going to use this again later. 25. UV tiling and Real-world size: In this lesson video, we're going to cover 2 things related to UV mapping in 3ds Max. First is the UV tiling and the second is the "real-world map size" feature. The reason why I want to discuss them in the same lesson is that both affect the texture repetition. And both are also related to the material settings. So, although they appear in the UVW map modifier. They are also connected to a more global parameters in the material. Let's first discuss the UV tiling. If you open the file from our previous lesson. In the UVW map modifier, you can see these "tiles" values. They are useful to determine how much tiling happens inside a single UV size. The default value, which is 1, means that for every UV tile, you will have 1 texture. If we set the U tile higher. As you can see, more images are put inside a single UV tile in the U direction. If we type here 2, then we have 2 images along the U direction. If we type 2 also on the V tile. Now we have 2 images along the V direction. So, in total, we have 4 images inside this UV square. But if you go to the gizmo sub-object mode. And then move the gizmo around. Or even scale it. You will see more than just 4 images. Well, this is because the textures are tiled or repeated by default. These U and V tile values apply to a single UV map, not the total that is visible on the surface. Alright. Now, what about this "W tile"? Well, for 2D image texture, this W tile value has no effect. So, you can ignore this value. Most of the time, the W or the Normal axis is used to rotate the image via the material settings. Now, you need to understand that you can also set the UV tiling from the material. And these tiling values in the UVW map modifier will multiply the effect. To show you what I mean, open the material editor. Make sure the "Uber bitmap" shader that we use to locate the texture is currently selected. Notice these "tiling" parameters. This is U, V, and W. If we set the U tiling value to 2. Then the V tiling value to 2 also. Notice what happens here. Instead of 4 images. We have 4 by 4 images. Equals 16 total images. So, again the tiling values here in the material and the tiling values in the UVW map modifier will multiply each other. At this point, you may be wondering. So, which values should we use? Well, in general, because we usually use one material for multiple objects. If you want to control the texture tiling globally across all objects, you define the tiling values in the material. And, because modifiers are commonly used per-object basis, if you want to control the tiling locally, then you can use the tiling values in the UVW map modifier. For now, let's bring them all back to the default, which is 1. The next thing we’re going to discuss is a feature inside 3ds Max called the "Real-world map size" or also known as the "Real-world scale". Essentially, what this feature does is like this, instead of setting the UV tiling using generic values. You can set the size of the texture using a real measurement unit. For example, if you have a brick wall texture like this. And you know that in the real world, this brick wall is 2-meters width by 2-meters height. You can just input the size values 2 meters inside 3ds Max. The idea behind this feature is great, but the implementation is currently broken. That is when you import 3d models from other files that use different system units. 3ds Max will always assume they are using the same unit. So, a 3D model with 10 cm texture, when imported to a file with a 1-meter system unit, will make the texture scaled up to 10 m. Which is totally wrong. Fixing a model with a single material is easy. But imagine if you have hundreds of 3d models imported at once. You really don't want to waste time fixing these errors manually. Because of this reason, I stay away from using the "Real-world map size" feature in my work. But we will discuss this feature as perhaps this may get fixed in the future when you watch the video. Also, if you are using a consistent system unit across all your files, this feature can work as expected. Let's see how we can use this feature. Because this feature is related to the system unit, you need to set it first correctly. For this, open the "customize" menu. Then choose "Units setup". Then click this button "system unit setup". Here you can define the unit. I'm using a centimeter here. If you are doing a lot of architecture or outdoor environments, you may want to use a meter instead. So again, I use a centimeter, here. Click OK. Next, this setting is for the display. You can have a centimeter as the system unit, but then display them as inches for example. 3ds Max will take care of the conversion for us automatically. But in general, you want to set the units in the system and the display settings uniformly. So I set this to "centimeter" also. Click OK. Now, if we go to the modify panel. And then open the teapot base object. You can see the radius value is measured in centimeters. If you activate the move mode. You can see the coordinate values are also displayed in centimeters. The next thing you need to set is the viewport. The "standard" preset won't be able to display the "Real-world map size" correctly. So just set this to the "high quality" preset for now. Okay. In the UVW map modifier, you can see the option "Real-world map size". If you turn this on, all these parameters will be deactivated. Basically, what happens here is that the UV gizmo is always scaled to 1 unit size. Or in our case, it is set to be always at 1 cm. So where can we set the texture size then? Well, we need to set them in the material. Or in the shader that loads the texture, which is the "uber bitmap" in our case. Here, you will see this option "real-world scale". If you activate this option, now we can set the width and height of the texture using a real measurement unit. For example, we can set this to 20 cm. And because the image is square, we set this also to 20 cm. Now, this texture size is exactly 20 cm by 20 cm. And although you don't see the centimeters unit here, this "offset" value also works in cm. So, if you want to center this logo, for example. You can offset in the U direction for 10 cm. 26. Acquiring PBR textures: From this point to several lessons forward, we will be discussing PBR textures. For this lesson video, we will discuss what PBR is and where to get PBR textures. So, what is exactly PBR? PBR stands for "Physically based rendering". Essentially it is an approach in computer graphics to mimic how real-world materials behave. PBR is now the standard way of defining materials and or textures in the 3D computer graphics industries, whether be for video games, visual effects, and even architectural visualization. Because all this time, we've been using the "physical material". We actually already covered all the basics of PBR material properties in the earlier lessons. Things like metalness, roughness, etc. So, the next question is, where can we get PBR texture files? A long time ago, 3D artists needed to create all the textures manually using 2D graphic software or even 3D painting software. Now, this workflow is still relevant today for non-photorealistic or stylized renderings. But, if you are aiming for photorealistic results, then the best texture source would be from the real world, using the PBR standard. Nowadays, you can get almost every type of PBR texture you can think of pretty easily. There are at least 4 ways or 4 levels of how you can acquire PBR textures. The first is by simply downloading them. Many websites provide high-quality textures for free. For example, "cc0textures.com", "sharetextures.com", "3dtextures.me", etc. If the free version of the texture you are looking for is not available, then the second option is to purchase them. You can visit websites like "poliigon.com", "textures.com", Quixel Megascan, etc. Based on my experience, paying a small amount of money to purchase these textures are well worth it. Instead of spending time creating the texture from scratch, you can better allocate your time for other important things. If, the exact textures that you need are not available, both free or paid. Then the third option is to mix and match existing textures to suit your need using texture authoring software. For this, you can try "Substance designer", or you may also want to check "Quixel Mixer". There are also free and open source texture authoring apps such as "TextureLab" for example. It is way easier and faster to design a texture using these specialized software, compared to using general graphic software such as Photoshop or Gimp for example. We're not going to discuss how to use these software as that will be outside the scope of this course. If the texture that you want to create is very unique and cannot be recreated just by combining existing textures. And you have the real object that has the material. Then the last option you want to look at is utilizing texture digitizer software. What you need to do is take a lot of photographs of the real material. And then feed those photographs into the software. The software then intelligently generates the texture set for you. For this purpose, you can use Photogrammetry software. But most of these software are more geared towards capturing the 3D model data, and not really focus on the texture of it. One software that focuses on capturing textures is "Substance alchemist". Although I never use it myself, as I never really have a need for it, the software features look very promising. If you or your organization need to continuously digitize a large number of real-world materials, day in day out, you might want to try and invest in this software. From these 4 methods, you will end up with a PBR texture set that you can use inside 3ds Max or any other 3D graphic software. Now, when you browse for texture, you will often see this type of texture that has a red S logo on its thumbnail, or sometimes just an S logo like this. These are Substance texture files. They use ".SBS" or ".SBSAR" for the file extension. We will discuss how to use Substance textures in another lesson. For now, we will focus on the general PBR textures that are provided as common image files. 27. PBR texture types: In this lesson video, we will continue our discussion on PBR textures. Now we will focus on the different types of PBR textures. If you explore some of the websites we discussed earlier, you might notice that these websites don't actually use the same naming convention. The goal of this lesson is to provide you with a solid foundation about what these texture types are. This way, you can use the textures correctly no matter what naming convention is being used. The first texture type is the "color" type. This type of texture is used to override the base color of the material. It is often called "Diffuse" or also "Albedo". So again, "Color", "Diffuse", and "Albedo" textures basically serve the same purpose. We use them to override the material color. Now, technically speaking, the "diffuse" and "Albedo" are actually 2 different types of color textures. A "Diffuse" texture is a photo of the actual material with all the visible shadows still intact. While an "Albedo" texture is a processed image. It is based on a photo also, but all the visible shadows have been taken out from it. So, you can think of the "Albedo" as the purest form of color textures. At the glance, an "Albedo" texture will look very dull compared to the "Diffuse" version of it. Now, when distilling the "Albedo" texture from a "diffuse" texture, a new type of texture is introduced called the "Ambient occlusion" or "AO" for short. Basically, this texture contains the soft shadows that are extracted from the "diffuse" texture. So, in general, if you use an "Albedo" texture, you also want to include the "Ambient Occlusion" texture into the mix to give the final result more contrast. Using both "Albedo" and "AO" textures together will give you greater control over the final result, compared to just using a "Diffuse" texture. One thing you need to be aware though is that not all texture providers follow this standard naming convention. For example, if you open "poliigon.com". And let's try to open this texture "bricks old 08". Expand this section. And then choose "deselect all". The texture named "Diffuse variation 1" is actually the "Diffuse" texture. And this texture named "Diffuse variation 2" is actually the "Albedo" texture. So again, no matter what the name is. If the color of the texture looks very dull, it is an "Albedo" texture. And so, you want to use this together with the "AO" or "Ambient occlusion" texture. We will discuss how to use and combine these textures later in the next lesson. For now, let's focus on the basic concept of the "Ambient occlusion" texture. The word "Ambient" means "environment". And, as we know it, "environment lighting" is a lighting condition where the lights are coming from all directions uniformly. Much like the condition of an overcast or cloudy sky. You can only see soft shadows on the objects' surfaces because the direct sunlight is being blocked and scattered around by the clouds. In this condition, you can see dark shadows inside holes or crevasses. The deeper the hole the darker the shadow will be. So this is where the "occlusion" word comes from. Because the shadows exist on the surfaces where they are occluded from the ambient lighting. Now, "Ambient occlusion" textures are also often called "Cavity" and also "Dirt". Why? This is because these occluded areas are also the most prominent places where dirt can accumulate. So again, the "Ambient occlusion" textures, "Cavity", and the "Dirt" textures are basically the same things. The next type of texture is the "Roughness" or also named "Glossiness". As you may already guess. This texture controls the roughness of the material. If the texture is named "roughness", then the whiter the color, the higher the roughness value. And vice versa, dark colors mean lower roughness value. Now, if the texture is named "glossiness", then the colors work in reverse. White means smooth surface or low roughness value. And black means low smoothness or high roughness value. Because of this reversed nature, if you want to assign a "glossiness" texture to a roughness map slot, then you need to invert the color first either by using a "color invert" shader or to invert it by editing the image in graphic editing software such as Photoshop. We will see an example of this later. So again, the "roughness" texture and the "glossiness" texture are basically the same. It's just that each is the inverted version of the other. The next texture type is the "metalness" texture. This texture defines which area of the surface is metal and which area is non-metal or dielectric. This texture type is important for portraying decaying metal materials. Because the rusts on a metal surface are not actually metals. You can also utilize "metalness" textures for half-painted metal materials. Perhaps the metal is painted, but some of the paints are already peeled off. Another version of the metalness texture is called the "reflection" texture, or also known as the "Specular" texture. This type also affects the metalness of the material but uses a different approach. Because the "metalness" texture is already a monochrome texture. You can just plug this directly into the "metalness" input port. The "reflection" or "specular" texture, however, contains color. But it is not a diffuse color. It is the tint for the reflection color which is a special property exclusive to metal materials. So again, in conclusion, there are 2 approaches in defining metalness. The first approach is using the "metalness" texture, which is a monochrome texture. This approach is also known as the "metalness" workflow. With this approach, the reflected color information should be included in the color texture. The second approach is by using the "reflection" texture. This approach is also known as the "specular" workflow. It uses an RGB image that controls the reflection tint color. That is why, with this approach, the area where the metal exists should be just black in the color texture. And for this second approach, you need to turn on the "advanced" mode of the physical material. If you are now still confused, don't worry. Because most texture providers will only use one of these approaches. Not mix them together. So, if they provide the "reflection" texture, then most likely they will also provide the "color" or "diffuse" or "albedo" texture that uses only black color on the metallic areas. We'll go into this in more detail in a later lesson. The next texture type is the "displacement", or also known as the "height" map. We've discussed these before in the bump and displacement lesson. Basically, this texture is a monochrome image that we can use either as a classic bump map or as a displacement map. And finally, the "normal" texture. We've also covered this before. A "normal" texture is an RGB image that we can use to create bump effects. So, this texture type should go to the bump map slot or the normal map slot if it is available in the material you are using. After we understand the different types of PBR textures, and also their different variations and names, in the next lesson, we will see some examples of how to put these textures on a physical material. 28. Applying PBR textures Part 1: In this lesson video, we're going to learn how to apply different variations of PBR textures from different sources inside 3ds Max using the Physical Material. For the scene setup, we'll be using the same file as before. The only difference is the HDRI file. Currently, I'm using a file named "small hangar", which is one of the free HDR files provided by Autodesk. We will be applying 3 PBR texture sets. The first one is from a website called "freepbr.com". It is a sci-fi theme texture named "Futuristic Panels 1". If you open the website, you will notice that there are 3 versions of this texture set. This one is using the Unity game engine standard. And this one is using the Unreal game engine standard. And the last one, which is using the Blender standard, is somehow not available. Generally, you want to use this version for 3ds Max. Due to this, we will be using the Unreal texture set instead. The reason for this is because the Unity standard texture set uses a transparent image for the metalness texture. At least that is the case when I recorded the video. So, you will have to do some image editing first to make it work correctly inside 3ds Max. In this regard, the Unreal Engine standard is similar to what we use or we can use in 3ds Max. So, this is something you need to keep in mind when downloading PBR textures originally aimed for game engines, but want to use them in 3ds Max. The second texture set is from "poliigon.com". Although this website sells paid textures, it also provides some free sample textures that we can download. One of these free textures is this texture set called "Bricks 01". You can choose from 3 different resolutions. I'm just using the smallest one which is 1K for this lesson. Although this sample texture set is free, you do need to create an account to be able to download it. The last one we are going to use is from the website "textures.com". The texture set is called "forest floor leaves". The 2K resolution and above are paid textures. But the lower resolutions, 1K and below, are free. We will be using the 1K resolution textures. And just like the previous site, you also need to create an account on this website to download the textures. Alright. Let's apply the "Futuristic panels" texture set. If you inspect the textures, there are 6 of them. You can see by their names. This is the "Albedo" texture, the "AO", "Height", "Metallic", "Normal", and finally the "Roughness" texture. Back in 3ds Max. Let's start from scratch by creating a new physical material. Assign this material to our teapot object. For the first texture, let's add the "Albedo" texture. We can just drag this "base color map" input port to the left and then release it. Choose "General". Let's use the classic "bitmap" shader for now. Open the folder where you save the texture files. Select the "Albedo" texture, and then click "open". And we have something like this. Next, let's add the "roughness" texture. Drag the "roughness map" input port. But now, choose "OSL", and select "Uber bitmap". We do this because we're going to explore some of the parameters that exist both on the "Bitmap" and "Uber Bitmap" shaders. Select the file with the "roughness" name in it. Choose the color output port. And we have something like this. Next, let's add the metallic texture. Unlike before, I'm going to show you another way. You can just drag the "metallic" texture file from the "file explorer" into the "views panel". As you can see, 3ds Max will create a "bitmap" shader automatically. And just connect this to the "metalness map" input port. And this is what we have so far. Before we move on to the next textures. There is one important setting you need to be aware of when working with PBR textures, and that is the "Gamma" setting. So what is actually a "Gamma"? To keep things simple, the light intensity produced by our display devices is not really aligned with how the light intensity works in the real world. That is why we need a special mathematical function to correct it. This is what a "gamma" does. It corrects the light intensity of display devices so that the pictures we see with our eyes look similar to how we see them in the real world. If you go to the "customize" menu, then open the "Preferences" window. In the "Gamma and LUT" tab. You can see here that I'm using "2.2" for the gamma value. Now, this 2.2 value is a very common value used by most display devices in the market. But, in case you are using a very unique display device, you can set the gamma value manually here. To calibrate the gamma value is simple. Just drag this value up or down until the center square blends with the surrounding pattern area. You may need to move your eyes away a bit from the monitor for this to work. I'm not going to change anything as this Gamma value is already optimal for my monitor. Now, the question is, why is this matter so much with textures? Well, because all values that are not considered as color should not be gamma corrected. They should always be using the original Gamma value which is 1.0. You will get sub-optimal or even strange rendering results if you color-correct these values. So, the next question is, how can we tell which map slots should use Gamma correction and which ones should not? Very simple, just look for the word "color" in the input port. If you see the word "color", then these values should use Gamma correction. Other than that, the Gamma correction should be turned off. To do that. Let's say we want to turn off the gamma correction on the "metalness map". If you are using the "bitmap" shader. You can click on the texture name here. Then notice this "Gamma" option down here. Make sure it is not set to automatic, but set this to "override 1.0". So again, this is on, which is basically using the system's default Gamma value. And this is off. Alright. Now for the "roughness" map. Because we're using the "Uber bitmap". Besides setting the Gamma here, you can set them directly in this section. Just turn off the "AutoGamma" option. And make sure it is set to "Manual Gamma", "1.0". As you can see already, the rendering result is way better than before. This is because we are using the textures the way they are supposed to be used. Next, let's add the "height" map. You can just drag this into the "views" panel. Remember to override the Gamma to 1.0. Again, this is because we will connect this texture to the "displacement map" slot. Displacement is heavy in terms of processing. So, you may need to wait a bit as the renderer generates all the polygons. Okay. This is already looking better. Next, let's add the "Normal" bump effects. Drag the "Normal texture" to the "views" panel. And again, you need to turn off the Gamma correction on this texture. Although it is an RGB image, the 3 channels are not used for displaying colors. They are only used for data containers. Now, if you plug this directly into the "Bump map" slot. At a glance, it looks like nothing is wrong. But what actually happens here, 3ds Max converts the image into a monochrome image. And this is not what the texture is intended for. To use a "Normal" texture correctly, you need a special shader called the "Normal bump”. So, right-click here. You can find the shader in the "General" category. Then "Normal bump". Plug the bitmap output into the "normal" input port. Then connect the output port to the "bump map" input port. The difference may be subtle, but you will see it more clearly as the bump strength increases. Let's keep moving on to the last texture which is the "AO" or "Ambient occlusion". We've discussed this texture before. But we haven't discussed how and when to use this texture. AO is a very important texture in video games or in real-time applications such as VR. Why? Because it helps to mimic the environment lighting which is an expensive process in real-time rendering. However, if you are using ray-traced renderers, such as Arnold, Vray, Corona, etcetera, you don’t actually need to use the AO texture. Especially if you already use “displacement”. Why? This is because all the soft shadows from the environment lighting are already being calculated by the renderer. So, adding an AO texture to the material will just double the effect and make it unrealistic. But, if you are not aiming for photorealistic rendering, you may want to use the AO map. There are at least 2 ways that you can do this. First is by darkening the "Albedo" texture using a "Multiply color shader". And second is using the texture to control the "base weight" map. Let's see the first method. Create a map, choose "OSL", "Math color", then choose "Multiply color". Redirect the "Albedo" map output from the "base color" map to the A input port of the "Multiply" shader. Drag in the AO texture. And, because we are mixing colors here, you do want to turn on the Gamma correction on this texture. Plug this into the B color input port. Then drag the result to the "base color" map. And here is the result. If you look closely, you can see dark soft shadows in corner areas. So this is one way to do it. Let me select and delete this node for now. Reattach the "Albedo" texture to the "base color" map. Now, for the second method, the idea is like this. We know that if we decrease this "base weight" value down, the base color will become darker and darker. Basically, we want this AO texture to take control of this "base weight" value. But, remember, we now want to use the AO texture not as a color, but to map it as a 0 to 1 range value. So make sure we override the gamma value to 1.0 first. Then we can plug this into the "base weight" map slot. And here is the final result. As you can see, applying PBR textures can be a bit tricky. Because you need to know several important concepts to be able to use them correctly. But the result will pay off. You can get realistic or at least nice-looking materials with minimum effort. I will end the video now as this already gets too long. We'll continue applying the other 2 texture sets in the next video. 29. Applying PBR textures Part 2: In this lesson video, we will continue our discussion on how to apply different PBR textures inside 3ds Max. Now we will try to apply this texture set from "Poliigon.com" called "Bricks 01". We'll be using the file from the previous lesson. You may want to save the file first if you need a backup. Let's select all of these nodes. And then press Delete to remove them. First, let's add the color. Now, this texture set is a bit different from the previous one. We can see 2 variations of the color texture. "Col var 1" and "Col var 2". It is obvious that this one is a "Diffuse" texture, while this one is an "Albedo" texture. If you are provided with 2 variations like these, you always want to pick the "Albedo" version due to the reasons we've discussed earlier. Essentially it provides a more correct result. So drag this one into the "views" panel. And then connect the bitmap shader to the "base color" input port. We can name a node, by selecting it first. And then type the name here, for example, "Albedo". This will make the shader network more organized. But I will skip this naming process in this lesson to save time. At least now you know how to do it. I think the brick's size looks too small. We can make the texture bigger by adjusting the tiling values. We've discussed UV tiling before but using the "Uber bitmap" shader. If you are using the "bitmap" shader, you can control the tiling here. A higher value means a lot more texture in a single UV map. Which will make the bricks even smaller. If you want to make it bigger we need to input a fraction value. Let's try 0.5. This is for the U tile. For the V tile, let’s set this also to 0.5. Now the bricks look bigger, but the rendering result is still far from perfect. Let's add the roughness effect. To avoid us from having to re-input the tiling values, again and again, let's just copy this node. Select it, hold Shift and just drag it like so. Click the texture file name to select a different file. As you can see, this texture set does not contain any "roughness" texture. Instead, it provides a "glossiness" texture, so we need to invert it. And because we're not using the color information, we need to turn off the automatic Gamma and just use 1.0. Notice if we connect this directly to the "roughness" input port. The rendering result looks very off. To invert the color, we can use an "invert" shader. Right-click, choose "Maps", "OSL", "Math color", and then choose "invert color". Drag this to the input port. And from the "out" port, drag this to the roughness port. Now the rendering result looks much better. So that is one way to do it. You can also edit the image first in an image editing software. But there is even an easier way to invert the texture color through the use of the "Bitmap Output" parameter. This can help us to reduce rendering time, because, as we discussed before, the more shader nodes exist, the longer it takes to render the scene. So, in general, if you can find a way to reduce the complexity of the shader network then you should do that. So, let's delete this "invert color" shader. And just plug this directly into the "roughness" map slot. Now the rendering looks bad again. But if we open the "output" section of the "Bitmap" shader. You can see this "invert" option. Simply turn this on. And now we have the correct roughness value again just like the result when we use the "invert color" shader. Next, let's copy this node to the top. This is for the "AO" texture. Let's turn off the "invert" option so it doesn't get copied to the next nodes. Then, create another copy for the "Normal" texture down here. And another one for the "Displacement" texture. Select this AO node. And click here to change the target file. Select the "AO" texture file. The gamma setting is already correct, so just click open here. And then connect this to the "base weight" map slot. You can see that the cavity areas look darker. Now, what if we want to reduce the AO effect or perhaps increase it to make it even darker. To do that you can use an additional shader to mediate the texture data. But just like before, we can actually do this right inside the "Bitmap" node using the "Output" parameters. So, go to the "Output" section again. Now, activate the "Enable color map" option. With this, the curve editor down here becomes accessible. This node is the white color. While this node is the black color. We know that only the black colors in the AO texture will darken the rendering result. So, we don't need to touch the white color node. We only need to control the black color node. If we bring this down, more pixels become black and so make the render output darker. But if we drag this up, the dark-colored pixels will become brighter. You can type in the value here directly. Zero means this line, which is the default for Black colors. One is this line, which is the default for white colors. Just find the value you think is the best. Next, select this node. Basically, the process is the same, but now we choose the "Normal" texture. Create a "Normal bump" shader to convert the data. And then plug this in. And then plug the output into the "Bump map" slot. Previously we learned to control the bump strength using this parameter. Well, this value actually works for single-channel data such as a height texture. For a "Normal" texture, you can tweak the bump strength using this node. If you increase this number to 10 for example. You can see the bump effect becomes more pronounced in the rendering result. The last one is the "Displacement" texture. Just like before, click here, and then choose the texture. Then click open. And then connect this to the "displacement" map. You may need to wait for a few seconds for the polygons to be fully generated. And this is the final result. You may notice that this texture set also has a "reflection" map. So basically, it uses the "Specular" workflow. Because bricks are not metal. Or at least contains very little metal on its surface. You can just ignore this texture. But just imagine that this texture is metal and so using this "reflection" texture becomes important. In order to use the "PBR specular" workflow in 3ds Max's Physical material, we need to turn on the "advanced" mode. Let's copy this bitmap node. And redirect the file to the "reflection" texture. Sometimes this texture is also called "specular". And because we are using the color information, you can turn on the Gamma correction on this texture. And then plug this shader into the "reflection color" map slot. So, this is the final result. I think the bricks at the top look too small. Let's just hide the "Lid" part, for now, so we have a more consistent texture size throughout the surface. The last texture set we want to apply is the "Forest floor". For this, let's create a new object. I think a plane object suits very well for this texture set. Alright. Let's clear the views panel. Now, for this last example, I want to show you another approach to creating PBR-based materials. If you right-click and then open the "materials" category. In the "General" sub-category, you will see 2 PBR material presets. One is for the "Metalness" workflow. And another one is for the "Specular" workflow. At this point, you might be wondering, why weren’t we just using these materials from start? Well, these 2 materials are not new. They are actually just the Physical materials that we've been using all this time. It's just that the physical material is wrapped inside a script that only exposes some of the important map slots in PBR texturing. So it is like a simplified version of the Physical material. You won't find parameters like the "coating", or "subsurface scattering", etc. In practice, these material presets are great for quickly creating materials using PBR textures. But not so great if you require more control over the material. Now, if you look closely at the "Forest floor" texture set. This texture set does not contain any metal. But notice that it uses a "roughness" texture. Commonly, if you see a "roughness" texture, the texture set uses the "metalness" workflow, even though it does not contain any metal. So right-click here again, "materials", "general", and then choose the PBR material that uses the "Metal roughness" workflow. And then assign this material to the plane object. As you can see, this material hides a lot of the parameters that we usually see in a physical material. Which can be a good thing or a bad thing depending on your situation. Next, to add the textures into this material, I want to explore even a faster method than the previous methods. Open the file explorer, and just drag each of the textures to the corresponding map slot. "Albedo" goes here. "AO" goes here. "Height" goes to the "displacement" map slot. Now, for the "Normal" texture. You can see that this material provides a dedicated normal map slot. So, you don’t need to add any "Normal bump" shader for converting the data. And finally, the "roughness" texture goes here. As you can see, 3ds Max created all these bitmap nodes for us automatically. Sometimes 3ds Max created the bitmap nodes stacking on top of each other. You can move these around manually. But a faster way to unstack the nodes is to select the parent material first. And then click on this icon called "Layout children". 3ds Max will do its best to tidy them up. What is so great about this PBR material and the dragging method is that each of these bitmap shaders is already using the correct Gamma settings. So, the "base color" map uses a gamma correction. While the other non-color data textures do not use any gamma correction. 30. Normal texture issues: In this lesson video, I want to discuss one of the most frequently asked questions in PBR texturing or just texturing in general. And that is the issue around the Normal bump texture. A lot of people experience strange bump effect results when using Normal textures. The root cause of these problems is the orientation of the Normal map. We're going to discuss why this is happening and then later discuss how to solve them. Let's first discuss the causes. We know that Normal textures can create better-looking bump effects compared to the classic bump maps because they have 2 additional channels to define the surface sloping. One is for the U sloping which uses the Red color channel, and another one is the V sloping which uses the Green channel. These 2 channels can be considered as the advantage over the classic bump map, but at the same time, they are also the source of the problems. Just imagine if we rotate the Normal map 90 degrees clockwise. Now the red channel aligns with the V-axis, and the green channel aligns with the U-axis. Of course, this will lead to strange bump effects as the renderer will interpret the sloping information incorrectly. If you rotate the image further, to 180 degrees for example, then the Red and Green channels are aligned again with the U and V axes. But now both have inverted values. Essentially, a Normal map will not work correctly unless it uses the exact orientation as when it was created. So, the first cause of the problem is because we rotate the texture. The second cause of the problem may shock you. You see 3ds Max has this strange standard of inverting the green channel. Other CG software will add more green color value when the surface is sloping up from the U-axis view. 3ds Max, however, increases the green value when the surface is sloping down. If you bake the Normal texture in 3ds Max and then use it also inside 3ds Max, you won't see any problem. But once you import or export the Normal texture to or from other software, then you will experience this problem. This condition alone has caused so many frustrations among 3d artists that use 3ds Max. So, to summarize, the problem with the normal texture's orientation can be caused by two things. First, because we rotate the texture. And second, because 3ds max's standard in using the green channel is inverted. After we understand the causes, let's discuss what we can do to solve the problems. The first solution is to avoid using the Normal texture altogether and just rely on the height or displacement textures. Remember that Normal textures generate fake bump effects which is great for real-time applications. If you use a ray-traced renderer such as Arnold, and already have a displacement effect active on the object, you don't really need to use the Normal map. You can also just use the height texture as a classic bump map to replace the Normal texture. Make sure you use the high range version of the height texture, if available, so the bump effects look good even without any U and V sloping information. The second solution is to flip the green channel. To see how we can do this, in this scene, I already created a cube object and assigned a physical material to the object. I also created a standard Omni light object here to check whether the shadows and the highlights behave properly in relation to the active Normal map. For this example, I downloaded this Normal map image from the internet. And I already connected this image to a "Normal bump" shader and then to the bump map slot. Now, if you want to see the normal map behavior directly in the viewport like this, you need to use the "high quality" preset. Otherwise, you can use the "ActiveShade" just like we used before. At a glance, it looks like nothing is wrong. If I move the light left or right, the shadows work as expected. But notice when I move the light up and down. When the light is up like this. These sloping areas are dark when they should be bright. When I move the light down. These areas become dark. Obviously, the V-axis or the green channel is flipped. Again, this is not the texture's fault. But this is due to the default behavior of 3ds Max. Or at least, the behavior of this "Normal bump" shader. So, in almost all cases, when you import a Normal texture created outside of 3ds Max, you want to invert the green channel. To do that, select the "Normal bump" shader, and then turn on this "Flip green" check box here. Now the normal map is fixed. Notice if I move the light around, the shadows and highlights are positioned correctly as if the surface is really forming bumps. Sometimes, we want to rotate the texture to better fit our 3d model. As we discussed earlier, if you rotate a Normal map, the bump effect will be broken. For example, we can open the "bitmap" shader. And then change this W-axis rotation to 90 degrees. Now, the bump effect is broken again. To fix it, we need to use the same approach as to how we flip the green channel. You can experiment and find the setting yourself. But to save time, here, I provided a chart that you can just follow when you need to rotate a Normal texture in 3ds Max. If there is no rotation, the Green channel should be flipped. If the texture is rotated 90 degrees, then we need to swap the green and the red channels. If the texture is rotated 180 degrees, then we need to flip the Red channel. And finally, if you rotate the texture 270 degrees, or 90 degrees counterclockwise, then you should set all the checkboxes on, "flip red", "flip green", and "swap red and green". So to fix this texture now, because it is rotated 90 degrees, we need to turn on the "swap red and green" checkbox and just turn off the rests. Now the normal map looks correct again. The next solution is to use an alternative "Normal bump" shader. Almost all rendering engines that can run in 3ds Max provide their own Normal map shader. If you are using Arnold renderer, for example, it has its own "Normal bump" shader called "Normal map". You can create it by going to the "Maps" submenu, then "Arnold", "Bump", and then choose "Normal map". Another example, if you are using Corona renderer. It also provides its own normal map shader called "Corona Normal". And V-Ray also provides its own normal shader called "Vray Normal Map". Although each of these non-default Normal shaders is a bit different. They do share a common thing, and that is they don’t invert the green channel. So unlike 3ds Max's default "Normal map" shader, you don't need to turn on the "flip green" option if the texture is not rotated. But in case you want to rotate the Normal texture using these non-default Normal shaders, then you should follow this chart. For 90 degrees rotation, turn on the "flip green" and "swap red and green" options. If you rotate the texture 180 degrees, then turn on both the "flip green" and "flip red" options. And finally, for 270 degrees rotation, or 90 degrees counterclockwise, you should turn on the "flip red" and " swap red and green" options. Alright. So, these are the solutions that you can use. If you stick with these, in sha Allah, you will have no problem with Normal textures inside 3ds Max. 31. Project: Kitchen table texturing: In this project, we're going to add materials and textures to this kitchen table model. If you are curious about how to model this object. I covered this already in my previous 3ds Max 3D modeling course. You can check the course if you want to. Here is the photograph of the real product. There are a total of 4 materials that we need to create. First is the wood. Then the black metal frames, which I believe, use a powder coating. Next is the feet' material which is chrome. And finally, for the tabletop, we use rough stainless steel, or also known as brushed stainless steel. Now, for the last 3 materials, we can just rely on the material's settings. But for the wood material, we need to use textures. After searching around. At "cc0textures.com", I found a free PBR texture set similar to the wood finishing used in the product's photo. This texture set is called "wood 003". In this project, I'll be using the 2K version. But feel free to use other resolutions if you want to. After you download the ZIP file and then extract it. You can find 4 texture files. The color texture, then displacement, normal, and finally the roughness texture. Before we set the materials or add the textures, let's set up the environment lighting first. We've discussed this before, so I won't be explaining it again in detail. Press 8. Click here. Choose "HDRI environment". I'm using this "small hangar" file. Again, these are the HDRI files included when you install 3ds Max. You can also use your own HDRI files if you want to. Next, let's set up the ActiveShade. We've done this several times before also, so I don't think I need to explain everything again in detail. As usual, I'm using my GPU for the rendering device. And perform populate GPU cache so that later we can get faster feedback. I'm skipping the video now. First, let's create a material for the black metal frames. After looking at the reference photo, I'm guessing that the metal frames are painted using a process called "powder coating". Usually, people use "polyester", or "epoxy", or even "acrylic" materials for this type of coating. Basically, they are not metal materials. I name this material "powder coating black". And set the base color to pure black. The material is not glossy. So I think a roughness value of 0.5 should do it. Assign this material to the 3D object. To see the preview, I'm going to display the ActiveShade right inside the viewport. So click here, and then choose "Active shade Arnold". And, this is the result. We can hide the edges by pressing F4. Okay. Next, let's create the material for the tabletop. It is a brushed stainless-steel material based on the reference photo. Let's name this material "Stainless steel rough". For the base color, let's make it a dark grey color. I think a 0.2 value is enough. We can change this later if needed. For the roughness value, it should be slightly glossier than the black metal frame. So 0.4 should suffice. Now, before we can assign this material, we need to select only the polygons at the top part. So let's close this. Open the modify panel. And go to the element sub-object mode. Select the top part. And then press M again. Assign the material while the top part is being selected. And this is the result. For the feet, we want to use a chrome material. Let's just duplicate the previous material, by holding Shift and then drag it like so. Rename this to "Chrome". Oops, sorry guys. I just realized a mistake. The stainless-steel material should be metal. So this "metalness" value should be set to 1. Back to the chrome material. This should also be metal. Then, for clear chrome or clear mirror materials, you always want to use white color for the base color. And for the roughness, we need to set it to zero. And that's it. Next, we need to select the feet elements first to be able to assign the material. While in the "element" sub-object mode. Select a foot first. One tip on selecting sub-objects like these is not to use the transformation tools. But use the "select" tool instead. Why? Because if you use the transformation tools, you might accidentally transform the sub-object. To access it, besides the main toolbar, you can right-click and then choose "Select" here. Or simply by pressing Q on the keyboard. Hold Ctrl, and just select the other foot parts. Open the "Material Editor" again. And assign the chrome material. And so this is what we have so far. The final material is the wood material. For this let's create a new physical material. Rename it to "Wood". Certainly, this is not a metal. And for the rest of the settings, we will be using the textures to control them. But for the time being, so we can differentiate the material in the viewport, let's give the material a different color. Something that resembles wood. A light brown color will do. Next, we need to select all the elements that are wood material. Just select one of them and then hold Ctrl and keep clicking the rest. Assign the material to the object. Now we have something like this. Before we bring in the textures, we need to define UV mapping for the object. For this, we can just use box projection mapping by adding a "UVW Map" modifier. And then choose the box type. Notice these size values use centimeters as the unit. This is because the system unit and the display unit of this file are using centimeters. Just to prove this, you can go to the "customize" menu. Then "units setup". If you click here, you can see we have a centimeter as the system unit. The display unit is also in centimeters. And if you open the "Tools" panel. And click "Measure". You can see down here, the object's dimension is accurate based on the real product's dimension. The reason why I'm showing you all of these is that knowing that the object is using a real scale, will make it easier for us to determine the UVW mapping size. Let's just say we want the wood texture to be scaled at 1 meter. Just type here 100. Press Tab. 100. Tab again. Then 100. So now we have this 1 meter cubic of box projection mapping. Let's add the textures. Drag this color texture into the views panel. And connect this to the base color map slot. You may realize that the wood texture we have is oriented vertically by default. While, if we open the photo reference, the wood fiber is oriented horizontally. Basically, we need to rotate the texture 90 degrees. We've discussed how to do this before. In the Bitmap shader, you can set the W-axis rotation to 90. Now, we have the wood texture oriented horizontally. Although currently, the ActiveShade is showing a broken result. There is nothing wrong with the file or the texture. It is just that the current version of the Arnold renderer is still a bit buggy especially when using GPU as the rendering device. I hope the version you are using when watching this video is already more stable. For now, let me just turn off the ActiveShade. Usually, it will resolve itself after a few minutes. Next, we want to make the wood texture stretches so it looks a lot more similar to the reference photo. Previously, before we rotate the texture, this way is U and this way is V. Because we rotated the texture 90 degrees, now this becomes the U-axis, and this becomes the V-axis. To make it stretch in the V-axis, we can input a fraction value here. For example, 0.5. You can see the texture is now stretched. You may use a smaller value if you need more stretching effects on the texture. Next, let's duplicate this bitmap node for the "roughness" texture. Hold Shift and click-drag. This way we don't need to re input the tiling and the angle values. Click here and select the roughness file. And because the roughness texture is not a color texture, we need to override the gamma value to 1. Connect this node to the "roughness" input port. And we can try previewing the result by activating the high-quality preset. And then turning on the ActiveShade again. It is still broken, just wait for it. And okay, now it's not broken anymore. So again, changing the quality preset back and forth can help to fix the ActiveShade rendering errors. The wood surface now looks correct as it is not as glossy as before. Now, if you don't like the UVW map modifier exists like this. You can optimize the object further by applying or collapsing the modifier. To do that, you can perform a collapse modifier or just right-click and convert it again to an editable poly object. This will also collapse the modifier so now the UV box projection mapping is baked in the object's UV channel. Next, we want to add the bump effect. Duplicate this bitmap node. Change the file to the normal texture file. And let's duplicate this again. For this node, we use the "displacement" texture file. Then to connect this node to the bump map slot we can create a "Normal bump" shader. Connect this to the normal input port. And this one to the bump input port. And although you don't really see it, because we are using a Normal texture that is rotated 90 degrees clockwise. You need to fix the Normal orientation by turning on the "Swap red and green" option. Finally, for the displacement map, we can add this to strengthen the bump effect by plugging it into the "additional bump" input port. Alright. So here are the materials. We have 4 of them in total. And here is how the model looks like in the render preview. I'm not going to cover how to do the final or production rendering in this lesson as we already discussed that in the previous chair product rendering project. The process is basically the same. And after the production rendering process, here is the final result. As you can see, creating a product rendering like this is not that hard once you nail down the basics. 32. Using Substance textures: In this lesson video, we will be covering how to use Substance textures. If you browse for textures on the internet. You might already stumble upon several Substance textures here and there. And if you have been following the CG industry for quite a while, especially the video game industry. You know that Substance software are now the standard tools for texture authoring. The company behind Substance software was "Allegorithmic", which was later acquired by Adobe in 2019. Although the PBR standard was pioneered by Disney. It was Allegorithmic who pushed the PBR standard to the global level as we experience today. The term "Substance" is not actually a single software, but a suite of software products and services. There are 2 flagship software under the "Substance" name. The first is "Substance Designer" and the second is "Substance Painter". So what is the difference between the two? Well, "Substance designer" is a software that we can use to generate smart PBR textures. We can use these textures later on different variations of 3D objects. "Substance Painter" on the other hand, is used to paint textures on a specific 3D model. So you need to have a 3D model first to work on "Substance painter". While for "Substance Designer", you don't need any 3d model in order to use it. In conclusion, you need to think globally when using "Substance Designer" because you will use the textures for different 3d models. And you focus locally on certain 3D models when using "Substance Painter". We're not going to cover how to use "Substance Painter" in this course, as that would be outside the scope of 3ds Max. But we will be covering how to use texture files created by "Substance Designer" inside 3ds Max. What is so great about Substance Designer is that it can generate hybrid textures. What I mean about hybrid is that a Substance texture is a combination of both procedural texture and image texture. Or in other words, they are image textures encapsulated inside procedural programming or a shader. Users can easily tweak the behavior of the texture via its parameters. It can also be controlled in the game runtime making it great for interactivity. Another feature of the Substance textures is the file size. Although it is packed with so many features, Substance texture files are highly compressed. This is ideal for games, especially for mobile games where the download size can quickly become an issue. There are 2 types of Substance texture files, "SBS" and "SBSAR". "SBS" is the source file. This is the file that you need if you want to open and work with the textures inside Substance Designer. While the "SBSAR" is the archive or the published file. This is the file you need when you want to use it inside 3ds Max or other graphic software or game engines. Now, in order to use the SBSAR files, you need to have the Substance plugin installed. The good news is, if you are using 3ds Max version 2021, this Substance plugin is already included by default when you install 3ds Max. So, you don't need to search for it and install it manually. But if you are using an older version of 3ds Max, or you want to install the latest update of the plugin, you can open the official website "substance3d.com". In the "product" menu, go to "Ecosystem" sub-menu, you will find the "Substance integrations" link. Then you can download the plugin for 3ds Max here. After you have the plugin installed correctly. Inside 3ds Max, you will find this "Substance" menu. We'll discuss some of these later. For now, let's focus on this "Substance settings" menu, which will open the settings window. By the time I record the video, the "Arnold" renderer still does not fully support Substance textures in the GPU mode. Especially in the Active shade. So for now, I need to use just the production rendering in the CPU mode. I hope this condition has already improved by the time you watch this lesson. Here you can also specify the generated texture resolution, memory limit, and the CPU core utilization limit. The next important setting is this "renderer compatibility" dialog. If you click it. The plugin will detect whether the renderer is compatible or not. If not, it will offer us to apply some scripts to mitigate the compatibility issue. Just click the "apply" button if available. Then click "Apply" again to close the window. You may need to restart 3ds Max if you change the engine from GPU to CPU or vice versa. The next thing I need to change is the production rendering mode. I need to use the CPU for the rendering device. And, the last setting you need to do is the map compatibility mode. In the "Arnold renderer" tab. Make sure this drop-down list is set to "3ds Max maps support". This will ensure the general maps in 3ds max can be rendered properly by Arnold. Now, let's see how to apply a Substance texture in 3ds Max. For this, I'm going to use a substance texture provided for free at "cc0textures.com". If you open the website and go to the "assets" page. Here you can filter the result to only display substance archive file or SBSAR file format. Let's open this texture called "Rock Substance 003". As you can see the file size is ridiculously small. Only 35 kilobytes. Although sometimes you can find larger file sizes also such as 10 megabytes or even larger. But compared to the image resolution contained inside it, the file size is incredibly small. Just click here to download the file. Back in 3ds Max. Open the material editor. Now, although a lot of people use the term "Substance materials". They are actually not materials. They are textures contained inside a shader or a "map" as we call it in 3ds Max. Substance textures are designed to be material agnostic and also renderer agnostic. So if you right-click, you can find it inside the "maps" category, not the "materials" category. Then choose "General". Here you can see 2 substance maps. This is the old version that exists only for backward compatibility. You want to use the latest version which is "Substance 2". Notice the map node does not offer any output ports. This is because we need to load the Substance file first. So, click here. Choose the file we downloaded before. Wait for it. And after it is done loading, you will see the output ports and the parameters here. You can create a physical material and plug these ports into the appropriate map slots, just like we normally do. This goes to the "base color" map slot. This goes to the Normal bump shader first, and then goes to the bump map slot. This one goes to the roughness map slot. And so on. You can do this manually, but there is a faster method. We can just let the plugin do this for us. First, make sure the substance node is selected. Then, in the "Substance" menu, you can see all these "Substance to" commands. Because we want to use the Physical material, we choose this command. And as you can see a physical material was just created for us automatically, with some of the important textures already plugged in. The height texture and the AO texture are optional. You can also use these if you want to. Assign this material to the 3d model. And let's render the scene. Here is the final result. I mentioned before that the Substance texture file offers procedural features. If you look at the Substance node parameters. You will see so many parameters here that you can tweak. I'm not going to discuss these parameters as they are not uniform across substance texture files. It really depends on the creators of the textures to expose which parameters to the users. Most of these settings are in plain English and use the terms we already discussed in this course. So feel free to experiment with them and see what you can create. 33. Unwrap UVW modifier: In this lesson video, we will discuss the basics of the "Unwrap UVW" modifier. As you can see here. I already created these 3 objects off the record. This is a box object with a perfect cube dimension. As you can see. I added several segments on all sides. Next, we have a cylinder object. And finally, a teapot object. Now, because we will be creating the UV map. I turned off the standard UV mapping on each of these primitive objects. You can do so by disabling these "generate mapping coordinates" checkboxes. As a reminder, there are 3 types of UV mapping in 3ds Max. Standard, projection, and unwrap. We've discussed the first and the second methods before. Now we are going to focus on UV unwrapping which is the third method. Before we get into the details. I want you to know that, unlike the previous methods, the UV unwrapping method consists of many workflows and techniques. We will cover from the easiest to the most complex ones step by step. Based on the workflow, we can divide UV unwrapping into 2 workflows. "Layout to texturing", and "texturing to layout". "Layout to texturing" means, we create the UV layout first in 3ds Max and then later create the texture images inside Photoshop, Substance painter, or even inside 3ds Max using the "Viewport canvas" feature. The second workflow, "texturing to layout", means you are already provided with a texture image. What you need to do is align the UV layout to the provided image. Based on the techniques, we can divide UV unwrapping into 3, "Automatic", "Projection", and "Peel". At this point, you may be wondering. We discussed projection mapping before, why is it now included in the UV unwrapping techniques? Well, the projection techniques here are a bit different from the "UVW Map" modifier we discussed earlier. In the UV unwrapping method, the projection technique is used to help us unfold parts of the model to create UV islands. To use the UV Unwrap features in 3ds Max you need to use a modifier called "Unwrap UVW". Let's try applying this modifier on the cube object first. Make sure it is selected. Then in the modify panel, search for "U N W". Then just hit Enter. You can see that the "Unwrap UVW" modifier has a lot of tools and parameters. But this is not all. The main working environment for UV editing is the "UV editor" which you can open by clicking on this button. Or by pressing Ctrl + E on the keyboard. So this is the "UV editor" window or also known as the "Edit UVW" window. It looks intimidating at first, but don't worry, it will be easy once you get to know them. Let's first discuss how to navigate in this window. You can use the middle mouse button to pan the view around. And use the scroll wheel to zoom in and out. You can also use this icon to pan around, and this icon to zoom. Basically, the navigation method is similar to the 3D viewport. It is just that it cannot do 3D rotation as this is just a 2D viewport. Okay. Now, let's discuss the sub-object modes. To switch between sub-object modes, you can do this in at least 4 different ways. The first is using the modifier stack hierarchy. This is the vertex mode, edge mode, and polygon mode. To go back to the object or top-level mode, you can click again on the active sub-object. Or just click the modifier's name. The second method is by using these icons. This is the vertex mode, edge mode, and polygon mode. You can go back to the top-level mode by clicking the currently active sub-object mode. You can also use these icons down here in the UV editor. These icons work exactly like the ones we see here, in the modifier's parameters. This is the vertex mode, edge mode, and polygon mode. Finally, you can also switch between sub-object modes using the quad menu. If you right-click inside the UV editor. You can access the sub-object modes at the upper-left menu. Currently, we are in the polygon mode, this is the edge mode, vertex mode. And to go back to the top-level mode, we can click here. There is actually the fifth method which is using keyboard shortcuts. But we will cover this in more depth in a later lesson. For now, let's activate the polygon mode. Next, let's discuss the transformation tools. Before we can do that, we need to unwrap this box object first. We can do this quickly using automatic methods. In 3ds Max there are several methods of automatic UV unwrapping. If you click on this "Mapping" menu, you can see all the automatic methods. Flatten mapping, Normal mapping, and Unfold mapping. Most of the time you only need to use the "flatten mapping" as this is the most advanced method compared to the others. But these 2 can also be useful in certain scenarios. We will discuss more about these 2 later. For now, we want to use the "Flatten mapping". To use it, first, press Ctrl + A to select all of the polygons. Then open the "mapping" menu. Then choose "flatten mapping". Just leave all of these settings to their defaults and click OK. As you can see, now each of the box sides is flattened out. To really see how this affects the texture layout we need a texture. For this, we can use a dummy checker pattern provided by the UV editor. To do that we can click here and then choose one of these checker patterns. I prefer to use this colored one because each corner has a different color. And so making it easier to tell in which area a certain polygon is located in the UV map. Alright. You can find the transformation tools up here. This is the move tool. Because we are now in the polygon mode, we can move polygons. But if we activate the vertex mode. We can now move vertices. You can see how this affects the texture displayed on the object. Next is the rotate tool. We can select multiple vertices like this. Then click-drag on one of the vertices to rotate the selection. This is the scale tool. We can use this to scale the selected sub-objects. Now, this tool called the "Freeform mode" is unique. Because this tool does not exist in the 3D viewport. It only exists here in the 2D editor. Basically, this tool is a combination of all the previous tools, move, rotate, and scale. To move the selection vertically or horizontally, you can grab the arrows. The red one is for the U-axis constraint. And the green one is for the V-axis constraint. You can also grab the elbow to move the selection freely. If you want to scale, you need to grab the corner handles. And if you want to rotate, you can grab the middle handles. The last tool is the mirror tool. You can use this to flip the selection. If you prefer shortcuts, you can use W for the move tool. E for the rotate tool. R for the scale tool. And Q for the freeform tool. And if you prefer the quad menu. You can also right-click inside the UV editor. You can see all the transformation tools here in the lower-right panel. Move, rotate, scale, and freeform. Please note that some of the transformation settings in the main toolbar will also affect the UV editor. Just for example. If you use the rotate tool or the Freeform tool. And you click on this angle snap toggle button. Or you can do this also by pressing A on the keyboard. While this is on if you rotate the selection. You can see that the rotation snaps to a 5-degree increment. If I turn on this percent snap button instead. And perform a scale. The scale will snap to a 10-percent increment. You can see the scale values down here as you scale the selection. Now, for snapping, this is a bit different. This snap toggle button will not affect the UV editor, as the UV editor has its own snap button which is located down here. Or simply press S for the shortcut. I don't know why they put it down here. Snapping is a transformation feature, not a navigation feature. So I think it should be placed up here besides the other transformation tools. But anyway, if you turn this on. And you use the move tool. 3ds Max will try to snap the selected vertex near the mouse cursor to the other nearest vertex. Now, if you prefer to use the Freeform tool. For the snapping to work properly, you don't want to grab the arrows or the elbow. But, move your mouse over the vertex you want to snap, then drag it like so. This way it will snap to the nearest vertex. Okay guys. I need to end the video now before it gets too long. We will continue discussing more UV unwrapping techniques in the next video. We will be using this file again so make sure you save the file. 34. Automatic UV unwrapping: In this lesson video, we will cover the automatic methods of UV unwrapping. Let's open the previous file. Select the cube object. And then open the UV editor. Make sure that the snapping modes on the main toolbar and on the UV editor are all turned off. In 3ds Max, there are 3 methods that are categorized as automatic UV unwrapping, "Flatten mapping", "Normal mapping", and "Unfold mapping". Previously we used the "flatten mapping", but we haven't yet discussed the difference between these methods. Let's first discuss the "Unfold mapping". As with the name, the "Unfold mapping" unwraps the 3d model just like how we unfold papercraft objects in the real world. If you examine papercraft objects in the real world, they commonly share several characteristics. They have a few large sides and almost no curved surface. They mostly have a similar look with low polygon 3d models. The reason why I'm explaining all of these is because the "Unfold mapping" works best with this type of 3d model. It will not work properly on complex 3d models. To use the "Unfold mapping", you need to select all the polygons that you want to process. So for this case, you cannot use the vertex mode nor the edge mode. You need to be in polygon mode. Then if you only select several polygons like this and then perform the "Unfold mapping". Only these selected polygons will get unwrapped. Not the entire object. For now, we want to unwrap the entire object or all of the polygons. So, make sure you select all of them by pressing Ctrl + A. Then go to the "mapping" menu. Select "Unfold mapping". Before we continue, notice there are 2 options here, "walk to closest" or "walk to farthest face". If you want to have a papercraft unfolding effect, you should always choose the default, which is the "walk to closest face". Otherwise, if you select the "walk to farthest face", the result will be almost like the "flatten mapping" or the "Normal mapping". And you also always want to turn this on. If this is off, the resulting UV layout can be very large, or very small. If this is on, 3ds Max will scale the result so it fits inside this texture square. Click OK. And here is the result. As you can see, it generated this nice T shape UV layout for the cube object. Let's try this "Unfold" method on the cylinder object. Although this object has a curved surface, we can still consider this as a simple geometry because it only has 3 sides. After you add an unwrap modifier. Open the UV editor. Select all the polygons. And apply the "Unfold mapping". Click OK. And here is the result. I know it is not straight. But don't worry, we will discuss how to straighten UV layouts in a later lesson. For now, let's continue with the "unfold mapping". Let's try applying this method on a teapot. Please be aware that a teapot object is considered a complex geometry. It has a lot of polygons and also a lot of curved surfaces. So, this object is not ideal for the "unfold mapping". If we select all the polygons. And then perform "Unfold mapping". The process will take some time. And as you can see the result is a mess. So again, in conclusion, "Unfold mapping" can be useful to automatically unwrap low polygon or simple 3d models. But it is not ideal for complex 3d models. Next, let's discuss the "Normal mapping" method. Basically, the "Normal mapping" unwraps the 3D model using simple projection mapping. It will project from several views. Polygons with similar normal directions or facing the same view will be grouped in the same region. Let's just try this on the teapot object. Select all the polygons. Then in the "Mapping" menu. Select "Normal mapping". There are several options here. "Back-front", "Left-right", and so on. Let's try the "Back-front" now. Click OK. And here is the result. As you can see, it essentially sliced the object into 2 regions based on the Y-axis. Let's try applying it again, but now we use the "left-right" option. And here is the result. It sliced the object into 2 like before, but now it is based on the X-axis. Let’s try this again using the "box mapping" option. And here is the result. Now it slices the object into 6 regions, top, bottom, front, back, left, and right. Finally, let's revisit the "Flatten mapping". This is the most advanced automatic method compared to the other 2 methods. To keep things simple, it works by applying multiple projection mapping just like the "Normal mapping" method. But instead of using fixed angles, it can create as many projections as needed based on the object's complexity. It also offers tight UV packing and is able to put UV clusters inside the hole of other UV clusters. Let's just try the method on this teapot object. Select all polygons, "Mapping", and then "Flatten mapping". Just click OK for now. And here is the result. As you can see the UV layout is very tight and optimum. And you can see this UV island has a hole. Inside the hole region, we can see several other UV islands. In 3ds Max these "UV islands" are also known as "UV clusters" or "UV elements". So again, "UV island", "UV cluster", and "UV element" are basically the same thing. Let's open the "flatten mapping" window again. If you increase this "threshold" value, the UV island sizes will be bigger. But you will have fewer UV islands. If you decrease this value, you will have more UV islands but smaller in size. Let's say we change this to 25, just for an experiment. Next, this "spacing" value determines the gap between the UV clusters. The bigger the value the larger the gaps. Let's try using 0.01 for now. We've discussed this "Normalize" feature before. Basically, 3ds Max will scale the resulting UV layout so it fits this UV tile square. Let's just see what happens if we uncheck this option. The "rotate clusters" option will allow 3ds Max to rotate the UV islands as needed to pack the UV layout optimally. And the "fill holes" option is the one that allows UV clusters to be put inside the holes of other clusters. Finally, this option can be useful if we want to separate the UV clusters based on the material ID. Click the OK button. As you can see the result is excessively big. This is because we turned off the "Normalize" option. We can press Z to zoom-extent the view. We can also see that because we use a smaller "angle threshold" value, we get a lot more smaller-sized UV islands. And you can also see that the gaps between these UV islands are wider. 35. UV selection techniques: We will continue discussing UV unwrap features. In this video, we will focus on the UV selection techniques. Here I have the file from the previous lesson. Let's unwrap this teapot object again using the flatten mapping method. Select all the polygons. Open the "Flatten mapping" window. For now, change the "angle threshold" to 45. Leave the spacing to 0.01. And turn on the "Normalize" option. And then click "OK". Press Z to zoom extent the UV layout. So, this is what we have now. The first selection techniques we want to discuss are the basics. In this case, I prefer not to use the freeform tool as the handles may get in the way. If you select a polygon, for example. And you want to select more polygons. You can do that by holding Ctrl and then clicking on the polygon you want to add to the selection. If you want to reduce the selection, you can hold Alt and then click on any of the selected polygons. That polygon will be taken out from the selection. In general, you can apply this technique to other selection methods, such as clicking and dragging. If you hold Ctrl and then click-drag like this, it will add the selection. And if you hold Alt and then click-drag like this, you will subtract the selection. All of these techniques also work on the vertex and edge sub-object modes. The next selection technique is the "element" mode. If you turn on this "select by element" toggle button. And you select a polygon. The whole island or cluster where the polygon exists will get selected. This feature is very helpful when you need to arrange UV clusters. If you turn this off, then the selection process will be back to normal. Meaning clicking on a polygon will only select that single polygon, not the entire cluster. Now, if you look closely at the "Unwrap UVW" modifier. Here, there is also a toggle button for the element mode. You need to know that this button is different from this button. This one is for selecting the UV cluster, while this one is for selecting the 3D geometry element. So if you turn this on. You can easily select just the lid part, or the body part, or the spout part, etc. So again, this button and this button are different and independent of each other. Okay. For now, let's turn off both the "element" modes. If you select this polygon in the lid area. And you want to expand the selection to its neighboring polygons. You can do so by clicking on this "Grow UV selection" button. If you want to reduce the selection, you can click on this "Shrink UV selection" button. In the modifier panel, you can also see the grow and shrink buttons. They work the same but only to a certain extent. You see, if you keep clicking on the grow button in the UV editor. The selection will eventually be limited by its cluster. But if you use this grow button, it will use the geometry element instead to limit the selection region. Next, are the loop and the ring selection features. If you select an edge. Then click this loop button. The edge selection will extend using the loop method. Clicking this "Loop shrink" button will shrink the loop selection. And clicking this button will grow the loop selection. These 3 buttons are similar to these 3 buttons, but they use the ring method. If I select this edge and then click this "ring grow" button. More edges that are parallel to the initial edge will get selected. If we click the "ring shrink" button, fewer edges are selected. And if we click this ring selection button, all these edges will get selected. Until this point, you may be wondering. Can we do these loop and ring methods on other sub-object modes? The answer is yes. But we need to select at least 2 sub-objects in order for it to work properly. Let's say we are in polygon mode. If I select this polygon and then press the loop selection button. It will only clear the selection. But if I select this again and then click the ring selection button. All these polygons get selected. Basically, 3ds Max has no idea which way is the loop and which way is the ring directions. But, if we have 2 polygons selected. And then click the loop button, we get something similar to the edge loop selection. Let me undo this. If we use the ring button. We get something like this. Alright. One of the most important selection modes you need to be aware of, especially if you are using the edge and the polygon sub-object modes, is this "Window Crossing" mode. You can use Shift + O for the shortcut to toggle this on or off. In my current version of 3ds Max, there is a bit of a bug. At first, this button looks inactive while it is actually active. I need to click on it twice to get it to work properly again. Okay. If this is on. If you click-drag like this. Only the polygons that are truly inside the selection marker will get selected. Polygons that are partially inside the selection marker will not get selected. If this is off. And we perform the same region selection as before. All the polygons touched or crossed by the selection marker will get selected. Again, this feature is applicable for polygon sub-object mode as well as for the edge mode. The next technique is Paint selection. If you activate this button, you can now create selections as if you are painting using a brush tool inside a painting software. Please note that you need to be in the crossing mode for this tool to work properly. So, make sure this is off like this. When the paint selection tool is active, you can see a circle at the mouse cursor that indicates the brush size. When you click-drag, every sub-object that is touched by the brush circle will get selected. If you need to make the brush size bigger, you can click on this button. And if you need to make the brush size smaller, you can click on this button. Another way to make the brush size bigger or smaller is to zoom in and out of the view. The brush size is actually relative to the UV layout. So, if we zoom in, the brush size will be smaller compared to the UV map. And if we zoom out, the brush size will be bigger compared to the UV map. Now, when using the paint selection tool, you can also use the Ctrl and the Alt keys. Holding Ctrl will add the selection. And holding Alt will subtract the selection. The last selection method we want to discuss is the soft selection mode. You can activate this feature by clicking on this toggle button. Basically, with this mode, when you move a vertex, the neighboring vertices will follow. You can specify the influence strength using this value. Let's say we use 10 for now. Please note that this feature only works in the vertex sub-object mode. At least that is the case in my current version of 3ds Max. Notice as I drag this vertex around. The surrounding vertices follow. This feature can be useful when you are editing the UV map of organic-like 3d models. 36. UV editing shortcuts: In this lesson video, we will discuss some of the UV editing shortcuts that can speed up our workflow especially if we need to do a lot of UV unwrapping day in day out. Some of these shortcuts are related to the techniques we discussed earlier. First, are the sub-object selection shortcuts. To activate the vertex mode, you can press number 1 on the keyboard. Please note that it is the number key located below the Esc key, not the one located on the Numpad. Then, number 2 is for the edge mode. And number 3 is for the polygon mode. These are basic shortcuts that most 3ds Max users already know, especially if they are already doing 3D modeling using editable poly objects. Just remember that pressing the same number twice will bring us to the top-level mode. So, if we press 1. We are in the vertex mode. But if we press 1 again, we are now in the object or the top-level mode. Unfortunately, by the time I record this video, there is no default shortcut for toggling the "element" mode. But there are different ways to quickly select an element without using the element mode. You can select an element or a UV cluster in the UV editor using the double-click method. For this to work, you need to be in the polygon mode or in the vertex mode. This method does not work on the edge mode. So, if you press 3 to go to the polygon mode. And then double-click here, for example. The whole cluster gets selected. If you press 1 to activate the vertex mode. And then double-click here. This whole cluster gets selected. You can also combine this with the Ctrl key and the Alt key. If I switch to the polygon mode, and double-click here. Holding Ctrl and double-clicking on the other polygons will get you multiple clusters selected. You can do this also in the vertex mode. Now, the reason why this double-clicking method does not work in the edge mode is that it is used for a different feature. And that is for the loop selection. If we press 2 to go to the edge mode. And then double click here, for example. These edges get selected. You can also do this on border edges. If we double-click here, these edges get selected. It won't select the entire border, only the edges that form junctions like these. The selection will stop at corner edges like this one and this one. For this edge method, you can use the Ctrl key also, but not the Alt key. So, for example, by double-clicking here we get this loop selected. Holding Ctrl and double-clicking on this edge will add this edge loop to the selection. One thing that you want to avoid is using the double-clicking method while the element mode is active. Because that will just select the entire UV clusters. Which is the same as using the Ctrl + A shortcut. So again, if you want to use the double-click method, make sure the element mode is off. The next useful shortcut is the selection conversion. By default, each of the sub-object modes has a different or an independent selection set. We can select these vertices here. Then edges here. Then polygons over here. If we go back and forth between these sub-object modes, as you can see, each has its own active selection. Now, if you select these polygons. And you need to convert this polygon selection to a vertex selection. You can do so by holding the Ctrl key and then clicking on the vertex mode button. Now you can see these vertices where the polygon selection exists are also selected. You can do this technique also for the other sub-object modes. For example, in the edge mode. We can double-click here to select this loop. If you hold Ctrl and then click this vertex mode, we get something like this. And holding Ctrl and clicking on the polygon mode will get these polygons selected. Alright. Next is the transformation shortcuts. To activate or deactivate the snap button down here you can press S on the keyboard. If this is active, we can easily snap a vertex to another vertex. I mentioned this shortcut before. I just want to remind you again in this lesson together with the other transformation shortcuts. Okay. The next shortcut is the rotational or the angle snap. Previously, we relied on this angle snap toggle button in the main toolbar for rotational snapping. Now, although you have this toggle button off, you can still perform angle snap using the Ctrl key and the Alt key. For this, of course, you need to be in the rotate mode, or you can also be in the Freeform mode. To see this in action, let's select this UV cluster. If you hold the mouse and rotate. While the mouse button is still pressed, holding Ctrl will snap the rotation by 10 degrees increment. If you hold Alt instead, the angle will snap by a 1-degree increment. So again. Ctrl is 10 degrees, and Alt is 1 degree. 37. Seams and coordinate system: In this lesson video, we will discuss the map seams and the UV coordinate system. We will continue using this file from the previous lesson. Essentially the "Map seams" are color indicators that exist on edges. It indicates that there is a split in the UV map on that specific edge location. By default, it is colored in bright green color in the viewport and also in the UV editor. I think we can see them better if we turn off the edge display, and that is by pressing "F4" on the keyboard. If the UV layout changed, then the map seams you see here will also change. Just to give you an example. If I select all the polygons. Then perform "Normal" mapping. Let's pick the "top-bottom" option for now. Before clicking the okay button, notice where these green edges are located. If we click "OK". As the UV layout or UV clusters arrangement changed, so do these map seams in the 3D viewport. Now, sometimes, you don't want to see the map seams in the viewport. To hide them, in the "Unwrap UVW" modifier, you can scroll down until you see the "configure display" section. Here you will see 2 options, "Map seams" and "Peel seams". We will discuss the "Peel seams" in a later lesson. For now, if you uncheck this "Map seams" option. The viewport will not display the map seams anymore. For shortcut you can press Alt + E on the keyboard. Previously we changed the preview texture to this blue-green checker pattern. So, we know that this square area represents the texture image. What you need to know now is the relation with the UV coordinate. You see, when we add a UV mapping to a 3D object, what really happens is, we are adding additional data for U and V coordinates to each of the vertices. So, besides the X, Y, and Z coordinate values which are used for the 3D space location. The vertex now has U and V coordinate values for the 2D space. Yes, it will also get a W coordinate value. But for 2D textures, we can ignore the W value. The way the 2D coordinate works is like this. This square size is 1 by 1 UV tile size. It doesn’t matter how big the image size is in pixels, or the size ratio of the image. A single UV tile is always 1 by 1 size. Essentially, it works in a logical or relative space. So, this point here is always zero by zero coordinate values. And this one is always one by one coordinate values. To see this more clearly, you can activate the vertex mode. And use the move tool. Notice when you select a vertex and try to move it. You don't see the UV coordinate down here. This is because, by default, it uses the "offset" mode. If you click this toggle button. Now it works in the "absolute" mode. Meaning these U, V, and W fields will display the actual coordinate values of the selected vertex. Just like the coordinate fields in the 3D viewport, we can also alter or input the values here. If we select this vertex. Then right-click on the U spinner and on the V spinner to zero them out. The vertex is now located here. If input 1 on the U coordinate. It will move to this location. And if we input 1 also on the V coordinate. The vertex will move to this location. Until this point, you may be wondering. So, what is this outside area for? Well, the area outside the texture square will display the same texture repeatedly. So, for example. If I turn on the UV cluster element mode. And select this top part. And move it to the side like this. We can see the 3D geometry will still display the texture. Now, if you want to visualize how the texture tiling works in the UV editor. You can turn on this "multi-tile" option. As we move this island to a certain region, 3ds Max will show the texture tiling on that region. But please note that if you put a UV cluster outside the 1 by 1 UV tile area. There is a risk where it will not display any texture in the final rendering. That is when we turn off the texture tiling in the bitmap shader. We will see an example of this at the end of this video. As I mentioned earlier, the best texture size ratio is square. But sometimes, the texture that we need does not have a square size ratio. For example, I downloaded this texture called "Plaster Colored 0181" from "textures.com". As you can see, although the texture is seamless, the ratio is not square. It has 1024 pixels in width by 682 pixels in height. To really see the stretching effect on the model, let's select the cube object again. Open the UV editor. Sometimes you need to reselect the checker pattern again to make it shows up in the viewport. In this list, you can specify a custom texture to be displayed in the UV editor using this "pick texture" command. But you rarely need to use this button. Why? Because commonly you already apply the texture in the material editor. So, for example, open the material editor. Create a physical material. Then add the texture to the "base color" map slot. Let's just use the "bitmap" shader. And then select the image we downloaded before. Finally, assign the material to the object. So, again, this is what we normally do. Back in the UV editor. The UV editor is now still using this blue-green checker pattern. To use the active texture image that we have in the "base color" Map slot. You can select the third option below the "checker pattern" option. If the option does not exist, simply click this "reset texture list" button down here. 3ds Max will scan all the currently active textures. And now, you can see the third option here. Click on it. The texture is now displayed in the viewport as well as in the UV editor. We can do this technique for every type of texture ratio, be it square or not. What we want to focus on now is dealing with non-square textures. As you can see, now, the texture tile is not square anymore. It follows the current image ratio. What you need to understand is that the UV coordinates never changed. This point is still zero by zero. And this point is still one by one. It does not adapt to the image ratio. So, what really happens here is the texture you see in the 3d viewport is the one that is being distorted or stretched. If you want to avoid the distortion, then you need to select all of the UV clusters. And then perform a scale, until you see all the square polygons look square again. This will fix the UV distortion on this particular 3d model with this particular texture. But if you later change the texture to another image that has a different size ratio, then you need to rescale the UV clusters again. Let me undo this. Another way to fix the distortion is to change the tiling value. For this, we need to open the "bitmap" shader. Here we can see 1 U value, by 1 V value. Just divide the height with the width of the image pixel size. And then input the value in the U-tile field. For my case, it is "0.66". As you can see from this example. Using a non-square texture is possible, but it requires more work to get it to look correctly. That is why I always prefer to use square-sized textures if they are available. The last thing I want to mention is turning off these tile options. If you do this, while you have your UV clusters outside the default UV tile area. It looks okay in the viewport. But, if we render the scene. Let me set the environment color to a brighter color first, so we can see the effect clearly. Okay. Now if we render the scene. As you see, the polygons will not display any texture. In conclusion, it is okay to put the UV clusters outside the default 1 by 1 tile area if you have repeating texture. You just need to make sure that you have the UV tiling options turned on. Otherwise, you need to put the UV clusters inside the default 1 by 1 tile area. 38. Lock, Hide, and Freeze: In this lesson video, we will discuss locking, hiding, and freezing features inside the UV editor. When you are working on a complex UV layout, you may want to lock, hide, or freeze certain parts of the UV map so they don't get in the way. You can access all of these features using these 4 buttons down here. The first is the lock selection toggle button. You can use Ctrl + L for the shortcut. Basically, this button will lock the selection condition so you won't be able to change it. You won't be able to unselect, add, or subtract the selection. For example, we can select these vertices here. Then press Ctrl + L. Notice if I try to select other vertices, I cannot do that. Keep in mind that this selection lock condition affects all of the sub-object modes. So the selection in the edge mode and in the polygon mode are also locked. As you can see, I cannot create or change the selection in these modes also. To unlock the selection, you can click on the button again or use the shortcut Ctrl + L. Now I can select sub-objects normally like before. Next, is the "Display only selected polygons" command. This will hide all of the polygons except the currently selected polygons. As the name implies, it can only affect polygons. Edges and vertices will not be affected. The shortcut for this toggle button is Alt + F. For example, if we select these polygons. And click on this button. Now, only the selected polygons are visible. The rest are hidden. In this condition, you can freely unselect the polygons and keep working on them. After you are done, you can press Alt + F again, or click this button again to see all the polygons like before. Next, is the "Hide selected" button. The shortcut for this command is Alt + H. This is like the opposite of the previous command. It will hide the selection and leave the unselected visible. Unlike before, this command works for all sub-object types, be it vertex, edge, or polygon. Please note that this button is not a toggle button. If you select several polygons, like so. Then click on this button. The polygons will be hidden. Clicking this button again will not bring back the hidden polygons. To unhide all the hidden sub-objects, you can press and hold this button until you see the full eye icon. So, this icon is for hiding, and this icon is for unhiding. Another way to hide or unhide is by going to the "display" menu. This is for hiding and this is for unhiding. As you can see the shortcut for unhiding sub-objects is Alt + U. The last methods that we want to discuss are freezing and unfreezing. The term "frozen" in 3ds Max is a condition where objects or sub-objects become inaccessible. We cannot select them or transform them. But we can still see them in the viewport. In the UV editor, this can be useful when we want to protect certain areas of the UV map from accidental changes. To freeze, you need to select the sub-objects first. Then click on this icon down here, or simply press Ctrl + F for the shortcut. As you can see, these polygons have now become frozen. We can tell frozen sub-objects by their greyish color. If you try creating a selection like this. Only the sub-objects that are not frozen can be selected. To unfreeze, you can click and hold this button. And then choose this icon. So, this is for "freezing" and this is for "unfreezing". For the shortcut, you can use Shift + Ctrl + F. In my current version of 3ds Max, there is a small bug. If you set this icon to the "unfreeze" icon like this. Pressing Ctrl + F will not work. So you need to set the button to the freeze icon first for the shortcuts to work properly. So again, to freeze you can use Ctrl + F, and to unfreeze you can use Shift + Ctrl + F. Lastly, besides using the UI buttons and the shortcuts, you can also use the quad menu to access the hiding and freezing commands. If you right-click in the UV editor. You can see all of the commands here at the top-right panel of the quad menu. 39. Break, Weld, and Stitch: In this lesson video, we will discuss how to "Break" UV islands, and then how to merge them back using the "weld" and "stitch" methods. For this lesson, let's use the cube object again. We can select all of the polygons and then perform a simple "unfold" mapping. And let's scale this down just a tiny bit. The first technique we are going to discuss is "break". Currently, the UV layout we have here is a single large cluster. To perform a "break", first, you need to select the polygons or the sub-objects. Then you can click on the "break" icon here. Or you can also use Shift + R for the shortcut. By doing that, these polygons are now an independent UV cluster. And so we can move them away like this. Alright. Now, you don't want to use this "break" command on vertices, because it usually breaks the cluster into single edges which are mostly useless. At least, that is the case with my current version of 3ds Max. However, you can use this method in the edge mode to slice up UV clusters. For example, we can double-click on this edge to select a loop. Then press Shift + R to break them. If we go to the polygon mode by pressing 3. Then double click here. We can move these polygons as an independent UV cluster. So that is how you use the "break" command. Next, let's discuss the weld methods. Although weld can be used in vertex, edge, or polygon modes. It is best to use it in the vertex mode. There are 2 weld commands, "target weld" and "weld selected". To use the "target weld" command you need to select a vertex. But, before we continue. There is an important concept you need to know. And that is, you can only weld and or stitch vertices to themselves. So, what does this actually mean? Well, if you select this vertex for example. You can see this vertex becomes blue. If you select this one instead, now it is this one that becomes blue. The reason for this is because, in the 3D geometry, these 2 vertices are actually the same vertex, which is this vertex here. So, in the 3d viewport, they are the same. But in the UV editor, a vertex can be split into 2 or more vertices. In 3ds Max, a selected vertex is called the "source" vertex. And the blue-colored vertex is called the "target" vertex. If you want to perform a weld or stitch on this vertex, you can only do that against its target vertex. Alright. Now, to perform a "target weld", first, click on this icon, or press Shift + Ctrl + W for the shortcut. We are now in the "target weld" mode. In this mode, if we drag a vertex to its target vertex. The 2 vertices will merge together. As long as we haven’t exited from this mode, we can keep welding vertices by dragging the source vertex to its target vertex. To exit the "target weld" mode, you can click the button again or simply right-click with the mouse. The next weld command is the "weld selected". To use this command, you need to have 2 things. First, you need to have both vertices close to each other. The distance between the vertices must be below this threshold value. Second, you need to have both vertices selected. You can have more than 2 vertices selected. But only the vertices that are selected in pairs will be welded together. After you have these 2 requirements, you can click on this icon. Or you can also press Alt + Shift + W for the shortcut. As you can see the vertices are now merged together. Let me undo all of these changes for now. The last method we are going to discuss is the stitch method. Stitch is actually the next evolution of the weld methods. Most of the time, you can replace the "weld selected" command with the Stitch methods. But, in certain scenarios, the "target weld" command can still be useful. Alright. So, we have 4 stitch commands here by default. To use this "stitch to target" command, you only need to select the source vertices or the source edges you want to stitch. For this, I don't recommend you to use the polygon mode as it usually produces a messy result. After you have the source vertices selected like this. Just click on this icon. As you can see, the selected or the "source" vertices moved to the target vertices' locations. Let me undo this again. The second command is similar to the first one, but it uses the center or the average location between the source and the target vertices. Let me undo this again. And the third command here is basically the same also, but it uses the source vertices as the reference location. As you can see, these methods are much easier to perform than the "weld selected" command, because you don't need to select all of the vertices or to move them closer in order for it to work. The last stitch command, which is called "custom", is probably the most helpful command when you need to organize UV clusters. Let's say we have this UV cluster rotated like so. And we want to reposition this UV cluster, so it is aligned with this main cluster and at the same time stitch all of these vertices together. Before the stitch commands exist, this kind of task can be a bit tricky. With stitch, now, you only need to select the source vertices. Then click on this "stitch custom" command. And this is the result. As you can see, the target vertices along with their cluster moved and rotated automatically to the location of the source vertices. Again, this method can be a huge time saver when you need to create a custom UV layout. 40. Quick transform: In this lesson video, we are going to discuss several UV editing techniques called the "quick transform". You can see all the "quick transform" buttons in this section. The first icon we want to discuss is this "Set pivot to center" command. If you already used 3ds Max for 3d modeling before, you might already know what "pivot point" is. Basically, the pivot point is the center of the transformation. We can see the effect most noticeably when rotating the sub-objects. By default, the pivot point is located at the center of the selection. But we can move it to another location. And if you want to re-center it again, you can click on this icon. Let's say we have this cluster selected. To offset the pivot point, you can use the "Freeform" tool. Then, hover the mouse cursor exactly at the center of the gizmo. You will see the arrow cursor changed into this skinny version. If you drag it, like so. You are moving only the "pivot point", and not the sub-objects. In this condition, if you rotate the UV cluster, notice how it rotates around this point. For now, let's make the UV cluster a bit tilted, like so. If we click on this button. The pivot point will reset back to the center of the selection. Now, besides centering the "pivot point". You can also quickly align the pivot point using the alternate commands of this button. Just click and hold until you see several more options. If you click this one, the pivot point moves to the top-left corner of the selection. If you click on this one, it will move to the top-right corner. And so on. Next, let's discuss the align commands. If we are in the vertex mode. And we want to make these top vertices straight horizontally. We need to select them. And then click on this "align horizontally" button. As you can see these vertices are now straight in the horizontal direction. We can also perform align in the edge mode. What is so great about the edge mode is that we can quickly select a loop or border edges using the double-clicking method. So, if you double-click on this edge. It will select the whole edge loop. If you double-click on this border edge at the right. We get edge selection like this. At this condition, if you click on this "align vertically" button. Now, the edges are straight vertically. By default, these two align commands will use the active pivot point. If you prefer to just use the selection center, you need to click and hold to access the alternate commands. Please be aware that you cannot use these align commands using the polygon mode. As that will flatten the polygons so they look like a line. Next, is the "linear align" command. Basically, it will use the first and the last vertices to create a straight line. For example, if we are in the vertex mode. And we move these vertices around randomly. So, we have something like this. If we go to the edge mode. Double-click to select the whole edge loop. And then click on this "linear align" icon. We get something like this. Again, it will create this line based on the first vertex and the last vertex. All the other vertices in between will just follow this line. Okay. Next, if we select these vertices. Clicking on this icon will rotate the selection 90 degrees counterclockwise. While clicking on this one will rotate the selection 90 degrees clockwise. Let me undo this several times until we have this tilted cluster. Next is this icon. This is perhaps my favorite tool among the other "quick transform" tools. We can use this to straighten a whole cluster based on a single edge selection. Let's say we want to quickly straighten this cluster. Go to the edge mode, and just select the edge you want to use as the reference. For example, this edge. And then click on this icon. And here is the result. The last 2 commands we want to discuss are these "spacing" commands. Basically, they will distribute the selected sub-objects evenly along the horizontal line or the vertical line. To see them in action we need to randomize the vertices first. Then to use them, select the vertices you want to distribute. Let's say we want to space these vertices in the vertical direction. Click on this spacing vertical icon. As you can see, the vertical spacing between the vertices is now uniform. But horizontally, they are not. To make it straight vertically. You can use this command as we discussed earlier. Or if the first and the last vertices are at the same exact U coordinate. You can just press this "space horizontal" icon. Again, please note that this only works if you have the first and the last vertices at the same U coordinate. Otherwise, it will distribute the vertices' locations horizontally. 41. Project: Low poly barrel unwrapping: In this project lesson video, we will be creating this low poly borough. The model is basically just a primitive cylinder with the texture. For the UV unwrapping process, we will explore three different methods to give you an insight into how the unwrapping process can be done in multiple different ways. For us, we will use the unfold mapping, then the flatten mapping. We've done this before. But on a third method, we will cover a new technique that we haven't discussed before. We will unwrap using projection mapping. In this project, we will also cover several new tools that we haven't discussed before called the ratio of element tools. In the earlier UV unwrapping lessons, I already explained that there are two different workflows in UV unwrapping. Whether you create the UV layout for us and in texturing later. Or you already have the texture, the NGO depth, the UV layout to follow the provider texture. In his project, we will cover the first workflow and it is creating UV layout for us. And then use the UV layout as the reference to create the texture. Let's start with a cylinder primitive object. You can press a for the ages, opened the Modify panel and that's thrown these values. Set the radius to 15, press tab and set the height to 40. For the height segments, we can set this to only three. Press Escape and activate the move mode. Right-click on his coordinate spinners soirees at the center of the world. Because we will explore different methods of unwrapping. We should duplicate this cylinder. But first, let's add the yarn wrap modifier. So later we don't need to edit again. Press U, then hit Enter. Somehow in automatically activates the polygon mode. Just press 32 exit to the top-level mode. Make sure we are in a move mode, hold shift, and drag the x-axis arrow. We want a total of three cylinders. So in Butoh here for the number of copies value. We'll use these two later. For now, let's focus on the four cylinder. For the first cylinder, we are going to use the unfold mapping. And then from there, fixed UV layout soil is straightened. We will make use of the techniques we discussed before. Select all the polygons. Again, we can use the unfold mapping because a cylinder is simple geometry. You don't want to use the unfold mapping for complex geometries. Click Okay. And here is the result. Now we need to straight on this UV cluster. The aligned to H command will straighten the UV cluster to the nearest straight orientation. So if we want to horizontal layout, for us, we need to rotate the UV cluster to almost horizontal, like so. Next, we need to select an age as the reference. Then click on the line to H icon. You can see the whole cluster is now perfectly straight. And next, we want to separate the circle and the circle parts. It will be easier to create the texture if the circle parts are separated from domain cluster. So select the polygons, then press Shift R, or just press this button. If you forget the shortcut. Now the circle is separated. Let's do the same thing with the lower circle part. Click here. And we have all the UV clusters that we need. Next, to quickly tidy up all of the UV clusters, we can use the command for the upper comment walk. You don't need to select the sub-object. So even if there are no sub-object selected like this, it will still walk. Scroll down until you see this button called pack normalize. Click on it. And here is the result. Okay guys, so this is the first approach to unwrapping the cylinder. Next, let's move on to the second approach. For this, we use the second cylinder. Now, we want to use the flatten mapping as the starting point. Just like before, make sure all the polygons are selected. Then perform the flatten mapping. As you can see, the circle parts are already separated, but domain cylinder blanket is broken into four clusters. So our task now is to merge the blanket parts into a single cluster. This is where does this custom command can be very handy. So go to the edge mode, select this H border. We prefer these ages because the orientation is already correct. Notice these ages are highlighted in blue indicating that they are the target ages. Just click the stitch custom icon. You can see the cluster moved here. Just continue with the other clusters. After we have only three clusters like this, we can use the same pack normalize button as before. And here is the result. So this is the second approach. Let's select the third cylinder and discuss the third approach. Basically, we will unwrap the model using projection techniques, which you can find down here in your own web modifier. To do this for us, we need to select the polygons that we want to apply the projection tool, then click on a projection type you want to use. In his case, I only want to use no planar projection in his condition, you can manipulate the prediction gizmo. You can also set the axis of the projection or just use these best align option to automatically detect the average normal of the selected polygons. Finally, you can use this option if you want to use your current view port angle as the projection direction. For now, let's choose the best align option. After you are done, you can click here again today P with the planar mapping mode. Now, if you press Control E to open UV editor, we can see the top circle is already laid out like this. Let's do this also. To do bottom circle, click planar, then choose best align. Next. For the blanket area, of course, the painter projection mapping is not suitable for this part. Now, the standard cylinder or UV mapping actually already laid out the blank of area nicely. So we can just perform UV backing. But let's just assume that the UV mapping for the blank of area is not yet defined. If we want to use the projection method as before, we need to select the polygons. Now, if you double-click in this area, the polygon selection will grow but be limited by this map seem ages, which is great. Then we can use the cylindrical projection type. Honestly, I don't like the result because as you can see, the seams here are a bit messy. You can try different options here. But usually the best align option gives the best result. Although the seams are a bit messy, we need to fix the seams later using the welding method. If you are done, just done off the projection mode. In this condition, if you pick UP clusters, you will get something like this. We know that the size ratio of this cluster and this cluster is the perfect circle. So they are already cracked. But the size ratio of the blanket cluster should not be square. It should be longer or horizontally. But before we fix the size ratio plus for us, fix the scenes, we can see original green lines here. And in the viewport we have these messy triangular seems. Instead of a straight line. To fix this, we can select all of the vertices in his area, then click on the well Selected icon. Now the excessive border agents are gone and no seam looks correct also in a 3D view port. Next, to make this cluster proportional in size, especially compared to the circles that already have a proper size ratio. We can select all of the polygons. Now, we are going to use several tools that we haven't discussed before. They are located in the reshape elements section. This icon relax until a flat will relax the UV layout by following the proportion of the 3D geometry. The result is mostly not straight, but it gives the basis for your next command called straightened selection. And here is the result. The size ratio is already good, but the scale of it is not. To fix it. We can just rely on opec algorithm to scale the clusters for us automatically. Okay guys, so those are different ways that you can unwrap a 3D model. There are still several methods that we haven't discussed yet. We're going to cover all of them in time. For our next video, we will cover how to render UV template from this existing UV map and how to create the texture using external 2D graphics software. 42. Rendering UV template: In this lesson video, we will continue our low poly barrel project. Previously we created the 3d model and then UV-Unwrap it using several different methods. Now, we will focus on rendering the UV template. These are the 3 cylinders that we have from the previous lesson. Let's select the last 2, and just delete them. Select this cylinder and let's open the UV editor. To be able to create the texture in other graphic software, we need to render the UV layout and use the result as a guiding template or reference. But, before rendering any UV template. It is always a good idea to test the UV layout. We need to check whether it is oriented correctly or not. If we select this cluster, for example. Now we know that this is the bottom part. And this cluster should be the top part. We need to remember this when later we create the texture. Let's select this polygon. Now, we can see that this polygon is at the bottom, not at the top. And this bottom polygon is at the top area. Basically, using this simple test, we can tell that this cluster is turned upside down. To fix this, simply select the cluster. And rotate it 180 degrees. Now, if we select this top polygon, it is the top polygon also that gets selected in the 3d viewport. And if we select this bottom polygon. It is also at the bottom in the geometry. Having rotated UV clusters will not produce any error. It is just that, it will be harder to create the texture later. Especially if you want to add texts or logos onto the texture. Next, to render the UV template, you can open the "tools" menu. Then choose "Render UVW template". Or, you can also right-click to open the quad menu. And then click on this command at the topmost left position "render UVW template". If you do one of these correctly, the "render UVs" window will open. From all these parameters, the most important one that you may want to change is the size of the image. Next is this one, which defines the color of the edges. And then finally this one, which defines the color of the seams or the cluster borders. For the rest, most of the time you don't need to change them. But, just for a quick overview of what these parameters do. This pull-down list can be used to render certain tile of the UV map. Now, this is only useful if you are using the multiple UV tiles feature or also known as UDIM or U D I M. We're not going to discuss UDIM in this course so we have to skip this one. Next, this option is used if we have a flipped UV cluster. If we turn this off, then all flipped UVs will not be rendered. If we turn this on then all UVs will be rendered regardless if they are flipped or not. This fill color is used to fill in colors inside the UV cluster regions. But, because this "mode" is set to none, these fill color options won't affect anything. This overlap color only visible if you have a UV cluster overlapping another UV cluster. Because our UV layout does not contain any overlaps, this red color will not show up in rendered UV template. Here, we can also determine whether we want to show the visible edges, or the invisible edges, and show or hide the seam edges. And in here we can specify the default output file when later we click on this "render" button. You can specify the folder location and the name of the file. But, this is not a must. You can do this later after clicking the render button. Alright. So, let's render the UV template now by clicking on this button. And here is the result. It looks ugly, because we are currently zoomed out at 50%. If we scroll up to zoom in. We can see that the lines are actually clear and sharp. We can also use the middle mouse button to drag or pan this image viewer window, just like how we do it in the viewport. To save this image, you can click on this icon. You can choose the folder you like. For the name, I want to name it "barrel UV template". For the file format, just use PNG. Click Save. And at the PNG file settings, make sure it is 24 bits and set the alpha channel on. Then click OK. And we're done. 43. Project: Low poly barrel texturing: Let's continue our project creating the low poly barrel. Now, we will create the texture based on the UV template that we rendered before in 3ds Max. We will be using an open-source graphic software called Krita. After that, we will bring back the texture and apply it to the 3d model inside 3ds Max. The reason why I choose Krita is that, first, it is free. So, anyone can download it and use it with no excuses. Second, it is very powerful. By design, it is a digital painting software comparable to Corel Painter. But a lot of common graphic editing tasks that most people do inside Photoshop or Gimp can also be done in Krita quite easily. If you are serious about learning Krita, I do have courses on digital painting using Krita. But, even if you prefer or are more familiar with Photoshop or other graphic software. That is totally fine. In this lesson, I will try to use only the basic tools that most graphic software already have. This way, I hope you can relate the techniques with your preferred graphic software. Okay. If you open the rendered UV template file in Krita. You can see that the black color background becomes transparent. Only the edge lines and also the seam lines are opaque. We want to use this layer as the reference. So, let's rename this layer to "layout". Then create a new layer. Place it below the "layout" layer. This is where we put the color, so let's rename it to "color". For the base color, we want to use red. Press Shift + Backspace to fill in the color. Next, we want to add shading colors on top of the base color. For this, let's create a new layer. Rename it "shade". Because this layer is for shadows, we should use the "multiply" blending mode. "Multiply" will make the colors beneath this layer look darker. Let's focus on this circle. Create a circular selection. We can hold Shift while dragging to make it a perfect circle. Then move the selection so it is at the center of the reference. Next, for the shadow, let's pick a darker red color. Press B for the brush tool. And let's use the "airbrush" preset. But, reduce the opacity. For the shortcut, we can press I to reduce the opacity and O to increase it. I think 40% is enough. And just paint some dark areas around the circle selection. Press E to turn the airbrush into an eraser. You can also press this button if you forget the shortcut. And just erase the excessive shadows. Activate the selection tool. And move this selection to the right. Press B again. And, sorry, the eraser mode is still on. It should be turned off. And just paint the soft shadows around the circular selection. Just like how we did it on the left side. Shift + Ctrl + A to clear the selection. Now, we want to add some shadows also in the blanket area. For this, we can use the rectangular selection tool. Create the selection, like so. To make the shadows fall more uniformly, instead of using the brush tool, we can use the "gradient" tool. Click-drag while holding Shift to make it perfectly straight in the vertical direction. And let's add this also at the bottom area. For the middle area, basically, it is the same process. So, I will just speed up the video for now. Okay. We can try hiding the layout layer to see the result. Next, we want to add the lid for the barrel. For this, we can create a new layer. Rename it to "lid". Create a circle selection. And move it to about here. Let's add a blueish color. Press Shift + Backspace to fill in the color. Press Shift + Ctrl + I to invert the selection. Go back to the "shade" layer. Use the brush tool, and make sure we use the airbrush preset. Use the previous dark red color. We can reduce the brush size by pressing the open bracket key. And just paint like this to add shadows around the lid part. Next, we want to add some kind of label that indicates the barrel as explosive or flammable. For this, we can put it on a layer below the "shade" layer. This is because we can consider the label as color information. So, create a new layer. Move it so it is below the "shade" layer. Rename this layer to "label". Then use the rectangular selection tool. Hold Shift while dragging to make it a perfect square. Sorry, I think this is too small. Let's create a bigger one. Select an off-white color. And then Shift + Backspace to fill in the color. Next, we can use the free transform tool to rotate the image. You can hold Shift while rotating to snap the angle. This way we can easily have this perfect diamond shape. And because we put this layer below the "shade" layer. It looks like a paint job on the surface of the barrel. Next, we want to create a selection that forms a fire shape. In other graphic software such as Photoshop, you need to use the path tool or the pen tool and then convert the path into a selection. In Krita however, you can just use this tool. Basically, this is like the pen tool but will directly create a selection. If you are already familiar with the pen tool in Photoshop or in Adobe Illustrator, you should be able to use this tool without any problem in Krita as they are very similar. You can still move the selection around to find the best location. And then press delete. And let's clear the selection. So this is the result. You can work on it further, but I consider this texture is done. Now, for backup purposes, you can save the file as a native Krita file. This will preserve all of the layer information. So, open the file menu. Choose "save as", and choose Krita document or ".KRA" for the file format. And let's name this file "barrel UV texture". Unfortunately, by the time I record this video, 3ds Max still does not support the KRA file. So you still need to export the file in a common file format to be able to use it inside 3ds Max. But before we do that, don't forget to hide the "layout" layer, or otherwise, you will see the edge lines in the 3d model later. Open the "file" menu again. You can use "save as" or "export". In this case, they are the same. For the file type, let's use "PNG". Leave the name as is. And then click the "save" button. For the file settings, because we don't have any transparency in the texture, we can turn this "alpha channel" option off. Then click the OK button. Alright. Back in 3ds Max. We can open the material editor. Create a new physical material. And just set the roughness value to one. Assign the material to the cylinder object. To add the texture, we can drag the "base color" input port. Use the standard Bitmap shader. Then pick the file which is called "barrel UV texture . PNG". Click "Open". And we are done. Let's close this material editor. And, currently, I'm in polygon mode. Make sure we are in the object mode. You can press F4 to hide the edges. Okay guys. So this is the final result of our low poly barrel project. 44. Unwrapping with Peel: In this lesson video, we will explore the peel methods for unwrapping 3D models. Let's create a pyramid object to practice the techniques. We need to make the model a bit more challenging. So, let's use 4 for all the "segments" values. Finally, make sure the standard UV is active. And let's apply the "Unwrap UVW" modifier. Now, if we open the UV editor. And then pack the UVs. We can see that each side of the pyramid is an independent cluster. That is why we have these green-colored map seams at the corner edges. I think I should change the object color so we can see the seam edges better. This color should do it. If you scroll down in the "Unwrap" modifier. You can find the peel and the seam tools in this section. In general, to use the peel technique, first, you need to tag the edges as the "peel seams". The commands for tagging the peel seams are located here. After you define the seams, you can then perform the peel method. There are actually more than one peel methods that you can use. And all of them can be found here. So again, you need to use these tools first to define the peel seams. And then after that perform one of these peel methods. Let's discuss the seam tools. The first one called the "edit seams", is used to toggle the seam assignment on edges. I f you click it, we are now in the "seam edit" mode. In this condition, if we click on an edge that edge will be tagged as a peel seam. You can see the cyan or the light blue highlight color on that edge. If you click again on another edge, that edge will be highlighted also. You can keep doing this until all of the edges you want to tag as peel seams are all highlighted. You can also use the click-drag method to create a region selection. You can use different types of region selection supported by 3ds Max. For example, you can use the "paint" selection mode. And so on. Let's change this back to the rectangular selection mode. If you want to reduce the peel seams you can hold the Alt key. So alt-clicking on an edge will cancel the seam tagging on that edge. You can also do this using the region selection techniques. So, holding Alt and click-dragging like this will remove all the peel seams. You can also use the Shift key to activate the toggle mode. So Shift-clicking twice on the same edge will actually cancel the seam tagging. You can also combine the Shift key with the regional selection methods. One thing that you need to be aware of is the difference between the "map seams" and the "peel seams". Down here we can see the checkboxes to display or hide the two seams. Let me add several peel seams. Okay. So these are the map seams which are colored in green. And these are the "peel seams" which are colored in blue. The green seams or the "map seams" are the existing seams. As we discussed before, the map seams are visual indicators of the UV clusters separation. While the blue ones or the "peel seams" are the future map seams. These blue ones are not yet applied to the UV layout. That is until you perform one of these peel methods. Now, the thing with these highlight colors is that 3ds Max renders the "map seams" on top or after the "peel seams". So, for example, if you activate the "edit seam" mode. And then click on an existing "map seam" edge. It looks like nothing has happened. But if you hide the map seams. As you can see, this edge is actually already highlighted in blue. So this is something you need to keep in mind. That is why memorizing the shortcut, which is Alt + E, for showing and hiding the "map seams" can be very handy when you are in the process of tagging the peel seams. Let's hide the "map seams" for now by pressing Alt + E. The next seams tool is this "point to point seams". This tool is extremely helpful for working on large or complex 3d models. Basically, instead of clicking the edges one by one. You simply click on the starting edge and then click again on the ending edge. 3ds Max will find the shortest path between the 2 edges and then tag all the edges on that path as "peel seams". You can keep clicking to continue the tagging process. If you are done you can right-click with the mouse. Now, if you do this while holding the Alt key. Instead of adding, it will reduce or cancel the peel seams tagging. Next, this command is useful to convert edge geometry selection into peel seams. So, let's say we are in the edge mode. Then, we can double click here to select the entire loop. Now, if I click on this button. The edges turned blue. Finally, to see what the last button does, let's create a closed region using the "point-to-point" method. Then go to the polygon mode. Make sure the map seams are visible to see the effect. Now, if you just double-click like this. The selection will only be limited by the map seams. It doesn't care about the peel seams. But, if you click here inside this region. And then click on this "expand selection" button. The polygon selection will expand until the peel seams perimeter. So again, you can use this method to quickly select polygons by taking into account the peal seams formation. The first 2 peel methods we want to discuss are the "Quick peel" and the "Reset peel" methods. To see the difference, let's first clear the peel seams. Go to the edge mode. Double-click here. Hold Ctrl and then double-click here also. Convert the edge selection to peel seams. Okay. Now, both the "Quick peel" and the "Reset peel" work like the unfold mapping but use the peel seams as the guidance. The difference between the two is that the "Quick peel" will not remove the previous map seams. It will just add or apply the peel seams. So if we click this button, this is what we get as the result. The previous peel seams have now become part of the map seams. Let's undo this. If we click the "Reset peel" instead. This is what we get as the result. The previous map seams will be ignored, and all the peel seams now become the map seams. Please note that sometimes the "reset peel" will add additional seams as needed to unwrap the model. Especially if we don't provide enough peel seams for it to work properly. Next, is the "peel mode" feature. The "peel mode" is basically the "quick peel" method but in continuous mode. It is just like you keep clicking on this "Quick peel" button again and again. So, if this is on. And you use the "edit seams" mode to tag some edges. You can see the changes immediately on the UV layout. It's kind of hard to see purple lines on greyish background. But you get the idea. After you are done, you can click the button again to turn it off. As a result, all the peel seams are immediately become the map seams. The last peel method is the "pelt" method. This "pelt" method is the old version of the peel method. It is called "pelt" because it looks similar to the way we pull and dry animal pelts. Currently, not many people use this method anymore because it is more cumbersome to use. But if you are curious about what this does. Basically, it will create virtual strings across all of the cluster borders. And then pull those strings to unfold the geometry. To see the difference. Let's first hide the map seams by pressing Alt + E. Then clear all of the peel seams by going to the edit seams mode, then click-drag while holding Alt. Just repeat as needed. Then turn off the edit seams mode. Make sure we are in the edge mode. Double-click here. Hold Ctrl and double click here. So we have something like this. Let's view the bottom part. Hold Alt and click-drag to unselect these edges. After we have something like this. Convert the edge selection to peel seams. This will be our basis for comparing the pelt and the peel methods. Now, in this condition, without the need to select any sub-objects. If we click on the "reset peel" button. We get this nice unfolded pyramid instantly. You can pack the UV if it is not yet normalized inside the UV tile. Okay. Let's see the pelt method now. To use this method, first, you need to select all of the polygons that we want to process. Then click on this "Pelt" button. "Pelt" has its own dedicated window. In the UV editor, you can see these red virtual strings that will be used by the pelt mapping process to pull out the UVs. To start the "pelt" process, you need to click on this "start pelt" button. 3ds Max will pull the strings like so. You need to tell 3ds max to stop pulling the strings by clicking on this button again. As you can see the UV map result is not as flat as the real geometry. To fix this, we need to rely on the second process called "relax". Click this "start relax" button. Then click again to tell it to stop. And here is the result. Click on "commit" to accept the result. As you can see the UV layout is not normalized inside the UV tile area. So you need to pack the UV again. And finally, we get the result. From this example, you understand now why we don't use the pelt mapping anymore. It just takes too many steps to achieve the same result that otherwise can be done with only a single click using the peel method. 45. Project: Perfume packaging: In this project lesson video, we will create this box packaging of a perfume product. The goal of this project is to learn the process of creating the UV layout from an existing texture. So, if previously we learned the "layout to texture" workflow. Now, we are going to try the reverse of it, and that is the "texture to layout" workflow. In this project, we are also going to practice the seam and peel methods that we discussed previously. Now, imagine that you receive this design file from your client. This is a quite common scenario in the advertising industry. The client already has the print layout of their product packaging and now requires you to create the animation for it. From the briefing process, we learned that the packaging size is 5 cm in width, 5 cm in length, and 14.75 cm in height. So we will use this dimension later when we create the box object. Before we start modeling, because the model we want to create is a small tabletop object. Let's change the system unit to a millimeter. But for the display unit, I will leave it as a generic unit. We won’t see any unit type behind the numbers, but we know that they are in millimeters. After we set the unit, let's create a box object. You can press F4 to show the edges. Go to the move mode, and right-click on these spinners to center out the object. Now, let's open the modify panel. Let's input the dimension we mentioned earlier. Because we are in millimeters now, type 50 here, press Tab, 50 again, Tab, then 147.5. Alright. Now, we can add the texture. Open the material editor. Create a physical material. Assign the material to the object. Set the roughness value to 1. This is so we can see the texture much better in the viewport without any reflection. Drag out the "base color" port. Then choose "bitmap". And pick the image file I provided for this lesson. And now, we have something like this. It looks messy as we haven’t set the UV layout yet. Next, apply an "Unwrap UVW" modifier. Press Ctrl + E to open the UV editor. Let me resize it. To display the active texture in the UV editor. We can click here, and then choose the third option. Now we can see the packaging texture in the UV editor. As we discussed before. There are many ways that we can take to unwrap a 3d model. But, in this project, we want to practice the seam and peel method. To determine where to put the peel seams on the 3D model, we need to be mindful and imaginative. Especially if we are already provided with a texture like this that we need to follow. Let's activate the vertex mode for now to avoid polygonal highlights in the editor. Okay. We can consider this side as the front. This is because this side is the one facing the minus Y-axis direction. So again, this is the front, just as this picture. This is top, just as this top part. This is the right side, as this is the right side. And so on. Before we start tagging the peel seams, we don't actually need to see the existing "map seams''. We can press Alt + E to hide them or just click on this checkbox. Let's use the "point-to-point" tool to tag the peal seams. And then click on this edge, then this one, and so on. Until this edge. So again, this part is this part. And this part is this part. Until this edge, which is this edge. Now, this part is this part down here. So we need to tag this edge. And that's it. All the peel seams are done. We can turn off the "point-to-point" mode for now. Next, for the peel method. We want to use the "reset peel", not the "quick peel". Why? Remember that the "quick peel" will take into account the existing map seams. We don't want that. We want to remove all the current map seams and replace them with the peel seams. So we need to click on the "reset peel" button. But, in my current version of 3ds Max, there is a bug or a limitation. You see, if you click this icon to perform the "reset peel", it looks like nothing is wrong. But when we go to the edge mode and select this edge. And then perform the straighten command. We cannot get a straight result. Now, this is not a bug in the "straighten" command, but it is actually a bug in the "reset peel" command. Let me undo this. You can see how the sub-objects in the UV cluster are straight although tilted despite the image not being a perfect square. Basically, if you perform the "reset peel" while you have a non-square texture active. The result will be skewed. You cannot see it now, but if you change the texture back to a square ratio texture. You can see how the UV cluster is actually skewed. To fix this, just click the "reset peel" again. The result should be good because we have a square ratio texture active. And now, if I try to select an edge. And perform the straighten command again. We get a perfectly straight result. So this is something that you need to keep in mind. I hope this bug is already resolved in your version of 3ds Max when you watch this video. Nevertheless, this adds to the list of reasons why you should prioritize square size ratio textures. After you have something like this, you can safely display the non-square texture again. We've done straightening and now we move on to aligning the UVs. To align the UV layout to the texture behind it. First, we can select all of the vertices. And then use the freeform tool to globally align the UV cluster. It will not be perfect yet, but at least we have a better starting point for further tweaking. Now, usually, my workflow is like this. First I will focus only on horizontal edges. To lock the movement to only up and down, or vertical movement, you can click and hold the "move" button. You can see two alternate buttons here. Make sure you use this one. Okay. Now, select these 2 vertices. Zoom in. And move them up but avoid touching this pixel line. Then these vertices. Move them up also, but avoid going over the border area. We need to do this to make sure there is no pixel bleeding or texture bleeding on the model. Just do this process until all of the horizontal lines are fixed. Alright. After the horizontal lines, we now move on to fixing the vertical lines. For this, we want to constrain the movement to only horizontal. And, for the rest. Basically, it is the same process. Select the vertices. Zoom in. And align them so they don't go overboard. I'll just speed up the video, so you don't get bored. And, we are done. Now, if your model has more than 1 segment on its sides. Or it has many edges inside the cluster. You may want to use the distribute commands, or the "linear align" command, etcetera, to tidy up the UV layout. Let's exit to the top-level mode. Press F4 to hide the edges. This is the final result of our project. Now, sometimes you may see this texture bleeding in the viewport. This could be that the UV layout is still not perfect. Or in our case, this happens because the viewport is forcing to use a lower resolution version of the texture to optimize the performance. The actual UV layout is already perfect. You can prove this by rendering the scene. As you can see, there is actually no texture bleeding in our model. So, again, this is something that you need to be aware of when working with 3ds Max. 46. Project: Driade S.Marco Part 1: In this project, we will be working on this chair product. I will provide the 3D model. We will add environment lighting, then the materials, textures, and UV unwrap the model so it looks good when rendered. Basically, we will put to practice all of the techniques we learned before in this project. And also, we will cover several new techniques that we haven't yet discussed. This is the chair model that we will be working on. Please understand that I modeled the chair using limited references. So, expect to see some differences compared to the real product. Some facts on this chair product that you might want to know. The real chair product is named "San Marco". It is a chair product manufactured by a furniture company called "Driade". I hope I spell that correctly. Personally, I love the design of the chair. But, I think the website could be better. As you can see, there are only 2 low-resolution photos provided here. And in the download section, there is a PDF instruction manual. But this is the only thing that you will see inside it. To model the chair, I need to rely on photos from other websites. Now, if you open the "scene explorer". You can see that I divided the chair into 5 parts. First is the "core" part. Which is a cylindrical part below the cushion. You can press G to hide the grid for now. I don't think that this part actually exists in the real product. I created this anyway so we can have something to practice projection mapping. Next, is the cushion part. Which is the soft part of the chair. Then we have "foot 1" and "foot 2". These two objects are instances to each other. So basically they are the same object. We can quickly tell an instance object by going to the modify panel. We can see the text here in the modifier stack is bold. The other foot also has bold text. But if you select this cushion object for example. The text here is not bold because it is a single object. Now, the cool thing about instance objects is that we only need to work on one of them. The other will follow automatically. And, the last object is the seam object. Let's discuss the textures and the materials. We will create 3 materials for this chair. First is the wood material. We will use this on the core object, the first foot, and the second foot. For the wood material, we will be using this free PBR texture from "cc0texture.com" called "wood 049". Please note that by the time I recorded the video, "cc 0 texture" just rebranded itself to "ambient CG". And this also affects the site URL. So now you need to open "ambientcg.com" if you want to download the textures. The second material is the fabric material for the "cushion" part. For this, we will use another PBR texture from "Ambient CG" called "Fabric 007". If you look upon the internet for this chair product. You may notice that the designer loves to put a different color on the seam part. So that is what we are going to do also in this project. For the seam part, we are going to use this PBR texture called "Fabric 031". Okay, so those are the textures we are going to use. You may use different textures if you want to. Just be sure to download them first before starting the project. The last preparation that we need to do is adding the environment light. We already know why and how to do this. So let me just quickly run to it. Press 8 to open the environment window. Then click this button. Choose the "environment" category. And then choose "HDRI environment". Now, for the file. I'll be using an HDRI file from "HDRIhaven.com" called "Photo studio 01". Again. You may also use a different file if you wish. After we have the environment lighting, we can start working on the textures. Let's first focus on the core object. Select the object, right-click, and then choose "isolate selection". This will temporarily hide the other objects. Open the material editor. Create a physical material. Name this "Wood". Increase the roughness to 1. This is so we won't see any specular in the viewport. Currently, the object is selected, so we can just click this button to assign the material to the object. We can see it is now a hot material. Click-drag from the base color port. Choose the "bitmap" shader. Pick the color texture. And because it is a color, we can use the "automatic" gamma option. Then for the roughness map slot. Choose "bitmap" again. And now we need to pick the "roughness" texture. Because this is not a color texture, we need to make sure the gamma setting is set to override to one. Next, is the bump map slot. Choose "bitmap", just like before. Now, for the bump effect, we are not going to use any normal textures in this project. This is because we will rotate the texture in multiple directions through the use of UV unwrapping. Some will be vertical, some horizontal, and perhaps some will be diagonal. Who knows. It will be just too hard to fix each of the normal texture orientations in this scenario. So, we will be using only the displacement or the height texture in this project. And because this is not a color also. Let's override the gamma to one. Now that the material and the texture are done. Let's focus on the UV unwrapping. Let's add an Unwrap modifier. Okay. Now, we want to select all of the polygons that are facing down, so that later we can assign planar projection to them. I'm going to use a polygon selection technique that we haven't discussed before. If you just click like this, only this polygon gets selected. To select the neighbors, yes we can use the grow method. But imagine if you have a vast area with non-uniform polygon formation. But it is flat. In this scenario, you may want to turn on this option "select by planar angle". If this is on, and you select a polygon. All the surrounding polygons that form angles less than 15 degrees will get selected also. We can hold Ctrl and click here, so we have all these polygons selected. We can turn this off for now just to be safe. Then while these polygons are selected, we can use the planar projection. And let's use the Z-axis. Now, you can see the wood texture on the polygons, although not that clear. Let's switch to the bottom view for now. By default, the polygon selection color is solid red like this. If we press F2, this will make the selection not displayed as solid colors. But only as wireframes. Please note that the selection has not changed at all, it is just displayed in a different way. We can press F2 again to toggle the selection display mode. Currently, the wood fiber is aligned horizontally. We want it to align vertically. From the back to the front of the chair. We can rotate the planar gizmo manually, but it is easier to do this inside the UV editor. Let's first display the wood color texture. Then, to rotate the UVs 90 degrees, we can click this icon or this icon also. Sometimes it takes around 1 to 2 seconds for the texture in the viewport to update. Okay, these polygons are done. Let's change the viewport back to perspective. Now, we want to unwrap the side polygons. Let's exit the planar mapping mode. Currently, the flat polygons are still selected. So we can just press Ctrl + I to invert the selection. Then click on the cylindrical projection icon. Let's choose the "best align" option. The polygons are now unwrapped. But, as you can see, some of these edges need to be welded together. Let me resize the window. Convert the polygon selection to the vertex selection by holding Ctrl and then clicking on the vertex icon. Then click on this weld selected icon. Now we don't see tears or double edges anymore on the seam area. The last thing that we need to do is to fix the scale. As you can see, the wood fiber here looks too dense. Basically, the scale is too big in the vertical direction. Now, to scale the UVs only in the vertical direction using the freeform tool, we can hold Shift when dragging the scale node. Just scale it, until you like the texture in the viewport. I think this is good enough and we can call this finished. But, if you want to scale this further without creating any visible seams in the model, you need to scale it per 100 percent increment. Let's say you want to scale exactly 200 percent. To do this, first, you need to activate the scale mode. Then type here 200, then Enter. Now, the texture looks too tight again. So, let me scale this vertically. Well, you get the idea. After you like how the texture looks in the viewport, you can then consider it finished. Let's go back to the top-level mode. And just do a final check, just in case, there is still something that we need to fix. And finally, this step is not a must. But if you want to optimize the model even further, you can collapse the Unwrap modifier. Don't worry, all the UV map information will still be intact inside the 3D object. To collapse the modifier, one way to do this is by converting the object into an editable poly. Then we can exit the isolation mode by clicking on this button. Because this video is becoming too long. We will continue the unwrapping process for the feet part in the next lesson. 47. Project: Driade S.Marco Part 2: Let's continue our project. Previously we set the environment lighting. Then created the wood material. And already UV unwrap the core object. Now, we are going to focus on UV unwrapping the feet objects. To make it easier when later we need to apply UV projection, we can rotate it so it is straight along the Y-axis direction. For this, we can use the top viewport. Make sure the angle snap is active. And just rotate it 40 degrees counterclockwise. Now, this is possible because before, I created the foot model from the right view and then rotated it 40 degrees clockwise. Use the "Isolate selection" to hide the other objects. Open the material editor. And apply the existing wood material we created before. Next, add an Unwrap modifier. Now, we want to select the polygons at the sides. For this, we can use the same "select by planar angle" method as before. Click here. Hold Ctrl and click on this polygon and also the polygons on the other sides. So we have 4 areas selected like this. Next, activate the planar mapping mode. We can try using this X-axis direction. But notice how the UV tile becomes a non-square shape. Unlike the "UVW Map" modifier where you can define the width and the height for the planar map. You cannot do that in the Unwrap modifier. The workaround for this is to press the reset button first. This will rotate the UV gizmo to project from the top or Z-axis. But the shape is a perfect square. From here, we can just rotate the UV gizmo with the angle snap mode turned on. Rotate it 90 degrees so it is facing the X-axis. Turn off the projection mode. And then press Ctrl + E. We can see the UV clusters already created here. Let's display the wood color texture. Now, we want the wood fiber to align with the length of the foot. We can just do this manually by rotating the UV cluster. Perhaps we can turn off the angle snap for now. So, we have more flexibility in tweaking the rotation. Now, you need to know that there are double UV clusters in here stacking on top of each other. This cluster and this cluster are actually flipped. Because we projected the UV from the X-axis direction. This is actually fine, and you don't need to flip them because we don't use any normal map on this object. But I do want to make each of these clusters have a unique wood fiber. So, let's flip them first. Then move them down. Like so. And let's scale all of them up. We can hold Ctrl while doing this to make the scale uniform. We can press F2 to change the selection display mode, so we can see the wood texture more clearly. And just move the clusters around as you see fit. Next, for the smaller sides of the foot, we are going to use the peel method. Go to the edge mode. Double click here. Then convert these into peel seams. Then double click on this edge also. Convert these into peel seams. Then for the bottom part. We can double-click here. This will actually select a full loop, which is great. Convert this edge selection into peal seams also. For the other leg, the process is basically the same. Double click here, and then convert to peel seams. Then double-click on this top edge. And convert them to peel seams. Next, double-click here. Now, you can see that we are selecting a lot more edges than we needed. Let's just cancel this and use the "edit seams" mode. Click on the edges we want to tag as peel seams. After you are done, go back to polygon mode. If you press F2, you can see that we still have the previous polygons selected. Now, just press Ctrl + I to invert the selection. Next, for the peel method, you don't want to press the reset peel. As this will break the previous UV clusters. You should use the "quick peel" method instead. Because this method will maintain the existing map seams and only unwrap the selected polygons. So, click here. The UV editor will open automatically. We can see all the clusters now. But they are still a bit messy. We can use the filter display feature, for now, so we can focus only on the new clusters. Double-click on this cluster, and let's move it here. No one will ever see these areas of the geometry, so we can just put all of them on this corner and just leave them as they are. Next, for these 4 parts, we need to align them with the wood texture direction. First, let's straighten them up by selecting the center edge and then click on the straighten command. Just do this on all of the clusters. Okay, now, we want the longer direction of the clusters to align with the wood fibers. So, let's move them close to each other, like so. This is so we can select them all easily. And just perform a 90 degrees rotation. Perform scale while holding Ctrl to scale uniformly. Just put them up here. Press F2 on the viewport to check the texture. I think this is already looking great. Let's bring back the other clusters. Go back to the top-level mode. And so this is the result. You can unselect the object to hide all the lines. If you want to optimize the model further we can collapse the modifier. Previously we used the convert method. Now, we are going to use a different method. You can right-click on the modifier. Then you can either choose "collapse to" or "collapse all". In this case, because we only have one modifier, the result will be the same. If a warning window appear, just click yes. Now, we only have the base editable poly object in the modifier stack. Let's exit from the isolation mode. Now, this "foot 2" object still does not use the wood texture although as the instance of the "foot 1" object, the UV mapping is already created. So, let's apply the material. Make sure both the object and the material are selected. And then click on this icon. Now both feet are using the same wood material. The last step is to rotate the "foot 1" object back to its original orientation. Turn on the angle snap mode. And rotate it 40 degrees clockwise. And now we have nice-looking chair feet. Let's continue with the next part which is the seam object. Just like before, we need to create the material and assign the textures. So, create a physical material. Rename it to "seam". Assign the material. And increase the roughness all the way to one. For the base color, we can use the bitmap shader again. And then we need to pick the "fabric 031" color texture. Then we set the roughness map. Choose bitmap. And let's pick the "roughness" texture. This is not a color texture, so let's override the gamma setting to 1. Finally, the bump map. Choose bitmap shader again. And then choose the "displacement" texture. Override the gamma to 1. And we are done creating the material. Let's close the material editor. Now, for the seam object, we're not going to unwrap the model as it is just too small to be able to notice the result anyway. We are going to use the box projection mapping instead. In the modifier list, press U. We're not going to use the "Unwrap UVW" but use the "UVW Map" modifier. Select the box projection type. And for the size, we want to have a perfect cube. Let's just input 60 for the length, width, and height values. And that's it. We can see the fabric texture in the seam object as we expected if we zoom in close enough. 48. Project: Driade S.Marco Part 3: This is the final part of our "San Marco" chair project. Now, we are going to focus on the "cushion" part. Let's select the object. Right-click and choose "isolate selection". Open the material editor. For the cushion material, to save time, we can just duplicate the previous material. Select all of these nodes. Hold Shift and drag them to a new location. Let's rename this new material to "Cushion". For the base color map, we can change the file to the "fabric 007" color texture. For the roughness map. Change this also to the "fabric 007" texture set. But use the "roughness" texture. And finally for the bump map. Replace the file also with the "fabric 007" texture set. Use the displacement texture for this. Later, we will use the displacement effect. But, because displacement is an expensive effect, we will add this later when we do the final rendering. For now, we'll just be using the bump map. We will assign the material later. This is so we can see the blue peel seams much better in the viewport. Next, let's add an Unwrap modifier. Now, we don't need to see the existing map seams. So just press Alt + E to hide them. Let's focus on the seating part. For this, we can activate the select element mode. Select the seating part. Then press Alt + F to activate the selected filter mode. Alright. Now to determine where to put the peel seams on objects like this one is actually easy. We can just follow the locations of the seams on the real product. So, let's activate the edge mode. And double click on the top seam location. Oops sorry. I forget to turn off the element mode. Okay. Double-click here. Sorry again. I think it should be this edge loop here. Alright. Now we can convert the selection to peel seams. For the bottom part, the process is the same. Double-click here. I think this is correct. Convert this to peel seams. Next, we need to select this part and this part, and that’s it. We don't need to add any peel seams at the back part, as no one will ever see this part anyway. So, let's double-click here. Sometimes you need to zoom in close enough to be able to select certain sub-objects. Notice if we just perform a double-click at the edge, all these edges that form a loop get selected. We only need this part here. Now, I'm going to show you 2 selection features that we haven’t discussed before. First is the point-to-point edge selection mode. And second, the mirror selection mode. We can select edges using the point-to-point feature just as we did with the peel seams. And because the mirror mode is on. The other side will get selected also automatically. Let me clear the selection first. And then create the edge selection. Like so. Just to make sure, we can check the other side to see whether the edges here are selected also. Now, we can convert the edge selection to peel seams. Next, press Alt + F again to see all of the polygons. Now, we are going to focus on the backrest part. For this, we need to be in the polygon mode. Clear the selection. And let's turn this off just to be safe. And then turn on the element mode. Click on the backrest part to select it. Then press Alt + F again to filter the polygon selection. Let's turn this off. And go to the edge mode. Zoom in, and double-click here. Convert this selection to peel seams. Next, just like before, we want to use the point-to-point mode and also the mirror mode. Then click here, then here. And so on, until the selection meets its mirror from the other side. Then we can convert this selection to seams. So, this is what we have so far. Press Alt + F again to unhide all of the polygons. Before we perform the peel method, just to be safe, let's turn off the mirror and the point-to-point mode. Okay. Because we don't need the previous map seams and just want to unwrap the model entirely using the current peel seams, we need to use the "reset peel" command. The UV editor will open automatically. It looks messy but they are actually fine. We just need to pack them. But, first, we need to assign the material so we can access the texture here. So, let's go to the top-level mode, for now. And open the material editor. Select the material and click on this assign button. Back in the UV editor. Reset the texture list. So, we can display the color texture. To pack the UV clusters, we need to go to the polygon mode. Press Ctrl + A to select all. And then click on this "pack normalize" button. So, we have something like this. The "pack normalize" command will also scale the clusters, so they are on the correct scale compared to each other. Next, let's straighten this cluster. Go to the edge mode. Select this edge. And then use the straighten command. Okay. If you ever experience this issue. I mean you use the straighten command, but the UV cluster doesn't want to be straight. This is due to the angle snap mode turned on. You can consider this a bug. But to overcome this, you simply turn off the angle snap mode. And let's try this again. As you can see, now the UV cluster can be straightened up. And just repeat this process for the rest of the UV clusters. Just make sure you select the center edge. If it is closer to the horizontal direction it will prefer to straighten in that direction. No worries. Just use the rotate command to fix this. Next, is this cluster. And so on. I'll just speed up the video for now. After all of the clusters are straight. The next thing we need to do is to fix the overall scale. Just select all of the sub-objects. And then scale them using the freeform tool. Make sure you hold the Ctrl key to make the scale happen uniformly. Basically, what I want to achieve now, is to have the diamond pattern inside this area. Okay. I think the scale is good. Next, I want to reposition each cluster so that the center edge matches exactly the center of the diamond shape in the texture. For this, we can make use of the element mode. Select this cluster. And just move this until the center edge is on the center of one of these diamond shapes. It doesn’t really matter which one, as the texture is seamlessly repeatable. Then let's select this cluster. And then just move it also until the diamond shape is at the center. Basically, we need to do this on all of the UV clusters. Let me just speed up the video now to save time. After tweaking the UV clusters positions, this is what we have. Basically, we are done. We can exit the isolation mode and move on to the rendering process. For the rendering process, we've already discussed the techniques more in-depth in the earlier project. I'm going to cover only several aspects that we haven’t discussed before. Now, if you just hit the render button. You may notice something weird in the render result window. Let me stop the rendering for now. The reason why only this area gets rendered is that the option up here is set to "region". By default, you want to set this to "view". Now, if you press render again. The render result does not get cropped. Next, we want to set the background to black but still want to use the HDRI lighting. To do this, we need to access the HDRI environment shader. Open the material editor. And then also open the environment window. Drag this shader from this window to the material editor. Make sure it is set to "instance". Select the node so we can see the parameters here. Scroll down until you see the "use custom background" option. Just turn this on. Now, even though the scene is lit by the HDRI file. The background area will be black. Next, for the image size, I want to have a full HD resolution. We can choose the HDTV option here. And click on this full HD size preset. The last thing that we want to have before we do the final rendering is turning on the displacement effect on the cushion material. But first, let's increase the bump effect to 1. Then to activate the displacement, we can just drag this output port to the displacement map slot. Now, we don't want to use a large value for the displacement strength. Because remember that displacement will generate actual polygons on the model. So, if it is set too high, the seam object may get swallowed or sunk into the cushion object. Let's just render this so you can see it yourself. The render result is actually big. But we are now seeing it from 50% zoom. We can scroll the mouse up to see the actual 100% size. You can see that the seam object vanishes inside the cushion object. Let's cancel the render for now. So again, we need to reduce the displacement strength. Let's just make it 0.3. I know this value works because I've tried this before recording the video. Next, find the best viewport angle that you like. And then after that press the render button again. This is the final result of the project. I did some post-processing in Photoshop just to add contrast to the image. I hope this lesson is useful. And I cannot wait to see what you can create from all the techniques we've learned in this course.