Позициониране
на предмети върху повърхност Да вземем следните примери : имаме сцена в която върху някаква горска поляна хаотично са разпръснати разни камъчета, паднали клони от дървета и други подобни обекти или пък върху намачкан килим в дневната са изпопадали дребни боклучета, опаковки от храни и тн. В тези случаи коректното разположение на обектите върху повърхността играе съществена роля за постиганито на по-добро ниво на реалистичност на сцената. Най-стандартния подход би бил обектите да се позиционират ръчно върху
повърхността, но в случаите когато тези обекти са повече на брой или пък
самата повърхност е твърде неравна ( примерно ситни гънки на килим) този
подход може да стане доста времегубещ и и не много коректен както е показано
в примера по-долу. В такива случаи един удачен вариант е да се ползват rigid bodies в комбинация с gravity. 1.Създаваме равнината върху която ще разполагаме обектите. За целта ще използваме полигонален примитив plane: Create>Polygon Primitives>Plane.В полетата Subdivisions Wid и Subdivisions Hei задаите стойност 30 или по-голяма. По този начин ще се генерира достатъчно геометрия за да бъдат деформациите, които ще направим по-плавни.
2. Придаваме на повърхността неравен вид. За целта използвайте инструмент Sculpt Polygons Tool : Edit Polygons>Sculpt Polygons Tool. ( Докато работите с него е удобно да имате пряк достъп до неговите параметри-за целта натиснете бутон Show Tool Settings . Като променяте различните му режими на работа : Push, Pool, Smooth, Eraze както и нивото на натиск Opacity може бързо лесно да се съзаде доста неравна повърхност).
3.Създаваме обектите които ще попаднат върху повърхостта.За целта създайте няколко произволни полигонални примитива от меню Create>Polygon Primitives.
4.Разположете обектите малко над повърхноста в произволен ред.Скалирайте
ги така че да не са твърде големи спрямо повърхонстта.
5. Направете повърхността Passive Rigid Body : селектирайте повърхността и изберете Soft/Rigid Bodies>Create Passive Rigid Body По този начин повърхността ще си взаимодейства с останалите предмети в сцената без обаче те да й влиаят ( да я деформират или да я местят при съприкосновине с нея и пр. 6.Селектирайте останалите обекти и изберете Fields>Gravity. Слагането на гравитация върху обектите автоматично ги превръща в Active Rigid Bodies- те ще се влиаят от всички пасивни и активни тела в сцената. 7. Пуснете анимацията да се възпроизвежда - за да бъде прецизна симулацията преди това задайте опция Play Every Frame : Window>Settings/Preferences>Preferences>Timeline Обектите ще се позиционират спрямо геометрията на повърхността.
Няколко донастройки за по-прецизна симулация ако обектите отскачат твърде на далеч при съприкосновението с повърхостта или не се допират съвсем коректно към нея : Приближете ги на по-близко разтояние до повърхността преди да пуснете симулацията Намалете или увеличете Tessellation Factor-a на повърхността в зависимост от това дали обектите потъват в нея или "плават" малко над нея. Намалете стойността на параметър Bounciness на обектите ако искате да отскачат малко или въобще да не отскачат при съприкосновение с повърхността. Ако се налага увеличете времетраенето на анимацията ( симулацията ) за да имат обектите достатъчно време да се наместят на повърхността. 8.Когато сте доволни от резултата спрете симулацията и изберете Edit>Delete All by Type>Rigid Bodies.
Изготвил: north |