• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    BYDKUNITY 3D
    * Unity 3D *
    =========
    RECOMANDED version : 2019.4.X
    ( dont have reordable list, arrays, etc.. but isnt laggy )

    Great community, tutorials and many assets for all.

    * CodeMonkey tutorials *
    https://www.youtube.com/channel/UCFK6NCbuCIVzA6Yj1G_ZqCg

    * Core *
    Unity Real-Time Development Platform | 3D, 2D, VR & AR Engine
    http://unity3d.com
    http://infiniteunity3d.com

    * Tutorials *
    https://twitter.com/SebastianLague
    https://www.youtube.com/user/Brackeys
    Unity C# and Shader Tutorials
    https://catlikecoding.com/unity/tutorials/
    JacksonDunstan.com
    https://jacksondunstan.com/

    * Assets *
    Humble Bundle | game bundles, book bundles, software bundles, and more
    https://www.humblebundle.com/

    * Library Unity tools *
    GitHub - zalo/MathUtilities: A collection of some of the neat math and physics tricks that I've collected over the last few years.
    https://github.com/zalo/MathUtilities

    * Audio systems explain *
    Blog - John Leonard French
    https://johnleonardfrench.com/articles/10-unity-audio-tips-that-you-wont-find-in-the-tutorials/

    * Recommended *
    https://twitter.com/AlanZucconi
    https://twitter.com/OskSta
    https://twitter.com/minionsart /
    https://www.patreon.com/posts/tutorial-list-10663597

    Jakou Unity verzi pouzivate?

    4 hlasy od 4 respondentů

    rozbalit záhlaví
    MAIMONIDES
    MAIMONIDES --- ---
    SLASH: Jsi zjevně začátečník, tohle byly naopak velice dobře utracený hodiny.
    SLASH
    SLASH --- ---
    SLASH: Tak som to nakoniec vyriesil cez Newtonsoft.Json.Linq package takto:
            void ParseJson(string str)
            {
                var jsonObject = JObject.Parse(str);
    
                foreach (var item in jsonObject)
                {
                    var key = item.Key; 
                    var configObj = item.Value.ToObject<ConfigVO>();
                }
            }
    


    Simples! (actually ... 4 hours of my life wasted :D )
    SLASH
    SLASH --- ---
    SHIGORBIRDMAN: ahoj , dik za odpoved, skusal som to z viacerymi parsermi a viac type formatov napr:
    var test1 = JsonHelper.FromJsonString<Dictionary<string, ConfigVO>>(str);
    var test2 = JsonHelper.FromJsonString<List<ConfigVO>>(str);
    var test3 = JsonHelper.FromJsonString<HashSet<ConfigVO>>(str);
    var test4 = JsonHelper.FromJsonString<Hashtable>(str);
    

    Json helper je z balika RestClient od Proyecto26

    ale skusal som aj klasicku JsonUtility za UnityEngine:

    var test1 = JsonUtility.FromJson<Dictionary<string, ConfigVO>>(str);
    var test2 = JsonUtility.FromJson<List<ConfigVO>>(str);
    var test3 = JsonUtility.FromJson<HashSet<ConfigVO>>(str);
    var test4 = JsonUtility.FromJson<Hashtable>(str);
    
    stale mi to hadze NULL .. uz si trham vlasy, lebo s tym Dictionary<string, ConfigVO> by to fakt malo fungovat...
    
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    SLASH: s tim integrovanym unity parserem jsem toho moc nedelal, ale podle toho jak funguje bych cekal, ze musis mit Dictionary [ string,ConfigVO ] , ne list (protoze to by pak musel mit json jiny tvar)
    SLASH
    SLASH --- ---
    vedeli by ste niekto poradit ako parsnut JSON response do spravneho typu ktory je v takomto formate?
    {"A":{"hintDiabledDuration":10,"minutesPerLevel":100,"nightPowerUpDuration":12,"timePowerUpAdSeconds":30},"B":{"hintDiabledDuration":10,"minutesPerLevel":100,"nightPowerUpDuration":12,"timePowerUpAdSeconds":30}}

    vsetky tie vlastnosti pod A a B mam namapovane do class ConfigVO, ale neviem to spravne parsnut aby tam bolo aj A : ConfigVO aj B: ConfigVO..

    Skusal som to cez "root class" ktora by to mala ako List:
    [Serializable]
    public class HogMuseum
    {
        public List<ConfigVO> configs = new List<ConfigVO>();
    }
    

    a potom :
            public void GetConfig()
            {
                RestClient.Get(DB_URL + ".json").Then((res) =>
                {
                    var remoteConfigs = JsonHelper.FromJsonString<HogMuseum>(res.Text);
    
                }).Catch(err =>
                {
                    Debug.Log("ERROR "+err);
                });
            }
    


    nefunguje to tak spravne. Ked urobim request iba na samostany JSON obsiahnuty v A alebo B tak to sprane resolvne na ten ConfigVO, ale ako list ci array nie.

    Riesili ste to uz niekto?

    ROLAND
    ROLAND --- ---
    W3R: Ano, díky, jdu to právě zkoušet a experimentovat co mi to povolí. Jako mě to logo unity nevadí, jen bych se rád vyhnul co nejvíce obrazovek.
    W3R
    W3R --- ---
    JAACOB: to ze tam ta unity kostka ve free verzi musi byt plati, ale je mozny si tam uz prihodit i vlastni obrazek a lehce to barvit. ROLAND projdi si to linkovany PlayerSettings klikatko, sekce 'D' te zajima, je tam na to i editor preview, vidis to pak se vsim vsudy. aktualne to pak mam treba pod rukama takhle
    ROLAND
    ROLAND --- ---
    JAACOB: Ano je to tak, kamarád byl rychlejší.
    Ale díky za ten link nemusím to hledat.
    JAACOB
    JAACOB --- ---
    ROLAND: nejsem si jistej jak je to ted, ale mam za to, ze unity splashscreen je lockla pro free verze unity, v placenych si muzes splashscreen overridnout na co chces...

    A koukam, ze to tak asi je furt: https://docs.unity3d.com/Manual/class-PlayerSettingsSplashScreen.html
    ROLAND
    ROLAND --- ---
    Dotaz:
    Prosím může být logo unity společně i s jinými logy na jedné splash screen?
    Má s tím někdo zkušenosti?
    SLASH
    SLASH --- ---
    SLASH
    SLASH --- ---
    Mam RawImage s texturou (cize png image) na canvas. CHcel by som tam naanimovat efekt zosvetlenia, tym ze pozuijem tween color a bielu farbu, ale kedze farby sa aplikuju v multiply mode toto nema ziadny / zelany effekt.

    Existuje nejaky sposob ako toto osetrit a mat mozno nejaky komponent ktory bude pridavat farbu v Add alebo Screen mode, popripade nejaky Hue brightness Saturation component ktory budem potom vediet programaticky ovladat?
    SHIGORBIRDMAN
    SHIGORBIRDMAN --- ---
    SLASH: to mi prijde jako mesh deformace sprajtu. cili ano, naanimovat se to da, ale standardni unity tohle neumi. mozna na asset storu nejaky kousek bude, nebo si to napsat - kdyz jsem to delal kdysi do adventury, v dobe kdy unity jeste ani neumelo 2d nejak rozumne nativne, bylo to za chvili hotovy, neni to v zaklade nic slozityho
    SLASH
    SLASH --- ---
    ahojte, da sa nieco taketo naanimovat v Unity? a ked tak ako? Myslim konkretne ten "Excellent!" napis..
    excellent slow mo
    http://www.youtube.com/watch?v=oADlPmGlAbU

    Ten samotny text by mohol byt v mesh text pro, ale potom taky ten progressivny fish eye effect, neviem...
    Mozno cez nejaky custom shader? Alebo camera effect?
    Potrebujem to do 2D hry kde mam len jednu kameru v ortographickej projekcii...
    JAACOB
    JAACOB --- ---
    PUSSY_POWER: uvazoval bych asi o tom, ze jakmile hrac nastoupi do auta, reparentnul bych hrace pod ten tvuj hlavni "car" script/gameobjekt a vymenil mu celej animator controller z "walking" na "driving". Myslim si, ze si tim jednak pomuzes nezblaznit se, protoze mit kompletne vsechno v jednom controlleru znamena, ze za chvilku bude brutalne neprehlednej a bude resit zbytecne moc veci a za druhe - ten hlavni "car" skript pak teoreticky muze posilat ucelene parametry pro auto i driver controller - tzn. treba parametr otaceni bude v car controlleru otacet kolama a volantem a u drivera hybat rukama...

    Jinak - at uz se rozhodnes mit walking i driving hrace v jednom controlleru nebo ve dvou - rikam si, proc vlastne chces resit animace u auta pres animator? Prijde mi, ze kvuli nataceni kol a pripadne volantu bude skoro jednodussi to resit primo skriptem. Mozna tak otevirani dveri? A i to by nakonec mohlo byt "physics-based" - ze se jakoze budou ridit rukou hrace nebo solo animation componentou treba. A kdyby se nakrasne treba stalo, ze te u nastupovani srazi jine auto a dvere zustanou pootevrene, tak je pak supercool mit je zase rizene fyzikou a automaticky je locknout az kdyz bouchnou zpatky do zamku.. :) Ale tak to jsem si uz trochu pustil hlavu na spacir...
    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.
    Kliknutím sem můžete změnit nastavení reklam