Panel Logowania

Ważne wskazówki użytkowania Blendera

napisał : maniek
21
sierpnia
2012
Wyjaśniam tu dość istotne, kwestie może nie dotyczące bezpośrednio BGE, ale bez nich projektowanie może być utrudnione. Ta wiedza na pewno przyda się początkującym użytkownikom.
tagi : global local parent origin center kopiowanie kostek wygładzanie siatki smooth x-ray display

Ten artykuł jest wstępem do serii tutoriali dla początkujących na temat tworzenia swojej pierwsze gry. Jeśli dopiero stawiasz pierwsze kroki w BGE jak i w Blenderze, ten artykuł jest dla Ciebie obowiązkowy.

 

1. Układy współrzędnych obiektu

W scenie panuje jeden globalny układ współrzędnych, określony przez dwie linie na płaszczyźnie sceny i ewentualnie linie pionową którą można wyświetlić. W oknie 3D View wyświetla się miniaturka, która pokazuje bieżący kierunek osi. Program Blender zarządza obiektami w scenie poprzez zapisywanie sobie ich położenia (transformacji) i obrotu (orientacji) w globalnym układzie współrzędnych. Jednak dla usprawnienia operacji na obiektach każdemu przypisany jest lokalny układ współrzędnych związany z siatką (meshem) obiektu. Przesuwając obiekt również z nim przesuwa się jego lokalny układ współrzędnych. Kiedy obiekt obrócimy, to jego lokalny układ współrzędnych również się obróci.

Jak w praktyce przydaje się lokalny układ współrzędnych? Kiedy sterujemy samochodem, który ma poruszać się po krętej drodze, to w globalnym układzie współrzędnych musieli byśmy odpowiednio połączyć ruch obiektu względem globalnej osi X, względem globalnej osi Y oraz dodatkowo obrócić obiekt względem globalnej osi Z (a ten obrót nie tylko obróci nam samochód ale dodatkowo go jeszcze przesunie).

A teraz korzystając z lokalnego układu współrzędnych wystarczy nam przesunąć samochód wzdłuż jego lokalnej osi X i obrócić wokół lokalnej osi Z.

 W oknie 3D View bieżącą pozycję układu widzimy w postaci manipulatorów, a układ obiektu możemy zmienić za pomocą menu [Transform Orientation] (patrz obrazek w prawym górnym rogu). To narzędzie, które pozwala wyświetlić lokalny układ współrzędnych obiektu lub wyświetlić ten układ obrócony do kierunków globalnych lub też dopasowanych do kierunku z jakiego patrzymy na obiekt. Takie wyświetlanie różnie ustawionych układów współrzędnych pozwala operować obiektem na różne sposoby (przesuwać wzdłuż i obracać wokół różnych osi)

Układ lokalny - w tym układzie, osie(X,Y i Z) obiektu są lokalne czyli zmieniają swoje położenie, kiedy obiekt np. zmienia swój obrót.

 

 

2. Podążanie za obiektem [Parenting]

Parenting - relacja pomiędzy obiektami (dwoma lub wieloma) gdzie jeden z nich jest "rodzicem" a inne "dziećmi", przydatne podczas transformacji. Kiedy "obiekt-rodzic" jest transformowany, wszystkie sparentowane "dzieci" podążają za nim. Można to sobie tłumaczyć tak :

"Dzieci słuchają się rodzica, kiedy on się porusza, lecz rodzic nie słucha się dziecka kiedy ono się porusza."

 

Tworzenie relacji "rodzic-dziecko" w Blenderze

Tworzymy relację w następujący sposób: zaznaczamy z [Shiftem] obiekty, które mają być dziećmi, na końcu z [Shiftem] zaznaczamy obiekt, który ma być rodzicem, następnie wciskamy skrót klawiszowy [Ctrl + P] -> Object. Od teraz poruszanie lub obracanie rodzicem powoduje że dzieci podążają za nim.

Aby odparentować obiekty, wystarczy zaznaczyć je, a następnie wcisnąć skrót klawiszowy [Alt + P] -> Clear Parent

Dodatkową funkcjonalnością jest możliwość opóźnienia reakcji "dziecka" na ruch "rodzica" :

  1. Zaznaczamy obiekt "dziecko"
  2. Przechodzimy do panelu Object w oknie Properties
  3. W zakładce [Relations Extras] zaznaczamy opcję [Slow Parent] i ustalamy [Offset], który jest stopniem opóźnienia dziecka

 

 

 

Tworzenie relacji "rodzic-dziecko" w BGE za pomocą kostek logiki

Najlepszym wyjaśnieniem jak ustawić parenting za pomocą logiki wyjaśnia poniższy obrazek :

Powyższą logikę ustawiamy dla obiektu, które ma być dzieckiem, a w actuatorze [Parent] w polu [Parent Object] wpisujemy nazwę obiektu, który ma być rodzicem.

 

3. Przenoszenie centrum układu współrzędnych [Origin]

Origin - jest to centrum obiektu, standardowo znajdujące się w środku obiektu, które jest kluczowe podczas transformacji obiektu. Jest on też centrum wyliczania granicy kolizji. Może się zdarzyć, że podczas edycji wierzchołków obiektu, [Origin] może znaleźć się poza obiektem.

  • Geometry to Origin - przenosi siatkę obiektu do centrum obiektu
  • Origin to Geometry -centrum lokalnego układu współrzędnych przenosi się do obliczonego na podstawie siatki środka ciężkości obiektu
  • Origin to 3D Cursor - przenosi centrum obiektu w miejsce gdzie znajduje się kursor 3D

Poniższy obrazek pokazuje sytuację gdzie centrum obiektu jest poza obiektem :

Origin w BGE rozumiany jest zarazem jako środek ciężkości obiektu.

 

4. Kopiowanie kostek logiki pomiędzy obiektami

Czasem istnieje potrzeba ustawienia tych samych kostek logiki dla kilku obiektów. Niestety ustawianie ich od początku dla każdego obiektu z osobna może być dość żmudne, uciążliwe i może powodować błędy. Na szczęście mamy łatwą możliwość kopiowania kostek logiki pomiędzy obiektami. Aby nam to wyszło musimy zrobić to w odpowiedniej kolejności :

  1. Zaznaczamy z klawiszem[Shift] wszystkie obiekty, jeśli jest ich więcej, które nie mają jeszcze kostek logiki,
  2. Na samym końcu zaznaczmy z [Shiftem] obiekt z którego chcemy skopiować kostki logiki
  3. Przechodzimy do menu [Object] (w oknie 3D View) i wybieramy Game -> Copy Logic Bricks

 

5. Wygładzanie siatki obiektu

Standardowo każdy nowo utworzony obiekt nie ma wygładzonej powierzchni (widoczne ścianki ). Aby to zmienić wystarczy w Panelu Toolshelf (skrót klawiszowy [T] w oknie 3D View) kliknąć przycisk [Smooth]. Drugi przycisk [Flat] działa dokładnie odwrotnie.

Prezentacja działania obydwu przycisków :

Jest możliwość stworzenia ostrych krawędzi w wygładzonym obiekcie. W trybie edycji zaznaczamy krawędź lub krawędzie, które miały by być "ostre". Następnie klikamy [Ctrl + E] i z menu wybieramy [Make Sharp]. Jak widzimy krawędzie zostały zamarkowane. Teraz pozostaje nam użyć modyfikatora Edge Split, aby zaznaczone krawędzie zostały uwidocznione na obiekcie.

6. X-ray mode

Użyteczną funkcjonalnością Blendera jest określanie typu wyświetlania w oknie 3D View dla każdego obiektu z osobna. Na szczególną uwagę zasługuje opcja X-Ray (Rentgen). Dzięki tej opcji obiekt podczas np.: modelowania jest widoczny w całości nawet przez obiekty, które go zasłaniają. Opcję tą włączamy w oknie Properties, Panelu Object, zakładce Display.

 

 

 

 

 

 

7. Normals(Normalne)

Bardzo ważną rzeczą podczas modelowania oraz renderowania się Normalne(Normals). Najprościej mówiąc Normalne są to linie padające prostopadle do ścianek(face'ów) obiektu. Definiują one, która strona face'a jest na zewnątrz, a która od wewnątrz.

Czasem sami zauważacie w BGE lub w renderze, że obiekt ma jakieś dziwne dziury w swojej siatce. Właśnie dlatego, że Normalna dla tych face'ów jest po drugiej stronie.

Normalne możemy tylko i wyłącznie wyświetlić w trybie [Edit Mode]. Jest to cienka, błękitna, prostopadła linia wybiegająca od środka face'a na określoną długość.

Normalne standardowo są wyłączone z wyświetlania. Aby jest sobie wyświetlić, przechodzimy do trybu [Edit Mode] obiektu, następnie, będąc myszką nad oknem 3D View, klikamy klawisz [N]. Pojawi się nam boczne menu, gdzie przechodzimy do sekcji [Mesh Display] i klikamy ikonkę . Pokażą nam się błękitne linie wychodzące z każdego face'a. Istnieje też Normalna dla wierzchołka. Parametr [Size] steruje długością normalnych.

Jak odwrócić Normalną? Sprawa jest bardzo prosta. Zaznaczmy face'a, którego Normalną chcemy odwrócić, następnie klikamy klawisz [W] i z menu wybieramy opcję [Flip Normals].

Jeżeli mamy taką sytuację, że obiekt ma więcej niż jedną odwróconą (niepożądanie dla nas) Normalną, możemy spróbować naprawić taki model, aby odwrócił nieprawidłowe Normalne. Aby to zrobić należy, w trybie [Edit Mode] oczywiście, zaznaczyć wszystkie face'y i nacisnąć kombinację klawisz [Ctrl] + [N]. To spowoduje ustawienie wszystkich normalnych na zewnątrz. Jeśli chcemy do wewnątrz, to po kliknięciu klawiszy [Ctrl] + [N], w panelu bocznym Tool Shelf pojawi się nam opcja [Inside] z której należy skorzystać.

To na razie wszystkie wskazówki jakie mam do przekazania na tą chwilę. Jeśli macie jakieś użyteczne sztuczki, z którymi warto się podzielić, a początkujący mieli by problemy, to piszcie śmiało - chętnie dorzucę to do artykułu.

7 komentarzy
gumen napisał :
godz. 15:43, 22 sierpnia 2012
Miałem kiedyś coś takiego, że jak włączyłem x-ray w jednym obiekcie to wszystkie cienie (real-time, rzucane przez jednego spota) mi poznikały. Nie wie czy to był bug, czy, po prostu, nie współpracuje to z GLSL.
gumen napisał :
godz. 10:32, 28 sierpnia 2012
Dosłownie przed chwilą robiłem testy materiałów. Miałem ustawione dwa spoty nakierowane na teren za pomocą 'Make Track'. I wszystko ładnie w oknie 3D, ale jak włączyłem grę to żadne światło nie działało. Dopiero po usunięciu opcji 'Make Track' zaczęły działać normalnie. Ale najdziwniejsze, że potem na tych samych światłach i tym samym obiekcie znowu użyłem tej samej opcji, by sprawdzić czy na pewno to powodowało błąd. Ale już wszystko działało.
maniek napisał :
godz. 14:21, 28 sierpnia 2012
Ale Make Track to jest coś innego niż Make Parent.. Tracking w blenderze nie działa w BGE.. za to można go utworzyć za pomocą kostek logiki
gumen napisał :
godz. 14:54, 28 sierpnia 2012
hm.. nie wiedziałem.
SilverShadow napisał :
godz. 17:32, 11 września 2012
w piątym punkcie, chyba powinno być [Ctrl + E] który otwiera nam Edges menu, zamiast [Ctrl + W].
maniek napisał :
godz. 09:17, 12 września 2012
rzeczywiście wkradła się pomyłka ;) dzięki
maniek napisał :
godz. 23:09, 20 grudnia 2012
dopisałem kilka informacji o Normals
Dodaj komentarz
Aby dodać komentarz do newsa, musisz być zalogowany w Serwisie.. Zaloguj