Наследование. В реальном мире мире ребёнок наследует черты своих родителей  

Наследование. В реальном мире мире ребёнок наследует черты своих родителей

В реальном мире мире ребёнок наследует черты своих родителей. В мире 3D графики вы можете указывать вашим объектам отношения родитель-потомок. Потомок унаследует точные характеристики (например, изменение масштаба) от его родителя: если объект родитель изменит свой масштаб, это сделает и его потомок. У объекта потомка могут быть свои характеристики, он может двигаться, вращаться и изменять размер самостоятельно. Но, всё что делает объект родитель, сделает и его потомок. Итак, у вас есть объект Empty с анимированным масштабом, сделав его родителем сфер ядра, вы заставите их повторять его движения.

Перед тем как сделать следующий шаг, давайте убедимся, что ничего не выделено. Нажмите клавишу А дважды для снятия любого выделения, которое могло было быть. Используя метод выделения по вашему выбору (ПКМ, клавиша В), выделите все икосферы, составляющие ядро вашего атома. Затем, с зажатым Shift, выберите ПКМ объект Empty.

Примечание: Кое-что мы с вами не упомянули ранее, это различие между "Выделенным" и "Активным" объектами. Обратите внимание, Empty, который был выделен последним, имеет окантовку более яркого розового цвета, чем другие выделенные объекты. Это говорит о том, что Empty — активный объект. Активным всегда будет тот объект, который вы выделили последним. Наличие активного объекта очень важно, когда вы будете выполнять операцию (такую как наследование), в которой один или более объектов будут присоединены или ссылаться каким-либо образом на целевой объект. Этим целевым объектом всегда будет активный объект.

Итак, когда у вас выделены все сферы и объект Empty — активный, нажмите Ctrl+P и щёлкните во всплывшем окне по "OK? Make Parent".

Рисунок 1.14: Линии, показывающие отношения родитель-потомок.

Икосферы теперь потомки объекта Empty. В других уроках (вне этой книги) используются понятия: "spheres parented to the Empty", что они являются его детьми. Не смотря на то, что это употребительное выражение, оно технически неточно и противоинтуитивно, поэтому мы не будем употреблять эти понятия.

Выделите Empty (ПКМ) и перейдите в режим перемещения (G), подвигайте его в окне 3D вида (затем отмените перемещение с помощью ПКМ). Сферы перемещаются вместе с ним. Нажмите клавишу R чтобы вращать Empty и вы увидите как сферы вращаются вместе с ним (затем отмените ПКМ). Выделите одну из сфер (ПКМ) и подвигайте её (не забудьте отменить операцию с помощью ПКМ). Объект потомок всё ещё может двигаться независимо, но он следует движениям родителя.

Нажмите кнопку Play в окне Timeline (или клавиши Alt+A в окне 3D вида) чтобы посмотреть как процесс наследования заставляет сферы повторять анимацию масштабирования Empty.



Жутко, да? Икосферы расширяются и сужаются вместе с Empty. Но их расстояние до Empty тоже изменяется. Это не то что вам нужно. Что произошло, так это то, что потомки изменяют свой размер, но они так, как будто они все вместе и Empty — один большой объект, который растёт и уменьшается как целое. Давайте исправим это. Если вы желаете, вы можете нажимать Ctrl+Z до тех пор, пока не исчезнут отношения родитель-потомок.

В противном случае, выберите икосферы и нажмите Alt+P. Появится всплывающее окно подтверждения, с выделенным пунктом "Clear Parent". Нажмите ЛКМ для подтверждения (либо вы можете с тем же эффектом нажать на Enter). Пунктирные линии, которые показывали отношения родитель-потомок, исчезли, показывая тем самым, что сферы более не являются потомками Empty.

На этот раз, чтобы добиться правильного эффекта вам нужно поместить Empty в центр вашего ядра, чтобы во время расширения-сужения ядро вело себя надлежащим образом. Вы можете просто нажать на G и передвинуть Empty куда-нибудь близко к центру, но существует более аккуратный способ.

Совет: Ctrl+P создаёт между объектами отношения родитель-потомок, где активный объект станет родителем. Alt+P разрушает связь родитель-потомок для выделенного объекта-потомка.

[править]


4487623999608884.html
4487644024428406.html
    PR.RU™