Inherit Tag

Безплатни 20 урока
регистрирай се и научи

Ако сте вече потребител - Регистриран съм
Видео
Ще разгледаме как да използваме "dynamics" с многокомпонентни форми.
Както е този чук.
Направен е от 2 прости форми: цилиндър и кубче.
Ще добавя към "floor object" един таг.
Може да сложим както "rigid", така и "collider body".
Ще сложа "rigid", тъй като е абсолютно същото, защото това е "floor object ".
"Dynamics" е автоматично изключен.
Подът нямам да се мръдне.
Ще добавим таг и към тези два обекта.
"simulation tags - rigid body".
Ще натисна "play".
Няма да се случи точно това, което си представяме.
Това трябва да е един цял чук.
Сега по-скоро са две отделни форми.
Има и друг проблем.
Натискам "play".
Цилиндърът отскача от главата на чука.
Взимам само цилиндъра и го пресичам с кубчето.
Натискам "play".
Той просто изхвърча от тук.
Когато имате обекти, които в началото сте ги кръстосали и имат дайнамикс; те би трябвало да отскачат един от друг.
Когато си взаимодействат, тогава става експлозия.
В случая наблюдаваме подобно нещо.
Ако нещо се кръстосва, тогава най-вероятно няма да отскочи както трябва.
Особено ако искате да сложите чука тук.
Малко преминава през пода.
Вместо да седи върху пода, отскочи от него.
Дори съвсем леко се разминава с пода, ще отскача и няма да седи на едно място.
Ще върнем всичко отначало.
Да вземем тази дръжка.
Сега няма да има проблем да разминем, защото трябва да направим един комплексен обект.
Чукът трябва да е едно цяло, а не два отделни обекта.
Ще изтрием тези тагове.
Ще групираме двата обекта в "null object".
Избирам "group objects".
Ще сложим тага върху цялата група - "null object".
Сега трябва да реагират като един обект.
Нека видим какво ще се случи.
Чукът мина през пода.
Имаме таг върху пода, не би трябвало това да е проблемът.
Отново ще натисна "play".
Отново преминава през пода.
Причината за това е, че тагът е приложен върху "null object".
"Dynamic tag" не трябва да е там.
Ще разгледаме какво може да променим в тагът, за да стане чукът един цял обект.
В "collision" имаме "inherit tag".
В менюто имаме "apply tag to children" и "compound collision shape".
"apply tag to children" - все едно сме дублирали този таг на абсолютно всеки един обект по-надолу.
Тоест, нещо което направихме преди малко.
Това няма да ни свърши работа.
Натискам "play".
Получава се същия резултат, както от преди малко.
Ако имам "null object" с 30 обекта, които да реагират като динамични тела.
Трябва да използваме само един таг.
Защото ако сложим таг на 30 тела, след това решим да променим настройките, ще трябва да го променим във всеки един таг.
Затова имаме опцията "apply tag to children".
Ако в "null object" имаме много обекти, и трябва всички те да реагират поотделно тогава слагаме "apply tag to children".
И променяме функциите само на този таг, а не сменяме таговете на всеки обект поотделно.
Това, което ще ни свърши работа е "compound collision shape".
Ще използваме тази функция.
Натискам "play".
Чукът е цял обект, в завършена форма.
Другият вариант е, ако отделим тези два обекта.
Да ги комбиниране.
Да видим как ще стане това.
Ще ги извадим от тук.
Натискам десен бутон и избирам "connect objects", ще се създаде нов обект.
Aко скрием тези, ще видите, че такъв обект няма.
Защото имаме стандартни примитиви.
Ако си спомняте от модула моделиране, трябва да ги превърнем в полигонови обекти.
След това ще изберем "connect objects + delete", за да не направи нов обект, а директно да ги свърже.
Ще стане един цял обект.
Ще му сложим "rigid body".
Ще стане един цял обект и няма да има никакъв проблем.
Нека разгледаме друг случай.
Изтривам този "null object", както и този чук - нe ни трябва повече.
Нека направим един "mograph cloner".
Той може да работи с "dynamics".
Избирам едно кубче и ще му направя размерите по 60 см.
Слагам го в "cloner object".
Ще преместим "cloner" по-нагоре.
Включвам "mode: grid array".
Всички "count: 8".
Всички "size: 500+ cm".
За да не се пресичат кубчетата едно с друго, да има разстояние между тях.
Слагам "rigid body" и да видим какво ще се получи.
Натискам "play".
"cloner" реагира като цял обект.
Но отново имаме някакъв проблем.
Ако се опитаме да сложим "rigid body" към кубчето, нека видим какво ще стане сега.
По този начин разбихме "cloner object".
Кубчета си реагират, както би следвало да реагират.
Другият начин: отивам в "cloner object".
Слагам "rigid body" върху "cloner object".
Отивам в "collision, individual elements: all".
Oбектите ще реагират всеки един поотделно.
Може би този начин е по-добър.
Има разлики в начина, по който кубчетата си реагират.
Връщам тага обратно на "cube".
"individual elements: off".
Всъщност, няма разлика.
Ще бъде по-добър вариант, ако имаме няколко различни обекта.
Ако освен кубчето в "cloner object" имам и сфера.
Ще я намаля малко.
"radius: 40".
Слагаме и конус.
Нямалям го.
Раздалечавам ги едно от друго.
Проверявам дали не се пресичат.
Трябва да сложим таг на всеки един обект, ако решим да не използваме "individual elements: all".
Ако ще правя промяна по тага, ще бъде много сложно; особено ако имаме много форми.
По-добре е да използвате "individual elements: all".
Натискам "play".
Всички обекти са динамични тела.
Включвам "individual elements: off".
Цялото нещо реагира като цял обект.
С "inherit tag" и "individual elements", може да правите сложни форми.
Могат да бъдат като отделни тела или като едно цяло.
В "collision" може да промените тези две опции.

Тест за преминаване към следващия урок

 
За да работи Cloner обекта с dynamics и всички клонъри да са отделни динамични тела, трябва?
да е включено Inehrit tag - Compound collision shape
да е включено Inehrit tag - Apply tag to children
да е включено Individual elements - On
да е включено Individual elements - Off