2013-06-13 9 views
5

Si prega di controllare l'immagine allegata è una sorta di altalena. Ma come da immagine i corpi neri hanno la stessa densità. E il rettangolo orizzontale è attaccato al triangolo usando il giunto "Revolute". Ma ancora non funziona alcun suggerimento. nella situazione attuale è necessario essere bilanciati.Balance box2d objects

enter image description here

+0

Penso che sia necessario disabilitare la gravità, come potrebbe utilizzare il codice - accelerometro (vuoto): accelerometro UIAccelerometro ha accelerato: accelerazione (accelerazione UIA); – iphonic

+0

Nessun accelerometro abilitato uomo. e se la gravità è disabilitata in box2d, allora come sarà naturale. :-) –

risposta

0

causa di piccoli squilibri nel layout causato dalle limitazioni della precisione in virgola mobile, ecc, è altamente improbabile che ciò possa mai equilibrio nel mezzo in modo affidabile (proprio come la vita reale). Una cosa che potresti provare è quella di dare al raggio uno smorzamento angolare, che renderebbe meno facile ruotare, quindi rallenterebbe più velocemente e dormirà prima. Potrebbe essere sufficiente per farlo riposare senza cadere da una parte o dall'altra.

+0

Qualche altro modo di creare? perché attualmente sta dormendo velocemente che non voglio. Poi ho provato a cambiare il corpo per non dormire e poi anche tutto il mondo B2, ma ancora non funziona. –

+0

Ne dubito. A meno che non riesca a dormire, si accosterà da un lato. Forse potresti applicare una piccola coppia per mantenerlo a livello. – iforce2d

0

Non penso che sia il problema della precisione in virgola mobile. Almeno non può apparire così veloce. Per quanto ne so, Box2D risolve i contatti (compresi i contatti a riposo) uno per uno. È molto più veloce della risoluzione simultanea dei contatti, ma meno preciso allo stesso tempo poiché la risoluzione di un contatto crea un impatto sugli altri.

Vorrei provare ad aggiungere un motore con una piccola coppia massima al giunto revoluto e controllarne la velocità per equilibrare il sistema.

+0

non ho avuto fortuna con questo anche provato :( –