arev Napisano 6 Kwiecień 2012 Napisano 6 Kwiecień 2012 Pomnóż przez 2, zaokrąglij do int, podziel przez 2 :]
Monio Napisano 11 Kwiecień 2012 Napisano 11 Kwiecień 2012 (edytowane) Pomocy. :( Unity szaleje ze zwielokrotnianiem polycountu do nieprzyzwoitych ilości. Mam na ekranie obiekt który ma około 3 tysięcy vertów (w blenderze i inspektorze unity jest ok) a unity pokazuje nawet 30 tysięcy vertów w statystykach grafiki. Jeden direct light, obiekt bez uv, standardowy materiał z unity, ustawienia grafy w unity na fastest. Ja rozumiem że seamy i hardedge dublują werty ale nie ma możliwości żeby 3k trisów wyprodukowało 30k vertów. Guglałem temat ale wszędzie albo piszą oczywiste rzeczy o seamach albo o ustawieniach iphona, my robimy gre na webplayer. Ma ktoś jakieś pomysł? Po odpaleniu nowego projektu w unity cube ma 12 tris i 24 verty. W naszym projekcie cube ma 280 trisów i 480 werteksów. Na scenie na której mamy trochę planeów i z 15 obietków po 1k tri pokazuje nam pół miliona trisów a karta grafiki się grzeje. WHY!?! :( ------------------------------------------------------------------------------ Winowajca się odnalazł. Tak jakby ktoś miał kiedyś z tym problem to podpowiem że całe zamieszanie przez Blobshadow. W unity free które nie ma sensownego batchowania każdy blob jest traktowany jak oddzielny renderpass całej sceny. Dlatego zmultipikowało nam geometrie i statystyki grafy oszalały. Bez unity pro nie polecam z blobami szaleć. ;) Edytowane 13 Kwiecień 2012 przez Monio
woyoooo Napisano 14 Kwiecień 2012 Napisano 14 Kwiecień 2012 Siema. Próbował ktoś z was sprzedawać assety w unity asset store?
PIraT Napisano 20 Kwiecień 2012 Napisano 20 Kwiecień 2012 Cześć, mam takie małe pytanie - czy ktoś wie może jak wyexportowac do unity vertex painting, a następnie przypisać odpowiednie texturki? Generalnie to potrzebuję jakoś otexturowac(kilkoma mieszającymi się texturami) mesh terenu. Czyli generalnie coś jak landscape tylko na static meshu. Pozdrawiam
Gość Chrupek3D Napisano 4 Lipiec 2012 Napisano 4 Lipiec 2012 da się użyć color na channel UV1 i normal mape na channel UV2? Z tego co się zdążyłem zorientować, Unity czyta 2 kanały UV dla materiału Lightmap, a ja potrzebuje normalmapy. no chyba, że ktoś poradzi... mam ostre krawędzie w obiekcie i jak wiadomo, trzeba w tym miejscu rozciąć UV, żeby się normalka ładnie wypaliła. Problem w tym, że takiego pociętego ciężko jest pokolorować.
arev Napisano 4 Lipiec 2012 Napisano 4 Lipiec 2012 Da się. Musisz najpierw wczytać dwa sety UV w shaderze: BindChannels { Bind "texcoord", texcoord0 Bind "texcoord1", texcoord1 } a potem, w SetTexture użyć tekstur w takiej kolejności w jakiej chcesz żeby korzystały z tym kanałów. Tutaj standardowo najpierw diffuse, potem normal. Jak coś więcej potrzebujesz to już nie pomogę, bom niezbyt biegły w shaderach.
Gość Chrupek3D Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 zaanimowałem Croko w Unity i lecę dalej. Jakby ktoś chciał potestować i napisać parę słów to zapraszam. http://www.patart.com.pl/croko.html standardowo: A, W, D, S i myszka.
kotisded Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 świetny ten krokodyl, tylko tekstury na boxach mi nie leżą ;)
plutko Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 A mnie animacja nie przekonuje... nie dalo sie czegos lepszego z nogami wymyslec?
Gość Chrupek3D Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 no właśnie ciężko, bo ma te łopaty wielkie jak cholera. Mogę spróbować dać subtelniej bez zawijania do tyłu, ale wtedy będzie biegał jak panienka.
Karkosik Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 I SPACJA SKOK!! Chrupek mega animacja. Ten latający pysk niszczy :D Nieco sie slizga/pływa. Ale mysle ze jakby były cienie i cała otoczka to by osiadł. Nie zmienia to faktu że wygląda to świetnie. Ps. A te boksy faktycznie słabą teksture mają ;) Howgh!
Miłosz3ds Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 Racja, stópki trzeba dopracować. Ale i tak jest miazga! :D Ale musisz jeszcze popracować trochę, wszedłem na samą górę wieży, skoczyłem na dół i nic :/ :P
Monio Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 Sam model bardzo mi się podoba. Chodzenia całkiem dobra ale trochę nie czuć że on po czymś stąpa. Za to mechanika ruchu i skoku jest fatalna, wszystko do wymiany. Domyślam się że tymczasowo to tak ma działać rajt? Ruch postaci w platformerach to cholernie trudne zagadnienie ale chyba najważniejsza sprawa gameplayu. Zrób kilka prototypów a wszystkie parametry takie jak szybkość ruchu czy animacji, wysokość skoku czy prędkość obracania na początek poustalaj sobie na zmiennych przełączanych z poziomu gierki. Jak zbierzesz feedback z kilku playtestów to sobie zhardcodujesz jak będzie trzeba albo po prostu wywalisz Gui do przełączania. Jak robisz takie demka to dodaj opcje żeby się klikało na grę i kursor znikał, bez tego jest straszna dezorientacja, mimo ze nie klikam w grze to mam wrażenie ze zaraz wyłączę przeglądarkę albo omyłkowo wejdę w zakładki i odpale redtube. Gotowy skrypt jest gdzieś na forum unity. Własnie. Tez wlazłem na samą gorę wieży i nie dostałem nic w nagrodę. Liczyłem na model z logo max3d czy coś. Nagradzaj gracza, to podstawa! :(
Gość Chrupek3D Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 dzięki Panowie, animacja skoku była zupełnie inna, ale z tego co podejrzałem orginalny character z Unity miał animacje skoku do połowy, a powrót sam sobie robił... dlatego to tak dziwnie wygląda. zrobiłem updata, dałem statycznych wrogów i muzykę, która pasuje jak pięść do nosa, ale jest moja ;) Ja się dopiero uczę Unity, a w kodowaniu jestem dętka, więc to raczej graficznie rozwinę. Monio, a wiesz, ze chciałem zrobić to logo maxa3d na górze :-) http://www.patart.com.pl/croko.html
Miłosz3ds Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 Ej chłopaki, nie ma co wchodzić jeszcze raz na górę, nadal pusto! prosiątko śliczne! :)
Monio Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 (edytowane) Dobrą muzę robisz. :) Model świaniaka bardzo przedni, mysza trochę ostaje od reszty ale też spoko. Zmieniłeś coś w ruchu postaci? Teraz silniej czuć bunnyhoping i trudniej mi wejść na wieże, może to tylko wrażenie. Jak w kodowaniu dętka jesteś to znajdź jakiegoś kodera do zespołu. W unity bez kodu raczej nic sensownego się nie zrobi. Aha. Jak robisz schody to niech ich strefa kolizji będzie jednym boxem który jest ustawiony pod kontem natomiast sam model niech się po prostu wyświetla. Zazwyczaj tak się to robi. Ponownie się wdrapałem i kolejny zawód. Mogłeś jednego przeciwnika tam chociaż postawić. :( Edytowane 25 Lipiec 2012 przez Monio
Gość Chrupek3D Napisano 25 Lipiec 2012 Napisano 25 Lipiec 2012 no to dodałem troszkę zieleni i kamieni (nie moje)... i biorę się za animacje reszty stworaków. Dzięki za komenty Panowie. http://www.patart.com.pl/croko.html
Idaho Napisano 26 Lipiec 2012 Napisano 26 Lipiec 2012 Witam Istnieje możliwość zobaczenia gdzieś tego ? Linki przestały działać a bardzo chciałem zobaczyć owoce pracy. Pozdrawiam.
Gość Chrupek3D Napisano 26 Lipiec 2012 Napisano 26 Lipiec 2012 (edytowane) proszę, już wrzucam: http://www.patart.com.pl/croko.html ps. dzięki m.in Twojej pomocy zrobiłem rig i animacje w Blenderze, pozostawiając CAT'a i 3dsmax'a w spokoju... dzięki bogu :-) Edytowane 26 Lipiec 2012 przez Chrupek3D
floo Napisano 26 Lipiec 2012 Napisano 26 Lipiec 2012 Chrupek3D bravo! bardzo mi się podoba... a to na dowód: Daj znać jak coś. ;) To usunę.
Gość Chrupek3D Napisano 27 Lipiec 2012 Napisano 27 Lipiec 2012 (edytowane) nie no spoko... wrzuciłem próbnego enema, którego zaanimowałem wieczorem: http://www.patart.com.pl/croko.html to ostatni update, wiesz... lepiej za dużo nie pokazywać :-) Edytowane 27 Lipiec 2012 przez Chrupek3D
Idaho Napisano 27 Lipiec 2012 Napisano 27 Lipiec 2012 Witam Bardzo fajnie wyszło. Postacie mają swój styl i charakter, kolorystycznie - bajkowo. Teraz pozostał Ci już tylko enviroment :) Jeśli można to mam parę pytań ogólnych: 1. ile mniej więcej poza postaciami przewidujesz assetów (widziałem kamyki, drzewka) na ten projekt ? 2. zakładasz "otwarty" level gdzie postać poruszać się będzie z pkt A do pkt B jak w yoFrankie czy raczej stawiasz na zamkniętą arenę gdzie po wykonaniu kilku zadań przechodzisz do następnego etapu jak np w Goblins ? 3. Nastawiasz się tylko na przeglądarkę czy również masz zamiar wydać na androida i ios-a? Pozdrawiam
Gość Chrupek3D Napisano 27 Lipiec 2012 Napisano 27 Lipiec 2012 Przepraszam, że nie udzielę informacji... I tak pokazałem już za dużo ;) Pozdrawiam
nihilplures Napisano 30 Lipiec 2012 Napisano 30 Lipiec 2012 Niedawno powstała nowa polska stronka na temat Unity: http://unity3ddev.net/ - community oparte o ten sam mechanizm co UDKdev.net . Społeczność dopiero się rozwija, ale już teraz należą do niej osoby posiadające komercyjne doświadczenie z silnikiem Unity3D i grami na urządzenia mobilne. Zapraszam :)
Gość Chrupek3D Napisano 1 Sierpień 2012 Napisano 1 Sierpień 2012 mieliście taki problem w Unity, że postaci stojącej na ziemi lekko "drżą" nogi? W Blenderze jest wszystko ok., a po eksporcie do Unity, widać, że postaci lekko drgają stopy, tak jakby było FK, zamiast IK - chociaż wszystko już sprawdziłem. Możliwe jest, że to skinowanie szwankuje?
Monio Napisano 1 Sierpień 2012 Napisano 1 Sierpień 2012 A masz na tych stopach jakiś locomotion system czy inne cuda na kiju? Jak tak to wyłącz i olej temat bo to zjada żarłocznei pochłania zasoby a efekty są słabe. Jak to czysta animka to obstawiam że kolider nie wyłapuje pozycji gruntu bo jest za wysoko i ci się pierniczy blending animacji (idle w powietrzu).
Gość Chrupek3D Napisano 1 Sierpień 2012 Napisano 1 Sierpień 2012 (edytowane) znaczy, nie używam żadnego systemu, ot prosty rigify z Blendera przerabiam na fbx, a w Unity nawet nie blenduje animacji, bo na razie nie wiem jak :-) Zobacz jak to wygląda... nie mam pomysłu [5MB] www.patart.com.pl/rzaba.mp4 ps. stawiałem ją ponad gruntem i jest to samo. Całkiem przypadkowo znalazłem na szafie zakurzonego 3dsmax'a i z niego fbx też działa tak samo ;) W nim jest ok w Unity d... blada. Czyli problem trzęsawki to problem Unity. Edytowane 1 Sierpień 2012 przez Chrupek3D
nihilplures Napisano 1 Sierpień 2012 Napisano 1 Sierpień 2012 Chodzi o to, że tak lekko końcówki palców stóp huśtają się rytmem animacji?
nihilplures Napisano 1 Sierpień 2012 Napisano 1 Sierpień 2012 Wydaje mi się, że źródłem może być mniejsza precyzja odtwarzania takiej animacji i zaokrąglenia jakie tam zachodzą (może jakaś niedokładność przy eksporcie). Z daleka tego nie widać, ale może dałoby się to wyeliminować posługując się animacjami tworzonymi w Unity - jest tam bardzo podobne narzędzie.
Gość Chrupek3D Napisano 2 Sierpień 2012 Napisano 2 Sierpień 2012 znaczy, korygować te nogi przy pomocy krzywych w Unity, dobrze zrozumiałem?
arev Napisano 2 Sierpień 2012 Napisano 2 Sierpień 2012 Spróbuj przestawić ilośćkości wpływających na jeden vertex w SkinnedMeshRendererze, ew. przejrzyj opcje importu pliku, może coś się tam próbuje optymalizować.
nihilplures Napisano 2 Sierpień 2012 Napisano 2 Sierpień 2012 znaczy nie skorygować - zrobić na bazie. To jak byłby skeletal.
ledyr Napisano 2 Sierpień 2012 Napisano 2 Sierpień 2012 Pytanie za sto punktów ponizej :D Wprowadzenie: mam kilka cube'ow ktore sa trigerami.(maja tagi ktore zczytuje skrypt na postaci i odgrywa animacje) rozstawielm je w odleglosci mniej wiecej co pare metrow Problem: kilka trigerow dziala kilka nie dziala ( w sensie ze w ogole nie sa czytane jako trigery. debug.log nie pokazuje) a jak jakis przesune to kolejnosc działania sie zmienia... WTF?
arev Napisano 2 Sierpień 2012 Napisano 2 Sierpień 2012 Pokazałbyś kod lub wrzucił gdzieś scenkę. Tak na sucho ciężko, ale pewnie coś źle zrobiłeś :D
nihilplures Napisano 3 Sierpień 2012 Napisano 3 Sierpień 2012 Sprawdź czy mają komponent collider i czy na colliderze jest odpowiedni tag. Nie wiem jak wygląda ten skrypt, ale może trzeba go dodać do obiektu gry na tego cuba. Jeśli cuby mają takie same ustawienia to tak samo powinny działać, chyba że to wina skryptu.
Gość Chrupek3D Napisano 3 Sierpień 2012 Napisano 3 Sierpień 2012 dzięki chłopaki, udało się... chodziło właśnie o te zaokrąglenia przy exporcie. Nie odznaczyłem opcji optymizacji w Blenderze, natomiast odznaczałem ją w Unity... ale jak wiadomo było już po jaPkach, bo Blender zrobił swoje. Dzięki serdeczne :-)
nihilplures Napisano 3 Sierpień 2012 Napisano 3 Sierpień 2012 do usług, w razie czego na http://unity3ddev.net/ jest mnie więcej :)
ledyr Napisano 3 Sierpień 2012 Napisano 3 Sierpień 2012 na 95% cos zrobilem zle , pewnie gdzies jakiegos okienka nie klinalem :D properties boksika (triggera z tagiem): properties playera: podglad kolizji na wszeli wypadek: kodzik (mam tu rowniez sterowanie i inne rzeczy polaczone): var jumpForce:float; var gravity:float; var runButton: GUITexture; var ArrowUp: GUITexture; var ArrowDown: GUITexture; private var charController:CharacterController; private var charTransform:Transform; private var gravityFall:float = 3; private var speed:float; // stany private var running:boolean = false; private var flying:boolean = false; // is not grounded private var idle:boolean = true; private var jumping:boolean = false; private var sliding:boolean = false; private var specialAnimation:boolean = false; // special animations private var runningStairs:boolean = false; private var climbLow:boolean = false; private var climbMedium:boolean = false; private var climbHigh:boolean = false; function Start () { // set speed to 0 so game is "paused" charController = GetComponent(CharacterController); animation.CrossFade("idle"); speed = 0; } //********************************** // // SPECIAL ANIMATION TRIGGERS // //********************************** function OnTriggerEnter (triggers : Collider) { charController = GetComponent(CharacterController); if(triggers.gameObject.tag =="stairsStart") { specialAnimation = true; runningStairs = true; Debug.Log("trigger stairs"); } if(triggers.gameObject.tag =="climbLowStart") { specialAnimation = true; climbLow = true; Debug.Log("trigger climb low"); } if(triggers.gameObject.tag =="climbMediumStart") { specialAnimation = true; climbMedium = true; Debug.Log("trigger climb medium"); } if(triggers.gameObject.tag =="climbHighStart") { specialAnimation = true; climbHigh = true; Debug.Log("trigger climb high"); } if(triggers.gameObject.tag =="runningStart") { specialAnimation = false; runningStairs = false; climbLow = false; climbMedium = false; climbHigh = false; animation.CrossFade("run"); Debug.Log("trigger running"); } } function Update () { charController.Move(transform.right * -speed * Time.deltaTime); if(!sliding) { charController = GetComponent(CharacterController); charController.height = 3; charController.center = Vector3 (0, 1.6, 0); } // if pawn is grounded then he is NOT in flying state if(charController.isGrounded) { flying = false; } // pawn is in flying mode if(!charController.isGrounded && !jumping && !flying) { charController.Move(transform.up * gravityFall * Time.deltaTime); gravityFall -= gravity; } //************************* // // Keyboards controls for testing // //************************* // start running mode and unpause the game if(Input.GetButtonDown("Horizontal")) { Destroy(runButton); speed = 8; running = true; sliding = false; flying = false; jumping = false; idle = false; } if(running && !specialAnimation) { animation.CrossFade("run"); } //sliding keybard if(Input.GetButtonDown("down") && !flying && !jumping && !sliding) { sliding = true; flying = false; jumping = false; running = false; idle = false; // zmniejsza kolizje postaci charController = GetComponent(CharacterController); charController.height = 1.8; charController.center = Vector3 (0, 1.1, 0); } if(sliding) { speed = 8; animation.CrossFade("slideLoop"); } // jumping KEYBOARD if(Input.GetButtonDown("up") && !flying && !jumping) { gravityFall = jumpForce; flying = true; jumping = true; sliding = false; running = false; idle = false; animation.Play("jumpStart"); animation.PlayQueued("jumpLoop", QueueMode.CompleteOthers); } if(jumping) { charController.Move(transform.up * gravityFall * Time.deltaTime); gravityFall -= gravity * Time.deltaTime; if(charController.isGrounded) { jumpHighLanding (); } } //******************************* // // stany do specjalnych animacji // //******************************* if(runningStairs && charController.isGrounded) { animation["runningStairs"].speed = 3; animation.CrossFade("runningStairs"); } if(climbLow) { animation.CrossFade("climbLow"); } if(climbMedium) { animation.CrossFade("climbMedium"); } if(climbHigh) { animation.CrossFade("climbHigh"); } } function jumpHighLanding () { animation.wrapMode = WrapMode.Once; animation.CrossFade("jumpEndHigh"); jumping = false; flying = false; sliding = false; idle = false; gravityFall = 0; // waits for 1 second yield WaitForSeconds (1); running = true; } jakby tam cos poza tym glownym problem bylo dziwnego w kodzie to dajcie znac, toc jestem grafikiem ^^
arev Napisano 3 Sierpień 2012 Napisano 3 Sierpień 2012 Na pierwszy rzut oka obstawiałbym nieporozumienie pomiędzy CharacterControllerem a Rigidbody. Właściwie to używanie obu jest trochę bez sensu. CharacterController jest po to by się poruszać nie przechodząc przez collidery bez grzebania się w fizyce RB. Z kolei jeśli chcesz żeby postać wywierała fizyczny wpływ na elementy otoczenia to lepiej przenieść wszystko do rigidbody, dodać sobie jakieś constrainy i posiedzieć nad płynnym poruszaniem. Teraz rigidbody może mieć problem z załapaniem collidera z CharacterControllera jako swojego. Spróbuj zostawić tylko jeden z tych komponentów.
ledyr Napisano 3 Sierpień 2012 Napisano 3 Sierpień 2012 wczeniej nie mialem rigidbody a byl ten sam problem wiec poszukalem cos w internecie i pisali wlasnie zeby dodac rigidbody ale to nie pomoglo. to moze jakis inny pomysl jak napisac zeby automaycznie wskakiwal na przeszkody z animacja i wchodzil sam po schodam?
nihilplures Napisano 4 Sierpień 2012 Napisano 4 Sierpień 2012 Co do kodu proponuję skorzystać z C# - mniejsze prawdopodobieństwo zrobienia sobie buby przez drobne błędy (w C# kompilator dba żeby nie zrobić literówki i nie tylko). Dodatkowo takie serie IFów lepiej zastąpić switch casem, jeśli to możliwe, w przeciwnym wypadku konstrukcjami else if. Myślę, że kod w OnTriggerEnter w pewnych przypadkach nie zachowuje się tak jakby autor się spodziewał. Przechodząc bardziej do sedna sprawy, prawdopodobnie skrypty i rigidbody nie mają tu znaczenia. Obiekty można sobie suwać w edytorze podczas testowania i przy kolizji jakiś event powinien się wykonać. Na screenie widać capsule collider. Ponieważ nie widzę go w propertisach obiektu pewnie jest tworzony dynamicznie. Możliwe, że też pełni rolę triggera. Bardziej jednak prawdopodobne, że ma przypisany tag, który nie zachodzi w kolizję z Twoim tagiem. Do wywołania triggera wymagany jest collider i muszą mieć tagi które się "nie ignorują".
arev Napisano 4 Sierpień 2012 Napisano 4 Sierpień 2012 (edytowane) @nihilplures: CapsuleCollider pochodzi z CharacterController, a kolizje są liczone na layerach, nie na tagach, więc chyba nie tu kłopot. @ledyr: To może spróbuj tak: Zostaw CharacterControllera do poruszania się, stwórz mu dziecko z Triggerem, Rigidbody i prostym skryptem, który będzie badał kolizje i wysyłał dane do PawnController. Edit: możesz jeszcze dodać dodatkowy trigger Collider do samego Character Controllera, ale musiałbyś pokombinować trochę z layerami, żeby nie dostawał OnTriggerEnter z kolizji z samym CharacterControllerem (to chyba w sumie łatwiejszy sposób). Edytowane 4 Sierpień 2012 przez arev
nihilplures Napisano 4 Sierpień 2012 Napisano 4 Sierpień 2012 @arev: mój błąd, chodziło mi o layery - późna pora była. W moim poście należy zamienić słowo tag na layer.
StK Uriziel Napisano 6 Sierpień 2012 Napisano 6 Sierpień 2012 Panowie ma pytanie czy unity obsługuje w jakiś normalny sposób specular mapy, bez konieczności pisania własnych shaderów ?
arev Napisano 6 Sierpień 2012 Napisano 6 Sierpień 2012 No jest przecież cała masa wbudowanych shaderów obsługujących speculara (zwykle jako kanał alfa w teksturze diffuse).
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się