Sunday, December 11, 2016

фейковые отражения в cycles

во так можно повесить фейковые отражения на объект, Mirror ball например.

Tuesday, December 6, 2016

что они там курят?

убил полдня пытаясь понять как работают трансформы в блендере в иерархии.
пришёл к выводу что есть какой то _сука_ скрытый трансформ нод, задействующийся при парентовании через ctrl+p, и трансформации на самом деле идут в его координатах а не в координатах парента, как это сделано во всех остальных пакетах. вот спрашивается НАХРЕНА? нигде толком не написано как работает трансформ в блендере, только полинтернета завалено вопросами пользователей что за хрень происходит. Вот кто ообъяснит что делает команда clear origin (alt+o)? можно было бы подумать что он скидывает этот скрытый нод в нули, но он влияет только на положение но не поворот и масштаб.... пока решение такое, забыть про ctrl+p и парентить через вкладку object (все трансформы становятся в координатах парента) или shift+ctrl+p (как предыдущее, только локейшн в ноль скидывается). карл!!!! а почему только локейшн скидывается?


- парент через вкладку object - просто тупо начинает считать координаты в системе парента, объект прыгает в новое положение
- ctrl+shift+p - make parent without inverse - двигает объект в начало координат сохранив поворот и масштаб и дальше пересчитывает всё в координаты парента, то есть объект прыгает  к паренту, видимо для того чтобы просто объект не потерялся на экране.
- ctrl+p>object - обычный парент, объект остаётся на своём месте, причём его координаты не меняются и если парент повёрнут, то всё, хана, анимировать чтото в координатах парента не получится. дурдом. судя по всему оно создаёт ещё один нод, такой же как текущий трнасформ чайлда, и вот его уже привязывает к паренту, и добраться до этого скрытого нода нет никакой возможности ровно как и анимировать в координатах парента. и нод этот похоже создаётся в нулях и поэтому не меняются координаты чайлда.
- alt+p > clear parent - обычная отвязка парента - вышеупомянутый скрытый нод ставится в нули, теряются трансформы от парента, чайлд прыгает в своё начальное место до привязки и трасформации вместе с парентом. координаты у чайлда всегда одни и те же.
- alt+p > clear and keep transformation - чайл сохраняет своё положение после отвязки, его координаты изменяются. то есть удаляется скрытый нод, а реальные трансформы чайлда пересчитываются.
- alt+p > clear parent inverse - удаляет скрытый нод (или всё же выравнивает его по паренту?), получается такой же результат как и при привязке через обджект панель, то есть объект прыгает.
- alt+o - clear origin - двигает чайлд к паренту, не влияя ни на поворот ни на масштаб, видимо сдвигая скрытый нод так чтобы чайл оказался у парента.

снос башки. всё ещё непонятно весь трансформ задействован или только локейшн во всех этих прыжках.

из этого следует что невозможно припарентить объект к паренту который повёрнут сохранив положение чайлда до привязки и имея координаты парента для анимации. можно только либо сохранить чайлда на месте, либо иметь правильные координаты парента. при условии отсутсвия нормального инструмента для align объектов в блендере, эта хрень может быть проблемой, требуя более тщательного планирования иерархии, особенно для анимации.

не могу понять нафига нужно было вводить этот дополнительный нод. почему нельзя пересчитывать координаты в парента как это делают вариации с keep transform (и как это делает 3дсмакс например) только для того чтобы иметь возможность вернуть объект в своё место после отвязки от парента? или скорее чтобы не пересчитывать анимационные кривые (!) (как это делает макс)? что ж, где-то логичное решение.