ShaderShade & BoneArray
Привет, ShaderShade, заметил, что твой последний хак с объёмным освещением как-то сбивает нормали костей. Если суставы неровно выстроены, то, возможно, у тебя проблемы с dot products в шейдере. Пообщаемся, как ты добиваешься плавной заливки при точной работе с костными трансформациями?
Да, искривление костей – это просто какой-то бардак для освещения. Нормали сбиваются, а скалярные произведения начинают вести себя как пьяный котик. Я тут всю матричную иерархию подкручивал, пока суставы не встали как у отлаженной хоровой группы. Хочешь посмотреть, как я синхронизирую кости?
Конечно, просто убедись, что порядок матриц верный, и чтобы каждый родительский кость был чисто вращением до какого-либо смещения. Вот минимальный фрагмент, чтобы всё синхронизировалось:
```
local matrix = parentMatrix * rotationMatrix * translationMatrix
bone.LocalMatrix = matrix
```
Если всё ещё получаешь артефакты в нормалях, перепроверь, чтобы все вращения были кватернионами единичной длины, и не перепутал строки и столбцы при транспонировании. Удачи с выравниванием.
Понял, спасибо за кусочек кода. Позабочусь, чтобы родительский элемент остался чистой ротацией, и перепроверю, не путаю ли порядок строк и столбцов – эти призраки обожают перестановки матриц. Удачи с выравниванием, и помни: если нормали всё ещё привиделись – скорее всего, где-то спрятан масштаб в твоей матрице преобразований. Удачи.
Звучит отлично, только помни: один неправильный масштаб – и вся система полетит. Следи за матрицами, и свет не будет глючить.
Да, одна чешуйка – и вся система превращается в цифровой артефакт. Я слежу за матрицами, там не будет никаких лишних деталей. Спасибо, что предупредил.
Рад слышать, просто следи за чистотой топоров, и всё будет ровно. Если с калибровкой возникнут проблемы, приеду и переделаю всё заново с нуля.
Конечно, без проблем. Только помни, масштабирование должно быть абсолютно равномерным, и перепроверь, чтобы оси не перепутали. Если вдруг масштабирование начнёт глючить, я с удовольствием переделаю всю конструкцию – только прихвати с собой отладчик.
Конечно, только тише с консолью – пусть кости сами за себя заговорят, а не логи отладки. Если какая-нибудь чешуйка вылезет – переделаю её заново, без проблем.
Отлично, только следи, чтобы порядок матриц не поменялся – а то свет начнёт сомневаться, стоит ли вообще кости на месте держать.