Diskuze: Jak zastavit obě kolidujíc rigidbody ? [Unity3D]
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 9 zpráv z 9.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
zkus použít místo OnCollisionEnter OnCollisionStay
Děkuji za reakci ale tato věta je v originální otázce.
Také jsem zkoušel vynulovat velocity při OnCollisionEnter ale to funguje jen první snímek kolize, zkoušel jsem to samé při OnCollisionStay ale pak se z kolize nemohu dostat protože oba kolidující tanky jsou imobilizované
...Také mně to napadlo......
á vidíš, úplně jsem to přehlédl, to se omlouvám, a co máš v plánu pokud se k sobě přiblíží ? zastavit je a změnit jim směr nebo je jen zastavit ? Ale co pak mají dělat ? Koukal jsem na videa a připadá mi, jako by se otočili náhodně jiným směrem a pokud je volno jedou dál. Zkus jim tam dát raycast a hlídat jestli raycast na něco narazí, pokud ano vynuť jim jiný směr jízdy.
Hlavní problém je kolize s hráčem ovšem tanky jsou spawnovány a občas do sebe vrazí. Normálně by nebyl problém kdykoliv změnit směr nebýt skutečnosti že tanky se pohybují ve smyčce kde svolí směr a pak urazí vzdálenost 6 jednotek a takhle pořád do kola. K detekci volného místa používám OverlapBox a raycast pro střelbu (ke zjištění zda je v linii střelby vhodný cíl). Napadlo mně použít rigidbody constraints tak že veškerý pohyb dám do metody. Před metodou uvolním rigidbody constraints a po metodě je zamknu takže tank vlastně bude statický pokud se nepohybuje.
Když teda jezdí za sebou ve smyčce, nestačilo by u tanku raycastem zjistit, jestli před ním nestojí další tank a pokud ano, počká cca půl vteřiny, tank před ním odjede a znovu se rozjede?
co když tanky pojedou naproti sobě ? oba se zastaví a budou čekat.
Já jsem si to špatně přečetl . Chápu tedy správně, že tanky nejezdí po kole, ale že se spawnou, zvolí směr, ujedou šest jednotek, znova zvolí směr a znova jedou šest jednotek a takhle pořád dokola. V tom případě to je stejné jako když tank narazí na překážku... tank pomocí raycastu zjistí, že má před sebou překážku => vyšlou se boční raycasty a můžou nastat čtyři možnosti:
Docela jsi vystihl fungování mojí AI jen je tu pár odlišností.
Zobrazeno 9 zpráv z 9.