Collider....che non collide - Versione stampabile +- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi) +-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia) +--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D) +--- Discussione: Collider....che non collide (/thread-Collider-che-non-collide) |
Collider....che non collide - samuele55598@gmail.com - 03-01-2016 Ciao a tutti, beh vi sembrerà strano ma è così, non è la prima volta che mi succede ed è mooolto strano, ma non ho toccato molte impostazioni di collider e rb del player. Beh se il player va "troppo veloce" quest'ultimo trapassa il muro (non solo quello di sinistra ma anche quello di destra). Sto lavorando in 2d comunque quindi collider e rb 2d ovviamente non so da cosa possa esser dato, le collisioni funzionano ma non se va troppo veloce, e come se lo attraversa tutto insieme senza poter fare tipo mezzo fuori e mezzo dentro, ma lo attraversa tutto insieme ecco. Collider....che non collide - davidecreatoreapp - 03-01-2016 Potresti fare uno script che arrivato ad una certa transform.position (o quando entra in un trigger) ferma l'oggetto ad esempio impostando la velocità del rb a 0 (ovviamente dipende dalle circostanze nella quale serve ciò quindi magari non ti è nemmeno molto utile come cosa) RE: Collider....che non collide - samuele55598@gmail.com - 03-01-2016 beh ma è molto strano comunque, e non cerco una soluzione in codice ma una soluzione al problema, in quanto lo considero un bug, ma comunque grazie RE: Collider....che non collide - davidecreatoreapp - 03-01-2016 Ah, allora in tal caso hai provato a rendere più grande il collider nella direzione nella quale l'oggetto lo oltrepassa? Inviato dal mio GT-I9301I utilizzando Tapatalk RE: Collider....che non collide - samuele55598@gmail.com - 03-01-2016 ???Sono un pò perplesso: 1: In che senso nella direzione in cui lo oltrepassa 2: più grande come parlo di collider 2d può essere solo più o meno largo e più o meno alto. Solo con 2d<->2d se si prova a far collidere un 2d con un 3d non funziona, e viceversa RE: Collider....che non collide - davidecreatoreapp - 03-01-2016 Sì, probabilmente non mi sono spiegato bene. Intendevo dire che se il player o chi per lui oltrepassa il collider lo oltrepassa per le coordinate x o y. Tu dunque vai ad allargare in quella direzione (nello stesso verso, nella x o nella y) il collider e vedi come si comporta. Inviato dal mio GT-I9301I utilizzando Tapatalk RE: Collider....che non collide - Snaptrex - 04-01-2016 Controlla nel collider che non funziona che la spunta di check trigger non sia attiva RE: Collider....che non collide - Zettamax - 04-01-2016 Molto probabilmente il player si muove talmente veloce che, in un solo frame, passa da un lato a l'altro del collider. Hai provato ad usare Rigidbody2D.MovePosition per il movimento? Se puoi, posta qui lo script che usi per il movimento del player così da poterti aiutare di più. RE: Collider....che non collide - Master Gabriel - 04-01-2016 Lo dava anche a me lo stesso problema, dipendeva da che comando usavo per muovere il player. RE: Collider....che non collide - samuele55598@gmail.com - 04-01-2016 Ok allora ecco a voi: Codice: using UnityEngine; (04-01-2016, 01:06 PM)Snaptrex Ha scritto: Controlla nel collider che non funziona che la spunta di check trigger non sia attiva No no, magari fosse così semplice...va be che non sono un esperto di unity ma non arrivo a questi livelli fino ad ora RE: Collider....che non collide - Snaptrex - 04-01-2016 Prova a mettere lo switch con gli addforce nel FixedUpdate,la parte di codice riguardante la fisica va sempre messa nel FixedUpdate e mai nell'update altrimenti non viene nemmeno presa in nota RE: Collider....che non collide - samuele55598@gmail.com - 04-01-2016 Non ha molto senso, forse intendi i se, nel fixedUpdate, perchè fare come dici tu non lo muove proprio se prendo cosa hai detto alla lettera, quindi Codice: //tutte le libreria di unity RE: Collider....che non collide - davidecreatoreapp - 04-01-2016 Hai provato ad allargare il collider? O prova quello o prova a fare uno script che fermi la sfera una volta arrivata ad una certa posizione. RE: Collider....che non collide - Zettamax - 05-01-2016 Sostituisci void Update() con void FixedUpdate() RE: Collider....che non collide - samuele55598@gmail.com - 05-01-2016 (04-01-2016, 08:41 PM)davidecreatoreapp Ha scritto: Hai provato ad allargare il collider? Perchè dovrei farlo? La possibilità di poter collidere con il muro è una prerogativa obbligatoria in quanto rappresenta parte integrante del concept :/ se creo qualcosa per fermarlo prima, che tra parentesi per me si tradurrebbe in un raycast verso la direzione di movimento e in questo momento sto impazzendo non poco per il raycast di mira, ma per non andare troppo off topic, è una soluzione che non va bene per questo caso, e generalmente se non posso collidere direttamente che senso ha? Collider....che non collide - davidecreatoreapp - 06-01-2016 Probabilmente non sono in grado di spiegarmi, non importa, rinuncio. Comunque in caso ti serviva proprio di fermarti alla collisione poteva anche essere tramite un oncollisionenter2d e non tramite la posizione. RE: Collider....che non collide - samuele55598@gmail.com - 06-01-2016 il problema è che credo che non dovrebbe accadere, ho modificato e messo le chiamate nel FixedUpdate, stesso problema, posso provare a cambiare e spostare l'oggetto tramite rigidbody.velocity RE: Collider....che non collide - Zettamax - 06-01-2016 Ho fatto una scena di prova e anche a mè dava il tuo problema. l'ho risolto cambiando il Collision Detection del rigidbody del player da Discrete a Continuous. Questo è lo script che ho usato per il movimento del player: Codice: using UnityEngine; RE: Collider....che non collide - samuele55598@gmail.com - 07-01-2016 Risolto, solo che se mi dovesse ricapitare, e fixo in questo modo, il ciclo di polling per le collisioni in questo modo risulta più frequente-> ho paura che in progetti grandi potrebbe influire sulle performanche. E l'unica soluzione che funziona per ora quindi ok si può chiudere, nonostante ciò concludo: tu cosa ne pensi @Zettamax quanto potrebbe influire sulle performance? RE: Collider....che non collide - Zettamax - 07-01-2016 In questo modo avrai un grosso impatto sulle performance, infatti il consiglio è quello di utilizzare il Collision Detection impostato su Discrete, e di cambiarlo solo se si verificano dei problemi(come in questo caso). Se solo il player ha il Collision Detection come Continuous non dovresti avere grossi problemi di performance. |