• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    BYDKUNITY 3D
    PUSSY_POWER
    PUSSY_POWER --- ---
    Ahoj, měl bych dotaz. V prototypu řeším animace auto vs. řidič (3D). Máte nějaké zkušenosti, případně odkazy na tutoriály? Nic uspokojivého jsem nenašel. Jde mi o to, jestli má auto i řidič svůj Animator component (hádám, že ano), protože auto bude mít animaci jízdy (případně idle) a řidič bude mít animaci idle v autě asi.. Auto i řidiče po nástupu musím dát jako childy nadřazeného objektu kvůli např. navigaci a natáčení se čelem k cíli? Měl bych nějak rozlišovat state režimy jako "řidič chodí", "řidič je v autě", "řidič nastupuje/vystupuje"? Možná na to jdu blbě, kdyžtak mě naveďte, budu rád za jakoukoli radu. Díky!
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    REDSNAKE: jednoducha rada - proste misto getcomponent patrol ().call si ten getcomponent uloz do promenne a pokud je null, napis do logu co to je - budes vedet proc. protoze proste bud je blbe ta maska nebo je nekde navic layer.
    REDSNAKE
    REDSNAKE --- ---
    SHIGORBIRDMAN: nicméně díky za radu, zítra si zkusím nastudovat trochu ty triggery.
    REDSNAKE
    REDSNAKE --- ---
    SHIGORBIRDMAN: ale layer player má jen hráčův charakter, myslel jsem, že to je ošetřeno v
    PlayerDetectPos.position, detectRange, whatIsPlayer);
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    REDSNAKE: pouzij spis triggery, nez to delat rucne

    to ze ti to crashuje znamena ze mas spatne nastavenou layermasku (whatisplayer) nebo nekde kolizni layery, takze ti do toho checku prijdou i objekty, ktere na sobe nemaji Patrol, ale stejne se ho na nich pokousis volat
    REDSNAKE
    REDSNAKE --- ---
    Měl jsem takový nápad, spouštět přes
    Collider2D[] playerNearby = Physics2D.OverlapCircleAll(PlayerDetectPos.position, detectRange, whatIsPlayer);
    for (int i = 0; i < playerNearby.Length; i++) {
    playerNearby[i].GetComponent<Patrol>().TakeDamage(damage);
    fázi v chování "AI" enemy. Nepřítel by v podstatě korzoval po platformě doprava a doleva a v momentě kdy by hráčův charakter vstoupil do okruhu kde detekuje enemy, tak by enemy začal nepřítele sledovat. Další fáze je po určitém přiblížení pokus o útok, ale tak daleko jsem se ještě nedostal.

    zde je script:
    https://pastebin.com/CiJvuTiF

    Je to úplně zcestná myšlenka?

    EDIT: Tak zdá se že mi to z části funguje, ale dostávám
    NullReferenceException: Object reference not set to an instance of an object Patrol.Update () (at Assets/Scripts/Patrol.cs:70)

    místo výpisu Debug.Log. Budu rád za tip.
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    za predpokladu ze je na tom objekt shader, ktery emisivni svetlo umi, tak se proste meni hodnota v shaderu - cili nejaky material.setfloat. u standardniho shaderu by to mel byt _emission myslim (ale musi byt povoleny uz v defaultnim nastaveni, jinak se pri kompilaci vyoptimalizuje)
    BYDK
    BYDK --- ---
    Vedel by nekdo, jak menit za behu intenzitu emisivity materialu? Zatim se mi to nepovedlo rozchodit. Take bych to rad menil jen na jednom objektu, pricemz je material stejny. Nasel jsem, ze by to mhlo jit pres Material Property block, ale to se mi take nepovedlo. Muze nekdo poradit? :)
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    LD45 - Start At NOTHING by Shigor
    https://shigor.itch.io/ld45-start-at-nothing

    Tak jsem si po letech zase jednou zkusil Ludum Dare. Na tri dny lehkeho crunche jsem s vysledkem celkem spokojeny. Byt teda ty nove isometricke tooly v unity jsem mel mozna zavrhnout a uplacat to jednodusejc jak jsem zvykly v pseudo3d / texturovanych vektorech. Pro me ucely s tim byla zbytecne otravna drbacka, ale aspon jsem si to vyzkousel...
    REDSNAKE
    REDSNAKE --- ---
    REDSNAKE: nakonec jsem to vyřešil přes SpawnPoint = GameObject.Find("SpawnPoint");
    REDSNAKE
    REDSNAKE --- ---
    JAACOB: Dekuju za tip, tak ja bych si rad samozrejme vybral ten nejlepsi tutorial, jen jak jej poznat jako podzacatecnik
    JAACOB
    JAACOB --- ---
    Hele takhle z popisu ti nikdo neporadi, museli bysme videt minimalne zdrojaky. Kazdopadne podvesovat Spawnpoint nebo SceneManager pod playera je samosebou nesmysl. Jestli mas ale Debug.Logy ve SpawnPointu a SceneManageru, tak nemuzes cekat, ze ti bude neco vypisovat Player skript...

    Kazdopadne se mi teda moc ten tvuj tutorial nepozdava, nemusim moc frikulinske hiphoppery co to mastej. Jestli muzu doporucit, mrkni spis na jeden z techle channelu:
    https://www.youtube.com/playlist?list=PLPV2KyIb3jR53Jce9hP7G5xC4O9AgnOuL nebo https://www.youtube.com/playlist?list=PLPV2KyIb3jR6TFcFuzI2bB7TMNIIBpKMQ (celej Brackeys je gut - ma tam i begginer veci i advanced veci).
    How to Make a Unity Game - YouTube
    https://www.youtube.com/playlist?list=PLB5_EOMkLx_WCGalAUeKXA1I-qQqYY_Sk

    Nebo primo Unity tutorialy:
    https://learn.unity.com potazmo https://learn.unity.com/course/unity-basics

    Zacatek se neda ochcat a kdyz zacnes matlat veci podle spatnych rad, akorat nasbiras hromadu spatnych navyku...
    REDSNAKE
    REDSNAKE --- ---
    Zřejmě je to tím, že gameObject SpawnPoint(Místo pro respawn po spadnutí z plošinky) a SceneManager(Objekt se skripty pro odečítání zdraví, hlídání výšky na ose Y, atd) není součástí charakteru. Což o to, SceneManager můžu připnout na hráče a pak funguje script na odečítání zdraví a výšky na ose y i v dalším lvlu, nicméně pokud samozřejmě hierarchicky přiřadím pod charakter i SpawnPoint, tak ten se pohybuje s Charakterem, takže respawn pak sice funguje, ale charakter se respawnuje na nějaké nesmyslné souřadnice ovlivněné pádem a posunem SpawnPointu.

    Prostě, potřeboval bych zřejmě přiřadit charakteru GameObject SpawnPoint a nějak docílit toho, aby byl součástí charakteru, ale nepohyboval se spolu s ním.

    Nevíte jak na to prosím?
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    W3R: no pokud se vyslovene nudis, muzes se podivat na dekompilovane zdrojaky (a mam pocit, ze c# cast nakonec unity nekde dali na nahled, protoze jim to stejen vsichni dekompilovali :).
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    JAACOB: podedit imo jde, ale nebude se ti to hlasit jako pridatelna komponenta v editoru, protoze to se bere reflexi. (imo to asi jde, minimalne pro interni pluginy, pridat nekde do inicializace, jako pridatelny skript... a mozna by slo rucnim volanim AddComponent.) otazkou je proc taky.
    W3R
    W3R --- ---
    JAACOB: dik tohle jsem nenasel necet; i kdyz stejne bud nechapu co dela ten rozdil, nebo uz je to nekde v zone blackboxu kde se deje neco co nevidim. A tomu ze to driv slo i verim, protoze kdyz jsem cetl dokumentaci, dosel jsem k zaveru ze je to tak mysleny.

    A jj je to asi ciste zvedavost, MonoBehavioury me nijak neomezuji. Spis kdyz takhle na neco narazim co nechapu, pokud to neni uplne mimo moji uroven snazim se to rozstourat a treba se neco priucit.
    REDSNAKE
    REDSNAKE --- ---
    mimochodem, dokázal by mi někdo prosím objasnit jednu věc? Mám platformu - podlahu pro 2D skákačku. Ta má 2D box collider bez zaškrtnutého trigger. Mám enemy, což je prázdný objekt s box colliderem se zapnutým trigerem kvůli útoku postavy hráče, aby se registrovaly hity. Pokud nastavím enemy box collider 2D s triggerem enemy propadne plošinou. Pokud přiřadím současně objektu enemy box collider s triggerem, současně assetu enemy přiřadím další collider bez triggeru, tak vše funguje jak má. Jen mě zajímá jestli je to takhle správné řešení nebo mi něco uniká?
    JAACOB
    JAACOB --- ---
    W3R: Zajimavej dotaz, chvilku jsem nad tim ted s kolegou stravil. On mi dokonce tvrdil, ze ma za to, ze to v minulych verzich Unity slo (podedit primo z Component / Behaviour). Ja si nejsem uplne jistej, vybavuju si pouze iterovani po Componentach, ne primo dedeni z nich. Narazil jsem ale na jeden post, ktery se to rozumne snazi vysvetlit: https://answers.unity.com/questions/1428657/can-my-scripts-derive-from-behaviour-or-component.html

    Zajimalo by me taky, proc ses k tomu vubec dostal? Chtel jsi tim neco vyresit nebo je to ciste zvedavost?
    W3R
    W3R --- ---
    Mam jedno znalostni okno, kdybyste treba nekdo prosim vedel. A neni to zasadni, ale zajima me to a nevim vlastne spis jak patrat a to nepochopeni si doplnit

    Na zaklade ceho se uniti interni komponenty nabizi jakozto pridatelne v Inspectoru? Nejsou to MonoBehaviory (ted myslim treba collidery nebo rigidbody), jsou odvozene od tridy Component od ktere bych cekal prave to (MonoBehaviour je od ni odvozen tez), ale pokud mam vlastni tridu implementujici Component, pridat jako komponenta nejde
    Kliknutím sem můžete změnit nastavení reklam