contente
0 é realmente o melhor
Na verdade, não pode ser 0 fundação, mas se você é 0 fundação, como disse Zhang Sanfeng, esqueça seu pai
Se você começar a olhar para o URP atual do Unity ou o Standard Shader agora
1- Se você conhece o "Essentials of Getting Started" da Sister Lele, foi publicado em 2015 e começou a escrever em 2013. Foi escrito com elegância, e agora você olha para o Shader interno do Unity com certeza.
2- Se você tem muitos anos de experiência em programação, você vai pensar que o código que você não consegue entender é definitivamente um bom código, mas pense com cuidado, o código que você não consegue entender hoje em dia é apenas a linguagem assembly de 100 anos atrás
Então, primeiro do palácio, e depois olhe para baixo:
a natureza do código
entrada de código
<Encontre o diretório Shader no diretório Package>
análise de código
<Muito código, não olhe para ele, apenas uma frase: XXXX é citado>
600 linhas de código, apenas esta frase é útil, "Outros não precisam ler"
lógica de código
A lógica de descobrir a fonte de luz do ponto iluminado Spot está no arquivo LitForwradBase.hlsl
Eventualmente, você descobrirá que SurfaceData é inicializado e, em seguida, esse parâmetro é passado para o método UniversalFramentPBR() para calcular a cor final
half4 LitPassFragment(Varyings input) : SV_Target
{
//.............
SurfaceData surfaceData;
InitializeStandardLitSurfaceData(input.uv, surfaceData);
InputData inputData;
InitializeInputData(input, surfaceData.normalTS, inputData);
half4 color = UniversalFragmentPBR(inputData, surfaceData);