Wprowadzenie :: Podstawy obsługi programu :: Podstawy edycji siatki :: Grupy wierzchołków :: Kilka materiałów w jednym meshu :: Teksturowanie :: Teksturowanie UV :: Tworzenie tekstur i map normalnych :: Dodawanie kości :: Tworzenie animacji :: Eksport do Ogre :: Import z Ogre :: Linki

Blender jako narzędzie do tworzenia grafiki dla Ogre

Blender jest programem do tworzenia i renderowania grafiki oraz animacji 3D. Poniżej zamieszczam kilka przydatnych informacji i porad związanych z jego obsługą nastawionych głównie na wykorzystanie go do tworzenia modeli dla Ogre.

Wprowadzenie

Przykładowy układ okien edycyjnych przedstawiony (i opisany jest na poniżej ilustracji). Plik z taką konfiguracją widoku można pobrać tutaj.
opis okien blendera

Na początek kilka uwag ogólnych:

Podstawy obsługi programu

Podstawy edycji siatki

Grupy wierzchołków

Blender umożliwia grupowanie wierzchołków wewnątrz pojedynczego mesha w ramach "Vertex Group". Ma to zastosowanie m.in. do przypisywania kości (jest też to bardzo przydatne ze względu na to że eksport do Ogre odbywa się na zasadzie jeden mesh w Blenderze = jeden mesh w Ogre).

  1. w "Edit Mode":
    1. zaznaczenie wierzchołków które chcemy przypisać do grupy
    2. [Mesh] -> [Vertices] -> [Vertex Groups] i:
      • [Assign to New Group] aby utworzyć nową grupę i przypisać do niej
      • [Assign to Active Group] aby utworzyć przypisać "aktywnej grupy" (ustawia się ją poprzez [Set Active Group] w tym samym menu)
  2. nazwy grup możemy zmienić w zakładce "Data" okna "Properties" lub w oknie "Outliner"

Kilka materiałów w jednym meshu

Jeżeli chcemy nałożyć na fragmenty obiektu inny mteriał niż na całą resztę należy (po przypisaniu materiału podstawowego):

  1. w "Edit Mode" zaznaczyć powierzchnie (wierzchołki) na które chcemy nałożyć inny materiał
  2. w zakładce "Material" okna "Properties" wytbrać/utworzyć materiał który chcemy dla nich zastosować i przypisać go do nich klikając "Assign"

Nie należy szaleć z ilością materiałów zastosowanych w ramach pojedynczego mesh-a gdyż Ogre ma limitowaną ich ilość.

Teksturowanie

Jeżeli chcemy nałożyć na obiekt (np. ścianę) teksturę która będzie powtarzana i nie skalowana wraz z obiektem:

  1. w oknie "Properties":
    1. utworzenie materiału w zakładce "Material"
    2. utworzenie związanej z tym materiałem tekstury w zakładce "Texture"
    3. ustawienie typu tej tekstury na image i wybór odpowiedniego obrazka
    4. ustawiamy dla niej "Coordinates" w "Mapping" na "Global"
    5. przy pomocy "size" dostosowujemy wielkość tekstury w stosunku do obiektu

Teksturowanie UV

Jeżeli chcemy nałożyć na obiekt teksturę która będzie na nim mapowana wg określonych współrzędnych:

  1. w "Edit Mode":
    1. zaznaczenie krawędzi, w których chemy rozciąć siatkę celem zmapowania na płaską teksturę i oznaczenie ich jako szwów poprzez [Mesh] -> [Edges] -> [Mark Seam]
    2. zaznaczenie wierzchołków których mają być mapowane (nie musimy mapować na teksturę całości obiektu) oraz wykonanie ich mapowania poprzez [Mesh] -> [UV Unwraping] -> [Unwrap] (możemy wybrać inny tryb mapowania)
  2. w oknie "UV/Image Editor":
    1. wczytanie tekstury
    2. dostosowanie rozkładu wierzchołków w oknie UV (przydatne jest ukrywanie fragmentów mesha)
  3. w oknie "Properties":
    1. utworzenie materiału w zakładce "Material"
    2. utworzenie związanej z tym materiałem tekstury w zakładce "Texture"
    3. ustawienie typu tej tekstury na image i wybór odpowiedniego obrazka
    4. ustawienie typu mapowania tej tekstury na UV i wybór odpowiedniej mapy

Tworzenie tekstur i map normalnych

Za przykład pliku z przygotowanymi obiektami do takiej operacji może posłużyć: Creating seamless Textures of diffrent Surfaces

  1. w oknie "3D View":
    1. zaznaczamy trójwymiarowy obiekt
    2. zaznaczamy z shiftem płaszczyznę nad nim
    3. obiekt będzie oznaczony na pomarańczowo, a płaszczyzna na żółto)
  2. w oknie "Properties" w zakładce "Render":
    1. otwieramy sekcję "Bake"
    2. ustawiamy tryb na "Normals" i przestrzeń "Tangent"
    3. naciskamy przycisk "Bake"
  3. w oknie "UV/Image Editor":
    1. powinniśmy zobaczyć wygenerowaną teksturę, a przy menu "Image" powinna pojawić się gwiazdka
    2. w menu "Image" wybieramy "Save as Image"
  4. ponawiamy kroki 2 i 3 wybierając tryb "Texture" (jeżeli z jakiś powodów potrzebujemy odzwierciedlić w teksturze efekt krzywizn możemy użyć "Ambient Occlusion" lub "Full Render")

Uzyskaliśmy dwa pliki tekstur - zwykłej i mapy normalnych dla wybranego obiektu. Technikę tę możemy stosować nie tylko dla płaszczyzn ale także dla bardziej skomplikowanych obiektów - więcej informacji.

Dodawanie kości

  1. w "Object Mode" dodajemy armaturę [Add] -> [Armature] -> [Single bone]
  2. w oknie "Properties" w zakładce "Object" w sekcji "Relations" ustawiamy jako "Parent" utworzonej armatury obiekt z który ma obsługiwać
  3. mając zaznaczoną uzyskaną kość przechodzimy do "Edit Mode"
  4. dodajemy kolejne kości
    • Ogre wymaga aby statyczne wierzchołki także były skojarzone z jakąś kością
    • warto dla każdej z grupy wierzchołków zdefiniować osobną kość (umożliwia to m.in. zachowanie informacji o grupach wierzchołków przy eksporcie)
  5. w oknie "Outliner" ustawiamy odpowiednie nazwy naszym kościom - skojarzenie grupy wierzchołków z kością odbywa się na podstawie identyczności nazwy
  6. mając zaznaczony obiekt do którego przynależna jest armatura w oknie "Properties" w zakładce "Modifiers" dodajemy modyfikator "Armature" i ustawiamy w nim "Object" na utworzoną wcześniej armaturę

Tworzenie animacji

Przykładowy układ okien edycyjnych wykorzystywanych w tworzeniu animacji:
opis okien blendera

  1. w oknie "3D View" zaznaczamy armaturę animowanego obiektu i wybieramy tryb "Pose Mode"
  2. w oknie "Dope Sheet" w trybie "Action Editor" dodajemy nową akcję i nadajemy jej unikalną nazwę (np. na zasadzie nazwa_obiektu-nazwa_akcji)
  3. przygotowujemy klatki kluczowe animacji:
    1. w "Action Editor" przesuwając zielony wskaźnik ustawiamy numer klatki animacji
    2. w "Pose Mode" ustawiamy kości a następnie zapisujemy ramkę poprzez [Pose] -> [Animation] -> [Insert Key Frame...] (alternatywnie [i]) i wybranie co ma zostać zapisane (np. whole character)
    3. ponawiamy dwa poprzednie kroki dla kolejnych ramek
    4. manipulując markerami klatek kluczowych dla poszczególnych atrybutów poszczególnych kości w "Action Editor" możemy dokonywać korekt przygotowywanej animacji
  4. w oknie "NLA Editor":
    1. w lewym panelu klikamy podwójną strzałkę w dół przy utworzonej akcji aby dołączyć animację do ścieżki
    2. w głównej sekcji naciskamy [g] i umieszczamy utworzony strip tak aby nie kolidował z innymi dla danego obiektu (bez względu czy są czy nie na tej samej ścieżce)
    3. w prawym panelu w sekcji "Active Strip" ustawiamy (nieunikalną) nazwę animacji, której będziemy używać w Ogre
    4. w prawym panelu w sekcji "Action Clip" możemy zmienić animację podłączoną do aktualnego stripa, użyć tylko fragmentu animacji, zmienić jej prędkość
    5. zaznaczone stripy i ścieżki możemy usuwać przy pomocy [x]
  5. wracamy do kroku 2 dla kolejnej animacji (w "Action Editor" możemy kopiować i np. odbijać w czasie wcześniej przygotowane animacje, co jest przydatne przy tworzeniu animacji zamknij/otwórz)

Eksport do Ogre

  1. Należy pobrać i zainstalować odpowiednią do posiadanej wersji blendera wtyczkę "blender2ogre" - http://code.google.com/p/blender2ogre/, https://bitbucket.org/cc8192/blender2ogre/src (plik io_export_ogreDotScene.py)
  2. Warto rozsądnie nazwać eksportowane mesh'e i materiały.
  3. Warto jest stosować manualnie przygotowaną biblioteczkę materiałów w formacie Ogre, a w Blenderze używać niezależnie im podobnych o takich samych nazwach. Eksportery słabo sobie radzą z materiałami.
  4. Obiekty które chcemy mieć w postaci pojedynczego mesh'a należy scalić ([Object] -> [Join]) do postaci pojedynczego mesha w blenderze. Przed scaleniem należy:
    1. w przypadku obiektów linkowanych należy je rozlinkować - w tym celu po ich zaznaczeniu należy wybrać [Object] -> [Make Single User] -> [Object & Data]
    2. zaaplikować modyfikatory poprzez "Apply" w zakładce "Modifiers" w oknie "Properties"
    3. zaaplikować skalowanie [Object] -> [Apply] -> [Scale]
  5. Należy zaznaczyć obiekty do wyeksportowania i wybrać [File] -> [Export] -> [Ogre 3D (.scene and .mesh)]
  6. Jeżeli chcemy móc składać animacje (np obrót ramienia i opuszczanie z niego liny) to należy zaznaczyć "Only Animated Bones"
  7. W uzyskanym pliku .scene należy dodać sekcje <environment> i ew. <terrain>
  8. Jeżeli materiał jest całkiem czarny należy w jego konfiguracji skorygować wartość ambient (aby była nie zerowa)

Alternatywnie do eksportu mesh-y można użyć https://code.google.com/p/torchlight-to-blender/. Jako że osobne mesh'e blenderowe eksportuje jako submesh'e Ogre bez uwzględniania przesunięć ustawionych w trybie obiektowym, przy jego użyciu nie trzeba łączyć obiektów blenderowych, ale trzeba zaaplikować także ich obroty ([Object] -> [Apply] -> [Rotation]) i położenia ([Object] -> [Apply] -> [Location]). Ten eksporter także (chyba jeszcze większe) ma problemy z eksportem materiałów.

Import z Ogre

Import z Ogre do Blendera umożliwia https://code.google.com/p/torchlight-to-blender/ (nie importuje animacji, ale kości i grupy vertexów tak). Przy imporcie (tak jak i przy eksporcie) ma problemy z materiałami.

Linki

Zobacz w Sieci: Twoja pierwsza animacja w 30 plus 30 minut część I, Podstawy modelowania - Blenderownia v6.0, Drewniane koło (podstawy modelowania) - Blenderownia v6.0, Różne materiały na jednym obiekcie - Blenderownia v6.0, Neonówka - Blenderownia v6.0, Blender 3D: Blending Into Python, Blender 3D: Noob to Pro.



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/usage_and_config/multimedia/blender) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2015-11-05 21:46:48 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).