Messaggi: 244
Discussioni: 41
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Jun 2013
Reputazione:
1
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.
Messaggi: 124
Discussioni: 8
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Mar 2015
Reputazione:
3
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)
Messaggi: 124
Discussioni: 8
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Mar 2015
Reputazione:
3
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
Messaggi: 124
Discussioni: 8
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Mar 2015
Reputazione:
3
03-01-2016, 11:07 PM
(Questo messaggio è stato modificato l'ultima volta il: 03-01-2016, 11:08 PM da davidecreatoreapp.)
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
Messaggi: 18
Discussioni: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Jan 2015
Reputazione:
0
Controlla nel collider che non funziona che la spunta di check trigger non sia attiva
Messaggi: 365
Discussioni: 28
Thanks Received:
8 in 8 posts
Thanks Given: 0
Thanks Received:
8 in 8 posts
Thanks Given: 0
Registrato: Jun 2011
Reputazione:
6
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ù.
Messaggi: 790
Discussioni: 70
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Dec 2014
Reputazione:
5
Lo dava anche a me lo stesso problema, dipendeva da che comando usavo per muovere il player.
Messaggi: 18
Discussioni: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Jan 2015
Reputazione:
0
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
Messaggi: 124
Discussioni: 8
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Mar 2015
Reputazione:
3
04-01-2016, 08:41 PM
(Questo messaggio è stato modificato l'ultima volta il: 04-01-2016, 08:49 PM da davidecreatoreapp.)
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.
Messaggi: 365
Discussioni: 28
Thanks Received:
8 in 8 posts
Thanks Given: 0
Thanks Received:
8 in 8 posts
Thanks Given: 0
Registrato: Jun 2011
Reputazione:
6
Sostituisci void Update() con void FixedUpdate()
Messaggi: 124
Discussioni: 8
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Mar 2015
Reputazione:
3
06-01-2016, 12:15 AM
(Questo messaggio è stato modificato l'ultima volta il: 06-01-2016, 12:19 AM da davidecreatoreapp.)
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.
Messaggi: 244
Discussioni: 41
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Jun 2013
Reputazione:
1
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
Messaggi: 244
Discussioni: 41
Thanks Received:
0 in 0 posts
Thanks Given: 0
Thanks Received:
0 in 0 posts
Thanks Given: 0
Registrato: Jun 2013
Reputazione:
1
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?
Messaggi: 365
Discussioni: 28
Thanks Received:
8 in 8 posts
Thanks Given: 0
Thanks Received:
8 in 8 posts
Thanks Given: 0
Registrato: Jun 2011
Reputazione:
6
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.