• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    BYDKUNITY 3D
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    MONKEYFIGHTER: dalo by se, ale ta 3rd party byla vyslovene "namrdame to tam aby to bylo jako "moderni" ui v xml popisu a prolinkujeme to sem a tam a...
    A bohuzel u unity bych se fakt bal, ze to bude, minimalne zpocatku, hruzny bastl. Unity a UI bylo dycinky peklo. To soucasne se... celkem da. Ale to bylo na principu, ze koupili autora jednoho z nejpouzivanejsich 3rd party (ngui) a delali to s nim, v ramci moznosti celkem dobre.
    (a hlavne dali ven sources, takze vsechny ty posery ktere dokazali spachat pri upadtech, ktere delaly dost total breaking veci, se daly spravit / zmodifikovat pro use cases, se kterymi vubec nepocitali (jako treba virtualni kurzory)
    MONKEYFIGHTER
    MONKEYFIGHTER --- ---
    SHIGORBIRDMAN: jasne no, to je muj nejvetsi otaznik asi, kdyz rikaji ze bude cely UI jeden drawcall tak me zajima co bude stat ten jeden drawcall vygenerovat.

    ale zas si rikam ze by predelali kompletne cely UI od zakladu a udelali z toho nejaku pazravou vec v momente kdy performance je jedna z veci co dostavaj nejvic sezrat a evidentne se snazej s tim neco pomalu ale jiste udelat?

    U 3rd party xml based UI se nedivim ze to bylo v prdeli protoze takovouhle 3d party vec imho neudelas bez brutalniho overheadu?
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    (je samozrejme mozny, ze nejakym kouzlem ten perf nebude zly, minimalne pro slozitejsi editory to bude super, protoze imgui a tabulka s par stovkama polozek... ehm..., ale fakt bych se toho hodne bal, po dlouholetych zkusenostech s tim, jak unity nektere veci bastli hlava nehlava...)
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    MONKEYFIGHTER: urgh... ne.
    aktualni runtime ui ma sve mouchy, ale aspon se s nim da rozumne delat / neni to totalni resource hog.
    (nejakou dobu jsem zkousel pracovat s 3rd party xml based UI, na stejnem systemu jako je ten elements, a po fazi prototypovani "ok, to by slo, byt je to v nekterych vecich blbe neohrabany" prisel naprosto neskutecny potrat terenniho jezka co se tyce performance a pamet a zase jednou na mobilech ui zralo vic nez zbytek hry...
    MONKEYFIGHTER
    MONKEYFIGHTER --- ---
    JAACOB: Nn muzes to animovat normalne z kodu, bud pres jejich predpripravenou funkcionalitu, ale zaroven kazdej UI element ma svoji c# reprezentaci kterou muzes animovat z kodu jak te napadne, kdyz na to budes chtit napojit animator tak muzes taky, ale tomu je stejne dobry se vetsinou vyhnout uz ve stavajicim UI.Co se particlu a sandwichovani 3D/2D tyce tak tam o tom mluvi, ale to jeste asi uplne dotazeny nemaj, typek se tam psal presne na to samy co pises a dostal trochu mlzivou odpoved - evidentne to uz ted nejak jde ale asi to bude zatim podobnej voprc jako se soucasnym UI, Nicmene to scalovani/flex UI podle gameobjectu a zpet to vypada ze maj vyreseny celkem dobre, ale to sem zatim nezkousel.

    PTSD z web developmentu mam taky takze trochu chapu, na druhou stranu jestli nekde uz zkousej dost dlouho jak rozumnym zpusobem popsat layout a vizualni props UIcka tak je to tam a soucasny unity UI je v porovnani s tim fakt tragicky. Ale je to teda vyhra asi hlavne pro lidi co to UIcko sazej no:)

    me teda hlavne zajima jak se to UIcko vlastne rendruje a pocita kdyz je nakonec jeden panel jeden drawcall, aby sme soucasny bottle necky UIcka ktery uz zname nevymenili za jiny novy bottle necky jinde ktery budou mozna ve finale vetsi vopruz. No nejaky bolehlavy budou urcite, to se nebojim:)
    2NDREALITY
    2NDREALITY --- ---
    je novy junity jenom prezentacka a nic neni implementovany jak ma?
    JAACOB
    JAACOB --- ---
    Ja mam osobne nejvetsi strach z provazani s kodem, ruznyma animacema a souzitim se zbytkem gameobjektu. V prednasce zminujou nejaky support pro tweening (nevim, jestli jsem to pochopil tak, ze to bude definice animacek primo v tom jejich USS podobne jak to podporuje web anebo jestli budem kodem ridit upravy toho USS?). Pak by me zajimalo jak dobre to bude fungovat pri vrstveni a nasledne hierarchii. Treba ted jsem resil neco, kdy pouzivam particly uprostred UI a hakoval jsem to pres sorting layery (background vespod, particly pres, front UI buttony apod. nad tim vsim). No a nakonec - kdyz bude treba rekneme vyresit inventar, kde bude muset byt nejakej flex container kolem spousty itemu, pritom ty childy budou muset byt 3D gameobjekty, u nich stitky v nejakych sub UI a ted budes muset resit, aby se ti treba parent scaloval podle rozlozeni a velikosti childu, ale protoze kombis gamobjekty a UI, tak jak se vyresi ta navaznost mezi master parentem a tema childama, kdyz to v ramci gameobjekt hierarchie bude muset byt rozvrstvene...

    Jako vypada to na demu hezky, ale jeste z toho taky asi vyplyne dost bolehlavu. :)
    W3R
    W3R --- ---
    To mam stejne a nakonec pokud to bude litat, mi to prijde vic namiste v runtime nez v editoru.

    Pro nejaky editor okna to je ok, ale doufam ze to nespadne do toho ze si kazdej autor (i internich) component udela custom inspektor UI po svym, protoze to najednou jde. Ne ze by to neslo v imGUI ale drzi to nejakou kulturu. Poprve me vydesilo i okno "services" kdyz jsem tam cuchal nejakej embedlej webview nebo co to vlastne je a proc to vypada jak vypada.
    JAACOB
    JAACOB --- ---
    MONKEYFIGHTER: me teda z toho CSS v Unity zkraje dost mrazilo (mam PTSD z web developmentu jeste :D), ale treba to nakonec bude dobry...
    MONKEYFIGHTER
    MONKEYFIGHTER --- ---
    Tohle asi nejsou uplne news, ale ja sem do ted cely UIElements trochu odignoroval s tim ze je to jenom pro editor a ted az zjistuju ze uz je v preview na tom postavenej celej novej UI Toolkit co se da pouzit normalne v runtime.

    ze by bylo v Unity konecne pouzitelny UI?

    Building UI for games with the new UI Builder - Unite Copenhagen
    https://www.youtube.com/watch?v=t4tfgI1XvGs
    TOMI
    TOMI --- ---
    Jinak kdo nezaznamenal, tak i premium tutorialy jsou ted na 3 mesice free kvuli Covidu... https://learn.unity.com/
    JAACOB
    JAACOB --- ---
    W3R: Vybornej point a bacha na to!
    Tady je to docela dobre popsane. Kazdopadne taky jsem paranoidni a nad gameobjektama a monobehaviours nepouzivam ? operatory, protoze kdyz uz se neco vysere, fakt kokotsky se to pak ladi. Pokud jde o cistej kod bez navaznosti na unity objekty, melo by to byt v pohode...

    Custom == operator, should we keep it? - Unity Technologies Blog
    https://blogs.unity3d.com/2014/05/16/custom-operator-should-we-keep-it/
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    jj, mam pocit ze ze zacatku platilo, ze pokud se ten operator pouzil u unityobject, ze to mohlo v nekterych pripadech hodit uz neplatny. netusim, jestli to unity pak nejak doresilo...
    W3R
    W3R --- ---
    stejne na to bacha, v pripade unity objektu. (vs s unity extensionou hlasi abyste to nepouzivali)
    souvisi to tim vrstvenim c# nad c++ enginem, null neni nutne reference na neexistujici objekt, je o tom dost popsano a ja to nebudu rozebirat protoze bych to musel znova nastudovat abych neplacal blbosti - sam to skrabu po povrchu, ale jde o to ze ty unity objektu maji pretizenou operaci == null, ale null conditional operator pritizit nelze (?) takze se to nechova stejne
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    jj, to retezeni je uzitecne - kod je pak kompaktnejsi. ja si to teda jeste furt nezvykl pouzivat. mimo jine proto, ze jsem donedavna obcas brousil v prehistorickem unity a pristi tyden do nej zas budu strkat nos
    SLASH
    SLASH --- ---
    SHIGORBIRDMAN: ah. prave som sa pozrel na null propagation a nie je to celkom to iste!

    ide o to ze pouzitim "?" operatora sa da dosiahnut to ze sa checkovanie zastavi hned pri prvom neexistujucom clene toho retazca. Cize hned to vyhodnoti ako null, bez toho aby vyhodilo chyby na dalsich castiach hierarchie objektov ktore tiez nebudu pritomne na neexistujucom objeckte.

    cize :
    var teacherName = classroom?.GetTeacher()?.Name;
    // teacherName is null if GetTeacher() returns null OR classroom is null

    co som si pri tomto teraz vsimol (a vyzera uzitocne) je ?? operator. Sprava sa velmi podobne ako trinarny, ale netreba tam davat explicitne tu podmienku (myVar == null) ? "hodnota ked je null" : "hodnota ked nie je";

    var teacherName = classroom?.GetTeacher()?.Name ?? "No Name";
    // teacherName will be "No Name" when GetTeacher()
    // returns null OR classroom is null OR Name is null
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    ?. operator je relativni novinka v c# a unity to neumelo (stejne jako dlouho neumelo jine modernejsi veci).

    je to proste syntakticky cukr, abys nemusel psat rucne if, proste napises ?. - prelozi se to naprosto identicky v obou verzich, ale ?. operator je kratsi a hezci
    SLASH
    SLASH --- ---
    KRYS: no to mi je samozrejme jasne ved presne to som tym kodom chcel aj dosiahnut,
    mna skor zaujima rozdiel medzi tymi dvoma zapismi.
    Preco Rider nebol spokojny s tou prvou formou (podciarkol mi ju oranzovou) a navrhoval mi pouzit "null propagation", ze v tom je presne rozdiel a preco je ten druhy format lepsi?
    KRYS
    KRYS --- ---
    SLASH: Je to podmíněné volání - pokud ten moveTwen není null, tak se na něm zavolá kill. Pokud je, vrací to null.
    Kliknutím sem můžete změnit nastavení reklam