#unity3d #shader #collision-detection #collision #shader-graph
#unity3d #шейдер #обнаружение столкновений #столкновение #шейдер-граф
Вопрос:
В сцене в виртуальной реальности я пытаюсь реализовать шейдер с графом шейдеров, где в каждой точке контакта моей руки с кубом куб получает простую красную точку.
Моя идея состояла в том, чтобы создать текстуру, в которой я изменил цвет соответствующих вершин, а затем применил его к кубу, но я не нашел никакого способа применить текстуру к кубу. Затем я попытался изменить вершины напрямую с помощью узла «VertexColor», но я не знаю точно, как это работает, и документация мне не очень понятна.
Я также рассматривал возможность использования декалей, но я использую URP, для которого Unity не поддерживает проекторы и предпочел бы использовать шейдер.
Так что, если кто-нибудь может оказать какую-либо помощь, я был бы очень признателен.
Комментарии:
1. Вы можете передать точку контракта шейдеру, а затем установить цвет вершины на основе расстояния между вершиной и точкой контракта.
2. Привет, спасибо за ответ. Наверное, я все еще не совсем понимаю узел цвета вершины, представляет ли он конкретную вершину? Как я узнаю, с какой вершиной я вычисляю расстояние?
3. Каждая вершина может иметь свойство цвета docs.unity3d.com/Manual/SL-ShaderSemantics.html