Dlaczego ważne jest, aby zastosować transformację do danych obiektów?

Obejrzałem kilka samouczków i bardzo często stosowały one lokalizację, obrót lub skalę do obiektu podczas przekształcania go w trybie obiektowym. Zawsze to mówili jest ważne, ale dlaczego?

Komentarze

Odpowiedź

W przypadku symulacji fizyki ciała sztywnego ekstremalne niezastosowane transformacje skali mogą powodować bardzo zauważalne dziwne wyniki, takie jak nienaturalnie szybkie lub wolne obroty, w zależności od tego, czy obiekt jest skalowany w górę czy w dół:

tutaj wprowadź opis obrazu

Z wiki :

Jeśli dynamiczne skalowanie nie jest potrzebne, sztywne obiekty powinny mieć skalę zastosowana za pomocą operatora „Zastosuj skalę”.

Niezastosowana rotacja powoduje, że symulacja jest bardziej niestabilna:

tutaj wprowadź opis obrazu

Komentarze

  • OK, dziękuję. Więc jest potrzebny tylko do fizyki?
  • @BlenderShark Nie, są też inne przypadki, np. eksport. Chociaż większość skryptów eksporterów powinna mieć możliwość zrobienia tego za Ciebie.
  • @ gandalf3 Jak zastosować skalę i rotację? O ile widzę w tych symulacjach, obiekty wydają się mieć ten sam obrót i skalę. Myślę, że ' nie jestem pewien, co oznacza skala i rotacja w tym kontekście.
  • @Amir Ctrl+A. Każdy obiekt ma skalę, obrót i położenie, według których podstawowe dane siatki są przekształcane przed wyświetleniem. Zastosowanie danego komponentu na stałe przekształca dane siatki i resetuje transformację obiektu do 0.
  • @ gandalf3 Widzę. Dziękuję Ci. Oto ' jak ludzie mogą to zrobić za pomocą Pythona: 1) wybierz obiekt tak, aby bpy.context.scene.objects.active wskazywał na niego 2) bpy.ops.object.transform_apply(location = False, scale = True, rotation = True)

Odpowiedź

Krótka odpowiedź: to zależy .

Zastosowanie transformacji może być ważne, ale głównie sprowadza się do tego, co zamierzasz zrobić z obiektami.

Patrząc na to z uproszczonego punktu widzenia, najlepiej byłoby, gdyby nie miało to znaczenia i wszystko działałoby dobrze, nawet po przeskalowaniu / obróceniu.

Dobra zasada:

Zastosuj obrót i skalę do swoich modeli, chyba że masz ku temu powód.

Transformacja jest podzielona na translację / obrót / skalę, uogólniając obsługę Blendera:

  • obrócone obiekty (dobrze obsługiwane)
  • przetłumaczone obiekty (dobrze obsługiwane)
  • skalowane obiekty (dobrze obsługiwane)
  • niejednorodne obiekty skalowane
  • obiekty skalowane ujemnie

Ostatnie 2 mogą powodować problemy z modyfikatorami, ograniczeniami i niektórymi narzędziami. Mimo że w przypadku podstawowych operacji działa dobrze, rzadko istnieje dobry powód, aby mieć skalę ujemną.

Uwagi:

  • Większość modyfikatorów jest stosowana przed skalowaniem. Zatem efekt skosu lub zestalenia może być zgnieciony z niejednolitą skalą. Modyfikatory armatury i haka są wyjątkiem reguła.
  • Ujemna skala odwróci normalne obiektu (gdy odwrócona zostanie nieparzysta liczba osi) .
  • Większość trybów edycji narzędzia takie jak płynne dzielenie nie uwzględniają niejednolitej skali.
  • Obrót i skala mogą powodować problemy z szkieletami, zwłaszcza podczas eksportowania do różnych formatów.
  • Fizyka ciała sztywnego nie obsługuje dobrze skalowanych obiektów (może to być postrzegane jako błąd, niemniej jednak w obecnym kształcie nie działa dobrze) .
  • Skala zastosowana po wychowaniu zostanie zastosowana do dzieci, jeśli masz złożone ustawienia nadrzędne / podrzędne – mniej kłopotu będzie, jeśli skalujesz tylko obiekty w razie potrzeby.
  • Ekstremalne wartości skali >1000.0 lub <0.0001 (duży obiekt przeskalowany w dół lub mały obiekt przeskalowany w górę ) może powodować problemy z precyzją obliczeń zmiennoprzecinkowych w trybie edycji, także w przypadku innych obliczeń.

Obszary skalowane / przekształcane obiekty są w porządku:

  • Statyczna sceneria ( może chcesz mieć różne rozmiary skał). Obiekty, które nie poruszają się ani nie wchodzą w interakcję z innymi obiektami za pośrednictwem modyfikatorów, ograniczeń itp.
  • Kiedy jest to zamierzone – obiekt się rozciąga (ożywia skalę odbijającą się piłką).

Komentarze

  • Nie ' nie polecam stosowania rotacji jako ogólnej zasady. Często przydaje się ALT + D (duplikat łącza) obiektu, wyczyść go ' s obrót za pomocą ALT + R i zmodyfikuj w nim pierwotny stan '.

Odpowiedź

Ważne jest również, aby zastosować skalę podczas odwijania UV. Kiedy skalujesz obiekt w trybie obiektowym, odwijanie UV nie widzi skali, rozwinie siatkę tak, jakbyś nie przeskalowano.

Skala nie została zastosowana

tutaj wprowadź opis obrazu wprowadź opis obrazu tutaj

Zastosowano skalę

tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu

Komentarze

  • To jest bardzo pomocna. Jeśli używasz wzoru szachownicy, aby sprawdzić rozpakowanie uv i zobaczyć złe wyniki, czasami może być konieczne zastosowanie transformacji. ' Nie jestem pewien, ale myślę, że powinieneś to zrobić ze wszystkim, co rozpakujesz uv

Odpowiedź

Wydaje mi się, że mój problem dotyczący modyfikatora tablicy obróconego obiektu jest pomocnym przykładem. Oto zdjęcia tego, co miałem, co potrzebowałem, dodając modyfikator tablicy i co faktycznie otrzymałem:

tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu tutaj wprowadź opis obrazu

Duane Dibbley podał ładne wyjaśnienie: jeśli skalowanie / obracanie nie jest stosowane , Array nie stosuje rotacji tylko w odniesieniu do pivota (Empty), ale także stosuje poprzednie niezastosowane skalowanie i rotację!

Answer

Odkryłem również, że jeśli jesteś bardzo zaangażowany w swój projekt i nie chcesz, aby wszystko zwariowało po zastosowaniu transformacji, zastosowanie transformacji do delta działa dobrze.

Prawie skończyłem moja postać i zapomniałem zastosować transformacje, ale za każdym razem, gdy je stosowałem, coś się zepsuło, mój shader, moje powieki obracały się itp. e przekształca, ale większość rzeczy się nie psuje.

Możesz to zrobić, naciskając Ctrl + A Wszystkie przekształcenia w delty

Przekształca w deltę

Stosowanie przekształceń do delta jest również alternatywnym rozwiązaniem i zapobiega zepsuciu się rzeczy!

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *