Eu irei explicar com minhas palavras de uma forma que pessoas "desprovidas do traço inteligência" consigam entender, vulgo eu mesmo
A luminosidade da face muda quando o angulo em relação a luz muda pois é como se a face estivesse ficando menos exposta a luz, você concorda que uma face na vida real receberia mais luz se a luz estivesse 90 graus em relação a face (Totalmente na frente da face) doque se a luz estivesse a 25 graus, ou seja a luz atinge menos a face.
Dicas e recomendações:
> Caso não entenda alguma palavra ou algum conceito não hesite em pequisar sobre!, use Chat gpt, gemini, google ou até mesmo pesquisar video aulas no youtube não entender ou se confundir no significado de uma palavra pode arruinar seu aprendizado!
> também anote oque você entendeu/aprendeu isso vai te ajudar a não esquecer, use um bloco de notas, um caderno tanto faz apenas anote
Para você poder criar esse efeito faça o seguinte, pegue uma face e tenha esses seguintes valores:
Nota: recomendo saber sobre a ordem de precedencia dos operadores matematicos e se possivél use um programa de 3D chamado blender ou até mesmo use o projeto para entender melhor doque estou falando
> Posição da luz mais proxima (X, Y, Z, Etc...)
> Posição do centro da face (X, Y, Z, Etc...)
> Direção da face
> Potência da luz mais proxima
Formulas e metodos:
Bom primeiro você tem que descobrir o angulo da luz em relação a face para isso você vé a direção de Posição do centro da face para Posição da luz mp, eu ainda não tenho uma formula boa para poder fazer isso então espere, Agora para facilitar vamos atribuir o resultado desse valor a "Direção para luz"
Agora você vai precisar de um metodo chamado "Cos" apenas ele, eu ainda também não sei oque o cos faz, mas assim que descobrir atualizo vocês. agora faça essa formula:
Cos( Direção para luz - ( Direção da face + X ) )
Isso vai te gerar um resultado especifico, e antes de qualquer pergunta "X" é um valor indefinido, configure X para definir o angulo que a luz afeta a face.
Pegue esse resultado e multiplique pela potência da luz
Cos(...) * Potência da luz mp
e pronto, isso vai te gerar um resultado e você pode atribuir a algum efeito de brilho, um detalhe importante, caso o efeito de brilho estiver "diferente", tipo ao invez de o 0 for sem efeito nenhum de brilho, o objeto fica totalmente escuro, sem brilho, Para esses caso vamos adicionar mais um operador a essa conta.
( Cos(...) * Potência da luz mp ) - X
Agora você pode configurar melhor esse valor e ajeita-lo de acordo com seu caso, denovo, sim X é um valor indefinido, ou seja, coloque o numero que quiser ai, recomendo ou 0 ou 100
Efeito de fog/Perca de potência da luz:
Para simular isso você vai ter que ter mais dois fatores que vamos chamar de "Fog" e de outro chamado "Distancia até a luz", vamos atribuir "Distancia até a luz" com a distancia entre Posição do centro da face e a posição da luz mp
Use essa formula aqui:
Distancia até a luz - ( Fog / X )
Isso vai gerar um numero, pegue esse numero e subtraia da conta anterior, subistituindo o "X" da outra conta por essa formula, sim, novamente o "X" é um numero indefinido porém aqui eu recomendo usar 150, sinta-se livre para alterar esse valor de acordo com oque achar mais consistente. o Fog você pode mudar do jeito que quiser ele é apenas um valor
E por fim essa é a formula que você tem que usar juntando tudo isso que eu te mostrei:
( Cos( Direção para luz - ( Direção da face + X ) ) * Potência da luz mp ) - ( Distancia até a luz - ( Fog / X ) )
Eu sei que pareçe um bixo de 7 cabeças mas acalme-se, VOCÊ CONSEGUE! não se desespere, e se possivel mostre esse texto para alguma ia, ela irá te explicar melhor oque você não entendeu, você pode errar, pode ficar confuso mas não pode é desistir! sinta-se livre também para perguntar nos topicos ou até mesmo criar um topico para perguntas.
E X P L I C A N D O S O B R E C O S , S I N E T A N... (Em breve)