Unity Manual User Guide Asset Import and Creation Meshes

Modele 3D (Modele trójwymiarowe)

U podstaw każdej gry tworzonej w technologii 3D są Modele 3D - obiekty składające się z trójkątów, pokryte teksturami .

Siatka modelu w „Unity” jest najważniejszym elementem renderowania. Chociaż może występować wiele odmianMesh Renderer is the most commonly used.

jest to narzędzie bardo przydatne jeśli chcemy pokazać swój innym osobom. Render wyświetla siatkę na obiekcie (GameObject). Wygląd siatki jest kontrolowany przez mechanizm renderujący.Materials.

meshes-0.jpg

A Mesh Filter a takżeMesh Renderer sprawia, że model pojawi się na ekranie.

Modele 3D

Modele trójwymiarowe stanowią dużą część światów w grach. Nie tworzymy swoje siatki w „Unity”, ale w innej aplikacji (takiej jak Wings 3D, 3D Studio Max czy Blender). W Unity, zrobiliśmy wszystko co w naszej mocy, aby uczynić ten proces jak najprostrzym. Istnieje wiele szczegółów, ale poniższe strony powinny rozwiązać większość problemów z pakietami do grafiki 3D:

Maya Cinema 4D 3ds Max Cheetah3D Modo Lightwave Blender

Inne aplikacje

„Unity” czyta formaty:. FBX , .Dae (Collada), .3DS,. DXF oraz pliki .obj, więc jeśli twój program może eksportować do tego formatu to w takim razie jesteś w domu. „Pluginy” do eksportu do formatu .FBX dla popularnych pakietów 3D można znaleźć here. W wielu pakietach dostępny jest eksport do formatu (Collada).

Textures

„Unity” będzie próbował podłączyć materiały importowanych scen automatycznie. Aby skorzystać z tej opcji, umieść tekstury w folderze „Textures” obok pliku naszej sceny, lub w dowolnym folderze nad nim.

meshes-1.jpg

Ustawienia importowania

Aby przejść do ustawień Importujemy do pliku 3D obiekt, zaznaczamy go, gdy to zrobimy pojawią się odpowiednie opcje.

meshes-2.jpg

The Mesh Import Settings dialog

3DS Max.Jeśli opcja jest włączona zimportjemy plik 3dsMax wskali: Jedna jednostka skali 3DS Max = Jedna jednostka skali „Unity”, w przeciwnym razie importuje jako: 1cm w 3DS Max = 1 Jednostka skali „Unity”, Efektem tego będzie mniejszy rozmiar obiektu, ale także mogą wystąpić błędy. Najlepiej aby każdy obiekt był jak najmniejszy (oczywiście dopasowamy do reszty), Jest to przydatne do optymalizacji rozmiaru gry . Jeśli Generowanie „CollidersIf” jest włączone, to nasze modele będą importowane ze „zderzaczy obiektów” automatycznie przy włączeniu. Jest to przydatne do szybkiego generowania siatki kolizji dla geometrii środowiska, ale należy unikać geometrii będącej w ruchu. Więcej informacji o colliderach znajdziesz poniżej. Jeśli Zamieniając „UVsUse” źle zmapujemy światło (źle ustawimy „lightmapped”) wtedy obiekty będą miały złe kanały UV. Będzie to zamiana pierwotnych i wtórnych kanałów UV. Generowanie „lightmap” i „UVsUse” to stworzenie UV2 do wykorzystania „Lightmappingu”. Zaawansowane ustawienia widoku UVS (dokumenty Lightmappingu) . Normalne i Styczne Cefinicje pokazują czy i w jaki sposób należy obliczyć normalne. Jest to przydatne do optymalizacji rozmiaru gry . Te opcje jeszcze bardziej to ułatwiają: ImportDefault. Import normalny z pliku. CalculateCalculates opcja oparta na wygładzaniu kątów. Jeśli jest zaznaczona, Wygładzanie Kątów staje się aktywne .NoneDisables wykorzystaj tę opcję jeśli siatka nie jest ani normalne, ani mapowo nie wpływa w czasie rzeczywistym no oświetlenie oświetlenia. TangentsDefines pokazuje czy i w jaki sposób „styczne” i „binormals” powinien być liczony. Jest to przydatne do optymalizacji rozmiaru gry . Ta opcja jest dostępna tylko dla FBX, Maya i 3dsmax i tylko wtedy, gdy normalne są importowane z pliku. Opcja CalculateDefault oblicza „styczne” i binormals. Ta opcja jest dostępna tylko wtedy, gdy normalne są albo importowane albo obliczane. Jeśli włączymy NoneDisables „styczne” i binormals to wtedy siatka nie będzie miała żadnych „stycznych”, więc nie będzie działać z shaderami normalnie zmapowanymi. Wygładzanie AngleSets jak ostry brzeg ma być traktowane jako twarda krawędź. Jest również stosowany do podziału normalnych stycznych map. dzielenie TangentsEnable to normalne oświetlenie mapy przez co jest podzielona przez „szwy” na swojej siatce. To zwykle odnosi się tylko do postaci. Materiały GenerationControls opisują jak materiały są generowane: OffThis nie będzie generować materiały w ogóle. Per TextureEnable służy do generowania plików materialnych w pobliżu znalezionych plików (tekstur). Po włączeniu różnych scen będą dzielić te same ustawienia materialne, aby korzystać z tych samych tekstur. Dla precyzyjnych reguł, zobacz Generator Materiałów (poniżej). PerMaterialThis wygeneruje materiały na scenie, więc tylko ta scena ich używa. Animacje GenerationControls pokazują jak animacje są importowane: Nie wyświetlają jak animacja nie importuje skórek. Przechowywane w oryginałach „RootsAnimations” są przechowywane w obiektach „korzeniowych” pakietu animacji (mogą one być różne od obiektów głównych w Unity). Przechowywane w NodesAnimations są przechowywane razem z obiektami które są animowane. Użyj tego gdy masz skomplikowany konfigurator animacji i chęć pełnej kontroli skryptów. Przechowywane w RootAnimations są przechowywane w scenie jego obiekty transformacji „korzeniowych”. Jeśli użyjesz tej opcji to ona nic nie ożywi lecz AnimationsWhen z pomocą IK lub symulacji w pakiecie animacji może to umożliwić. Unity będzie konwertować z FK na import. Ta opcja jest dostępna tylko dla Maya, 3dsMax i Cinema4D. Animacja „Wrap default mode” to tryb zawijania do animacji w model będący w AnimationsIf które importuje dzielenie wtedy masz kilka animacji w jednym pliku, tutaj możesz podzielić ją na kilka klipów. NameName z animacji dzielonej to klip ramy StartFirst tego klipu w pliku modelu ramy EndLast tego klipu w WrapModeWhat plik modelu klipu podział robi kiedy koniec animacji zostanie osiągnięta pętla zależności jak animacja powstała, jedna dodatkowa klatka animacji może być wymagana dla klipu podzielonym na pętle prawidłowo. Jeśli zapętlanie animacji nie wygląda prawidłowo, spróbuj włączyć tę opcję. Animacja kompresji Anim Typu CompressionWhat kompresje będą miały zastosowanie do tej siatki w animacji (S) kompresja animacji OffDisables. Oznacza to, że Unity nie zmniejsza klatki kluczowej licząc na import, co prowadzi do bardzo precyzyjnych animacji, ale zmniejsza wydajność i plik będzie większy a gra będzie potrzebować więcej pamięci. Nie zaleca się skorzystać z tej opcji - jeśli potrzebujesz większej precyzji animacji, należy włączyć ograniczenie klatek kluczowych i niższych dopuszczalnych wartości kompresji animacji błędu zamiast Keyframe ReductionReduces klatki kluczowej na import. Jeśli jest zaznaczone, błędne Opcje Animacji kompresowanych są wyświetlane. Keyframe Redukuje i kompresuje zmiejszając klatek kluczowych na imporcie i kompresuje klatki kluczowe podczas zapisywania animacji w plikach. Dotyczy to tylko rozmiar pliku – Czas i wielkość pamięci jest takie samo jak redukcja klatki kluczowej. Jeśli jest zaznaczone, błędy Animacja Opcje kompresji są wyświetlane. Opcje kompresji animacji ErrorsThese są dostępne tylko wtedy, gdy redukcja klatki jest włączona. Obrót definiuje błędnie ile krzywe rotacji powinna zostać zmniejszona. Im mniejsza wartość używasz - większa precyzja dostajesz .Pozycja ErrorDefines pokazuje o ile krzywe pozycji powinna zostać zmniejszona. Im mniejsza wartość używasz - większa precyzje dostajesz. Skala ErrorDefines wskazuje ile krzywe skala powinna zostać zmniejszona. Im mniejsza wartość używasz - większa precyzja dostać. Materiały generacji materiały znajdują się na podstawie następujących zasad: Unity pobiera nazwę głównego materiału rozproszonego, związanego z obiektów w scenie. Unity szuka materiału o tej nazwie w folderze o nazwie materiałów obok sceny. Unity powiększa foldery projektów, poszukuje materiału w każdym folderze materiałów wzdłuż drogi. Jeśli Unity nie może znaleźć materiałów, stara się stworzyć jedną z faktury: Unity kontroluje dla tekstury z poprawną nazwą w tym samym folderze co na scenie. Kontrole jedności tekstury z poprawną nazwą w folderze o nazwie tekstury obok sceny. Unity powiększa foldery projektów, poszukuje odpowiedniej tekstury w każdym folderze Textures wzdłuż drogi .Jeśli Unity znajdzie teksturę, tworzy materiały w folderze obok niego i tworzy materiał tam. unity_manual Unity posiada dwa główne rodzaje zderzaczy: są to collidery obiektów i prymitywne collidery. Zderzacze siatki są elementami, które używają importowanej siatki danych i mogą być wykorzystywane do kolizji środowiska. Po włączeniu generowane collidery w ustawieniach importu, obiekt zderzacz jest automatycznie dodawany kiedy siatka jest dodawana do sceny. Zostanie ona na stałe o ile system fizyki jest zaniepokojony. Jeśli przenosisz obiekt wokół (samochód na przykład), nie można używać modeli 3D do colliderów. Zamiast tego, będzie musiał użyć prymitywnych colliderów. W takim przypadku należy wyłączyć ustawienie Generuj collidery. Animacje są automatycznie importowane ze sceny. Więcej informacji na temat opcji importu animacji zobaczysz w rozdziale o Imporcie Animacji . Normalne mapowanie i znaki Jeśli masz znak z „normal mapą”, która zostały wygenerowana z wysokiego wielokąta wersji modelu, należy zaimportować grę jakości wersję z kątem wygładzania 180 stopni. Pozwoli to uniknąć dziwnie wyglądających szwów w oświetleniu z powodu stycznej podziału. Jeśli szwy są wciąż obecne z tymi ustawieniami, włącz dzielenie stycznych w całych szwach UV. Jeśli konwersja skali szarości obrau w jest w „normal mapie”, nie musisz się o to martwić.

Wzkazówki

Scalaj modele razem jak najczęściej. Dodawaj do nich materiały i tekstury. Ma to ogromne korzyści wydajnościowe. Jeśli trzeba skonfigurować obiekty dalej w Unity (dodawanie fizyki, skryptów i inne chłód), wybaw sam siebie świecie z bólu i nazwaj obiekty prawidłowo w aplikacji 3D. Praca z wieloma pCube17 lub Box42 podobnych obiektów nie jest zabawa. Spraw, by obiekty 3D koncertowały się na produkcji światowej w jej aplikacji 3D. W ten sposób łatwiej je umieścić w Unity. Redaktor Jedność pokazuje zbyt wiele trójkątów (w porównaniu do tego, co moja aplikacja 3D mówi) To prawda, Czego szukasz na to ilość trójkątów rzeczywiście wysłanych do OpenGLES dla renderingu. Oprócz przypadku, gdy coś takiego materiału wymaga ich wysłał dwa razy, innych rzeczy jak ciężko normalnych i nie ciągły wzrost UV vertex / liczy trójkąty znacząco w porównaniu do tego, co aplikacja do modelowania lub Unity powie. Trójkąty muszą być ciągłe zarówno w przestrzeni 3D i UV, tworząc pas, więc jeśli masz UV szwy, zdegenerowane trójkąty mają być wykonane do postaci pasków - to należy troszkę w górę ponieważ Unity źle liczy trójkąty. Ta została ustalona pierwszy w czasie działania, a ostatnio w edytorze. Teraz zarówno zgłosi odpowiednią ilość trójkątów * rzeczywiście * wysyłanych do OpenGLES dla renderingu. I jeszcze ja (Arigon) dodam coś od siebie - umieszczając tekstury w folderze „Textures” najlepiej jest ustawiać je wg. rozmiaru (od największej do najmniejszej) ponieważ zwiększa to wydajność.

Za błędy bardzo przepraszam.

Zajrzyj czasem

unity_manual/meshes.txt · ostatnio zmienione: 2012/09/30 11:39 (edycja zewnętrzna)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki