Unity URP 手游中常用的平面投影阴影

本文介绍了如何在UniversalRenderPipeline中使用HLSL shader实现高光、兰伯特散射和阴影效果,包括Diff+Sp Pass和PlanarPlayerShadow Pass,适合Unity开发者学习和实践.

第一个pass随便你怎么写,直接用URP自带的也可以,我自己写了一个高光+兰伯特+阴影,可以无视第一个pass

USEPASS "Universal Render Pipeline/Lit/ForwardLit"

直接上shader吧,复制就能用了,好耶!

Shader "HLSL/PlanarPlayerShadow" {
	Properties{
	_BaseMap("Example Texture", 2D) = "white" {}
	_BaseColor("Example Colour", Color) = (0, 0.66, 0.73, 1)
	_Specular("Specular",Float) = 1
	_Smoothness("Smoothness",Float)=0.5
	_ShadowColor("ShadowColor",COLOR)=(0,0,0,0)
	_ShadowFalloff("ShadowFalloff",Range(0,1))=0.5
	_Plane("Plane",float)=0

	}
		SubShader{
		Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline" "Queue" = "Transparent"}

			HLSLINCLUDE
				#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
				#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"

				CBUFFER_START(UnityPerMaterial)
				float4
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值