Unity Chan 工程分享 - URP渲染实现 Unity版本:2019.4
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

30 KiB

UTS/UniversalToon Properties

Read this document in 日本語版

The following table is an explanation of the properties found in each UTS2 shader, in order by feature block.
For all UTS2 shaders, if the property name is the same, then they also function the same.


1. Stencil, Culling, and Clipping Properties

Property Function
Stencil No Used by StencilMask / StencilOut shaders. Designates a stencil reference number between 0 - 255 (note that in some cases 255 carries a special significance). Matches the number for the cutting material and the material to be cut.
Cull Mode Designates which side of a polygon will not be drawn (culling). Available options are: OFF (both sides drawn) / FRONT (front side culling) / BACK (back side culling). Back is selected by default. In some cases, selecting OFF can cause the normal map and lighting to display strangely.
ClippingMask Used by Clipping / TransClipping shaders. Designates the grayscale clipping mask. White indicates “none”. If no settings are chosen, the clipping feature will be inactive.
IsBaseMapAlphaAsClippingMask A property only found in TransClipping shaders. Checking this property will use the A channel, including the BaseMap, as a clipping mask. Designating a ClippingMask is not required.
Inverse_Clipping Inverts the clipping mask.
Clipping_Level Designates the strength of the clipping mask.
Tweak_transparency Used by TransClipping shaders. Adjusts the transparency level by treating the clipping mask grayscale level as an α value.

2. “The Three Basic Colors (Base Color, 1st Shade Color, 2nd Shade Color)”, Their Settings, and Properties

Property Function
BaseMap Designates the Base Color texture.
BaseColor The color which is multiplied by the BaseMap. If there is no designated texture, this color will be set as the Base Color.
Is_LightColor_Base Applies the light color to the Base Color. ※ Tip: Be sure to check when using SceneLights Hi-Cut_Filter.
1st_ShadeMap Designates the 1st Shade Color texture.
Use BaseMap as 1stShade_Map When set to ON, applies the 1st_ShadeMap to the texture designated as the BaseMap.
1st_ShadeColor The color which is multiplied by the 1st_ShaderMap. If there is no designated texture, this color will be used as the 1st Shade Color.
Is_LightColor_1st_Shade Applies the light color to the 1st Shade Color. ※ Tip: Be sure to check when using SceneLights Hi-Cut_Filter.
2nd_ShadeMap Designates the 2nd Shade Color texture.
Use 1stShade_Map as 2ndShade_Map When set to ON, applies the 1st_ShadeMap texture to the 2nd_ShadeMap. If Use BaseMap as 1stShade_Map is also ON, the BaseMap will also be applied to the 2nd_ShadeMap.
2nd_ShadeColor The color which is multiplied by the 2nd_ShaderMap. If there is no designated texture, this color will be used as the 2nd Shade Color.
Is_LightColor_2nd_Shade Applies the light color to the 2nd Shade Color. ※ Tip: Be sure to check when using SceneLights Hi-Cut_Filter.

**※ Hint: Turning off any color’s Is_LightColor_color name switch will cause that color’s Light Intensity to be set to 1 with a light color of white, regardless of the strength of other lights in the environment. This switch should generally only be used when there is only one Directional LIght in the environment. **.


3. “Normal Map” Properties

Property Function
NormalMap Designates the Normal Map.
Is_NormalMapToBase Check when you want the Normal Map to be reflected in the colors. If not checked, the object’s geometry will be reflected.

4. The Basic Settings for Cel and Illustration Styles (Step and Feather Intensity)

4-1. DoubleShadeWithFeather Shaders

There are common properties among DoubleShadeWithFeather shaders, the standard shaders in UST2.

Property Function
Set_SystemShadowsToBase Use Unity’s shadow system. This option must be selected to use ReceiveShadow. (ReceiveShadow must also be selected under Mesh Renderer)
Tweak_SystemShadowsLevel This property is active when Set_SystemShadowsToBase is set to ON. It controls Unity’s system shadow levels. The default is 0, and the levels can be adjusted to ±0.5. After setting the step with BaseColor_Step/1st_ShadeColor_Step, this property allows for even finer tuning. It can also be used to fine tune other things, like how a self shadow’s ReceiveShadow displays.
BaseColor_Step Sets the boundary between the Base Color and the Shade Colors.
Base/Shade_Feather Feathers the boundary between the Base Color and the Shade Colors.
ShadeColor_Step Sets the boundary between the 1st and 2nd Shade Colors. Set this to 0 if no 2nd Shade Color is used.
1st/2nd_Shades_Feather Feathers the boundary between the 1st and 2nd Shade Colors.
Step_Offset (ForwardAdd Only) Fine tunes light steps (boundaries) added in the ForwardAdd pass, such as real-time point lights. This property is not available in the Mobile/Light version.
PointLights HiCut_Filter (ForwardAdd Only) Cuts unnecessary highlights from the Base Color area of lights added during the ForwardAdd pass, such as real-time point lights. This is particularly useful for cel-shaded styles, where there is little to no feathering. This property is not available in the Mobile/Light version.
Set_1st_ShadePosition Uses a Position Map to force the 1st Shade Color’s position, independent of the lighting. Indicates areas that must have a shadow in black.
Set_2nd_ShadePosition Uses a Position Map to force the 2nd Shade Color’s position, independent of the lighting. Indicate areas that must have a shadow in black (also affects the 1st Shade Color’s Position Map).

4-2. ShadingGradeMap Shaders

These properties are common among UTS2’s high spec ShadingGradeMap shaders.

Property Function
Set_SystemShadowsToBase Specified when the Unity shadow system will be used. Be sure to check this option when ReceiveShadow is required (also be sure to check ReceiveShadow on the Mesh Renderer).
Tweak_SystemShadowsLevel Option that is enabled when Set_SystemShadowsToBase is set to ON. This property also controls Unity’s system shadow level. The default is 0, and it can be adjusted in a range of ±0.5. This property is useful when you want to do further fine tuning after setting the step level with BaseColor_Step/1st_ShadeColor_Step or adjust how the self shadow’s ReceiveShadow looks.
1st_ShadeColor_Step Sets the step between the Base color and 1st Shade Color, the same as the BaseColor_Step property.
1st_ShadeColor_Feather Feathers the boundary between the Base Color and the 1st Shade Color, the same as the Base/Shade_Feather property.
2nd_ShadeColor_Step Sets the step between the 1st and 2nd Shade Colors, the same as the ShadeColor_Step property.
2nd_ShadeColor_Feather Feathers the boundary between the 1st and 2nd Shade Colors, the same as the 1st/2nd_Shades_Feather properties.
Step_Offset (ForwardAdd Only) Controls the step of lights added during the ForwardAdd pass, such as real-time point lights. This property is not available in the Mobile/Light versions.
PointLights HiCut_Filter (ForwardAdd Only) Removes unnecessary lights added during the ForwardAdd pass, such as real-time point lights, from the Base Color area. This is especially useful for cel-shaded styles that don’t use feathering. This property is not available in the Mobile/Light versions.
ShadingGradeMap Designates the Shading Grade Map as grayscale. Be sure to set SRGB (Color Texture) to OFF in the texture import settings for Shading Grade Map.
Tweak_ShadingGradeMapLevel Level correction of the gray scale value of Shading Grade Map. The default is 0, and it can be adjusted in a range of ±0.5.
Blur Level of ShadingGradeMap Blur the Shading Grade Map using the Mip Map function. To enable Mip Map, set Advanced> Generate Mip Maps to ON in the texture import settings. The default is 0 (no blur).

5. Properties of High color (Highlights, Specular Lighting)

Property Function
HighColor Specifies the high color. If you are not using it, set it to Black (0,0,0). High color moves according to the direction of light.
HighColor_Tex Specifies the color texture of the ‘HighColor’. By using this, you can use complex colors. It will be added to the HighColor’s properties, so if you only want the texture’s color, set ‘HighColor’ to white (1,1,1). If you do not need it, you do not have to touch the settings.
Is_LightColor_HighColor Allows the light color to affect the High Color.
Is_NormalMapToHighColor Allows the normal map to influence the high color. If not turned on, the object’s geometry will influence it.
HighColor_Power Adjust the high color’s range (In specular lighting terms, this will be the “power”)
Is_SpecularToHighColor Render the high color range as speculum lighting (gloss). If turned off it the boundaries of the high color range will be drawn as circles.
Is_BlendAddToHiColor Adds to the High Color (It becomes brighter). Specular can only be used with the Add mode.
Is_UseTweakHighColorOnShadow Turns the TweakHighColorOnShadow slider on.
TweakHighColorOnShadow Adjusts the power of the high color range in shadows.
Set_HighColorMask It masks the high color based on the UV coordinates. 100% with white, and black does not show it at all. If you do not need it, you do not need to adjust it.
Tweak_HighColorMaskLevel It adjust the mask level of the high color. The default is 0.

6.Properties of RimLight

Property Function
RimLight Turns the ‘RimLight’ on.
RimLightColor Specifies the RimLight’s color.
Is_LightColor_RimLight Turns the light color on in relation to the RimLight.
Is_NormalMapToRimLight Turn it on when you want the normal map to influence the RimLight. If you do not turn it on the object’s geometry will influence it.
RimLight_Power Adjusts the RimLight’s power.
RimLight_InsideMask Adjusts the power of the inside masking of the RimLight.
RimLight_FeatherOff Cuts the RimLight’s blurring.
LightDirection_MaskOn Only shows RimLight in the light’s direction.
Tweak_LightDirection_MaskLevel Adjusts the rim mask level in the light’s direction.
Add_Antipodean_RimLight Shows RimLight (AP RimLight) in the opposite direction of the light’s direction.
Ap_RimLightColor Specifies the AP RimLight’s color.
Is_LightColor_Ap_RimLight Turns the light color on in relation to AP Rim Color.
Ap_RimLight_Power Specifies the power of the AP Rim Light.
Ap_RimLight_FeatherOff Cuts the AP Rim Light’s blurring.
Set_RimLightMask Masks the RimLight according to the UV coordinates. Set to 100% for white, and the rim light does not show when set to black. If you do not need it, you do not have to adjust it.
Tweak_RimLightMaskLevel Adjusts the RimLight mask’s level. The default is 0.

7. Properties of MatCap

Property Function
MatCap Turns MatCap on.
MatCap_Sampler Set which texture to use for MatCap.
Blur Level of MatCap_Sampler Blur MatCap_Sampler using the Mip Map function. To enable Mip Map, set Advanced> Generate Mip Maps to ON in the texture import settings. The default is 0 (no blur).
MatCapColor Color that will be added to MatCap_Sampler. If you set a grayscale image on MatCap_Sampler, you can add color to the MatCap with MatCapColor.
Is_LightColor_MatCap Turn the light color on in relations to MatCap.
Is_BlendAddToMatCap If you turn this on, the MatCap blend will be set to Adding Mode. (It makes it brighter.) If you don’t turn it on it will be blend with Multiplication Mode (It makes it darker.)
Tweak_MatCapUV You can adjust the MatCap’s range by adjusting the UV of the MatCap_Sampler from the center to a circle.
Rotate_MatCapUV Rotates the MatCap_Sampler’s UV based on the center.
Activate CameraRolling_Stabillizer By turning it ON, it prevents MatCap from rotating for camera rolling (Rotation with the depth direction as the axis).
Is_NormalMapForMatCap Gives a normal map specifically for MatCap. If you are using MatCap as speculum lighting, you can use this to mask it.
NormalMapForMatCap Adjust the settings of the normal map especially for the MatCap.
Rotate_NormalMapForMatCapUV Rotates the UV of the MatCap’s normal map based on the center.
Is_UseTweakMatCapOnShadow Turns the Tweak MatCapOnShadow slider on.
Tweak MatCapOnShadow Adjusts the power of the Matcap’s range in shadows.
Set_MatcapMask By setting a grayscale mask for MatCap, you can adjust how MatCap is shown. The MatcapMask is placed based on the UV coordinates of the mesh that the MatCap will be projected on. Mask with black and unmask with white.
Tweak_MatcapMaskLevel Adjusts the power of the MatcapMask. When the value is 1, MatCap is displayed 100% irrespective of whether or not there is a mask. When the value is -1, MatCap will not be displayed at all and MatCap will be the same as in the off state. The default value is 0.
Inverse_MatcapMaskLevel By turning it ON, the MatcapMask is inverted.
Orthographic Projection for MatCap Enable this when the camera projection used in the scene is orthographic. When using perspective camera, turn it off. By doing this, you can correct the distortions caused by the camera. TIP: By turning this on, the perspective camera behaves like the one in UTS2 v.2.0.4, which means the distortion will not be corrected.

8.Angel Ring Properties

Property Function
AngelRing Turns Angel Ring on.
AngelRing_Sampler Specifies the texture of the Angel Ring.
AngelRing_Color Specifies the color that will be multiplied to the Angel Ring.
AR_OffsetU Adjusts the Angel Ring’s shape in the horizontal direction.
AR_OffsetV Adjusts the Angel Ring’s shape in the vertical direction.
Is_LightColor_AR Allows the light color to affect the Angel Ring.
ARSampler_AlphaOn By turning this on, you can use the α channel that is included in the Angel Ring’s texture as a clipping mask.

9. Properties of Emissive

Property Function
EMISSIVE MODE By making it ANIMATION, you can animate the RGB channel part of the texture specified by Emissive in various ways. Alpha channel is a mask, so it can not be animated.
Emissive_Tex Specifies the texture for Emissive. You can also create a mask texture with grayscale and make it emit light with Emissive_Color. If you do not want it to emit light on top of other parts, set it to Black (RGB: 0,0,0)
Emissive_Color Color that will be multiplied to each pixel color in ‘Emissive_Tex’. In most cases, set HDR Color
The αchannel of Emissive Texure As of v. 2.0.7, the alpha channel can be used as a mask for emissive textures. Emissive is displayed at the position where the alpha channel is set to white (RGB = (1, 1, 1)) on UV basis. When black (RGB = (0, 0, 0)), the emissive disappears. In order to enable the alpha channel, in the case of an image format that can have an alpha channel such as Targa format, set Alpha Source to Input Texture Alpha in Import Settings of each texture. In the case of PNG format, since it is not possible to have an alpha channel directly in the image specification, after importing an alpha channel as a selection range in Photoshop, specify "Layer mask> Mask outside selection range" and save in PNG format You Then import it into Unity, and in Import Settings, set Alpha Source to Input Texture Alpha and Alpha Is Transparency to ON.
Base_Speed Specifies the base update speed of the animation. If the value is 1, it will be updated in 1 second. Specifying a value of 2 results in twice the speed of a value of 1, so it will be updated in 0.5 seconds.
Scroll_EmissiveU Specifies how much the Emissive texture is to be scrolled in the U direction (direction of the X axis) when updating the animation. Specify in the range -1 to 1 and the default is 0. Scroll animation is ultimately determined as the result of Base Speed (Time) x Scroll U Direction x Scroll V Direction.
Scroll_EmissiveV Specifies how much the Emissive texture is to be scrolled in the V direction (direction of the Y axis) to update the animation. Specify in the range -1 to 1 and the default is 0.
Rotate_EmissiveUV Specifies how much the Emissive texture should be rotated around the center of the UV coordinates (UV = (0.5, 0.5)) as an animation update. When Base Speed = 1, turns 1 clockwise with a value of 1. When combined with scrolling, it will rotate after scrolling.
Is_PingPong_Base By setting it to ON, you can set PingPong (back and forth) in the direction of the animation.
Activate ColorShift By setting it to ON, the color to be multiplied to the Emissive texture is changed between Destination Color. When using this function, it is better to set the Emissive texture to grayscale and design the each colors on the color side to be multiplied.
Destination Color This is the color to change to when color shifting. It can be specified in HDR.
ColorShift_Speed Set the standard speed for color shift. When the value is 1, change of one cycle should be approximately 6 seconds as a guide.
Activate_ViewShift ON shifts the color relative to the camera's viewing angle to view the object. When viewed from the front of the surface of the object, the normal Emissive color is displayed, and the color changes to the shifted color as the view angle gradually inclines.
ViewShift This is the color to change to when shifting views. Specify in HDR.
Is_ViewCoord_Scroll Specifies the coordinate system to use for scrolling. In the case of OFF, scrolling is performed based on the UV coordinates of Emissive_Tex. In the case of ON, it scrolls based on the same view coordinates as MatCap. Scrolling in the view coordinate system is very useful because it does not take into account the UV coordinates of the texture, but it is often the case that objects with flat faces like cubes can not be displayed well. On the other hand, the view coordinate system can be used very conveniently for objects with many surfaces such as characters.

10.Properties of Outline

Property Function
OUTLINE MODE Specifies how the inverted-outline object will be spawned. You can choose between NML(normal inverted method) / POS(position scaling method. In most cases, NML is used but if it is a mesh that is only made of hard edges (such as cubes), POS will prevent the outline from being disconnected. It will be good to use POS for simple shapes and use NML for characters and things that have complicated outlines.
Outline_Width Specifies the width of the outline. NOTICE: This value relies on the scale when the model was imported to Unity which means that you have to be careful if the scale is not 1.
Farthest_Distance The width of the outline will change depending on the distance between the camera and the object. Specifies the farthest distance. The farthest distance will be when the outline becomes 0.
Nearest_Distance The width of the outline will change depending on the distance between the camera and the object. Specifies the closest distance. The closest distance will be when the ‘Outline_Width” is the width that was set as the maximum.
Outline_Sampler When you want to see the “start” and “end” of your outlines, or when you only want to outline certain parts, use the outline sampler (texture). The thickest width with white and the least thickest with white.
Outline_Color Specifies the color of the outline.
Is_BlendBaseColor Select this when you want to blend the color of the outline with the object’s base color.
Is_LightColor_Outline Applies the light color to the Outline Color. The contribution of the light color to the outline is: When "OFF", the color set for the outline color is displayed as it is. When "Active with 1 realtime directional light in the scene", the outline color responds to the color and brightness of the realtime directional light. When "There is no real-time directional light in the scene at the time of Active", the outline color responds to the color and brightness of Color in the Source of Environment Lighting. At this time, please note that the value of Color is referenced even if you are using Skybox. In addition, please be careful as it does not react to ambient light other than real-time point light and color.
Is_OutlineTex Turn it on when you want to paste texture to the inverted-outline object.
OutlineTex Use this when you want the outline to have special textures. By changing the textures, you can give the outlines patterns, or make the outline unique by changing the texture of the inverted object which will be front-face culled.
Offset_Camera_Z Offsets the outlines in direction Z. The outline will be less visible for the spikey parts in spikey hair if you input a positive value. For most cases, just set this to 0.
Is_BakedNormal By turning this on, you can turn on BakedNormal for Outline.
BakedNormal for Outline Reads normal maps that have the vertices normal from other models baked into it as “added” when setting the inverted outlines. For more, look below.

11. Using Light Probes, and the properties of functions that are useful for Shader Built-in Light and VRChat

Property Function
GI_Intensity By setting GI_Intensity to 0 or higher, it will deal with the GI system within Unity’s Lighting window, especially Light Probe. When GI_Intensity is 1, the GI intensity will be 100%. This function is improved with v.2.0.6, if you want to use GI including light probes, first set 1 (almost the same brightness as Standard Shader). and then adjust as necessary.
Unlit_Intensity When there is no real-time directional light in the scene, the scene’s brightness and color will be determined byEnvironment Lighting’s Source Settings ,boost it by Unlit_Intensity and use it as a light source. (This is called Ambient Blending) The default is 1 and 0 is to turn it off completely. This is used when you want to have the environment color blend with the material color, but if you want it to be a darker blend, set it to 0.5~1 and if you want it to be a lighter blend, set it to 1.5~2. (From v.2.0.6, the maximum value has become 4.)
VRChat : SceneLights Hi-Cut_Filter This will minimize overexposure when the light intensity is too high, or when there are multiple real-time directional lights, or multiple real-time point lights. By turning this one you can maintain the light colors and its attenuations while only cutting the intensity of the material color to avoid overexposure. The default is OFF. When using this function, please make sure that Is_LightColor_ system such as Is_LightColor_Base check is ON. We recommend VRChat users to turn this on. Hint: If overexposure still occurs even when this is turned on, please check the post-effect bloom settings. (In particular, when Bloom’s threshold value is under 1, it is easier to happen.)
Advanced : Activate Built-in Light Direction For experienced users, you can activate the Built-in Light Direction’s vector (the vector of the virtual lights in the shader). When this is activated, the intensity and color of the light will follow the real-time directional light’s values within the scene. If there aren’t lights like that, the values for ambient blending will be used.
Offset X-Axis (Built-in Light Direction) Moves the virtual lights left and right that are spawned by the built-in light direction vector left and right .
Offset Y-Axis (Built-in Light Direction) Moves the virtual lights that are spawned by the built-in light direction vector up and down.
Inverse Z-Axis (Built-in Light Direction) Moves the virtual lights that are spawned by the built-in light direction vector back and forwards.

12.Properties of Tessellation

Property Function
DX11 Tess : Edge Length Divides the tessellation according to the camera’s distance. The smaller the value, the smaller the tiles become. The default is 5.
DX11 Tess : Phong Strengh Adjusts the pulling strength of the surfaces divided by tessellation. The default is 0.5.
DX11 Tess : Extrusion Amount Scale the expanded parts due to tessellation. The default is 0.