05/10/08 16:47
Thejuster
Qualcuno puo aiutarmi?
Sto letteralmente uscendo pazzo.
anche perchè non trovo tutorial nella rete
preferirei in vb.net che ho gia un po di roba pronta
come telecamera, personaggio che si muove, offset ecc.
il problema e che non so come eseguire una collisione tra oggetti.
non saprei per iniziare mi basta anche un semplice esempio, magari anche su come rilevare una traiettoria approssimativa tra il pg e l'oggetto.
anche perchè non si puo essere super precisi inserendo una cordinata specifica potrebbe anche sballare di qualche unità, quindi chiedo aiuto a voi, magari al totem, el pisano.
che siete già ad un punto avanzato rispetto a me che sono partito direttamente dalla base delle DirectX.
05/10/08 17:36
pierotofy
La maniera più semplice è calcolare il diametro della prima mesh (supponendo che tu stia usando delle meshes) e controllare che l'estremità non sia dentro il campo di influenza della seconda mesh. Esistono anche altri algoritmi più sofisticati (che adesso non mi ricordo quali) che permettono rilevazioni più accurate, ma che richiedono maggior tempo computazionale.
05/10/08 17:47
Thejuster
uhm chiedo troppo un piccolissimo esempio?
riguardo alle mesh uso direttamente dei modelli fatti con 3dsmax.
anche un solo esempio mi renderebbe la vita facile.
io ho provato questo modo
Dim lol As Model
For Each mesh As ModelMesh In omino.Meshes
If mesh.BoundingSphere.Intersects(lol) Then
End If
Next
ma mi da errore proprio nella posizione dopo all'interects non capisco il perchè.
Ultima modifica effettuata da Thejuster 06/10/08 11:17
06/10/08 15:35
Il Totem
Il metodo intersects richiede come parametro un oggetto BoundingSphere o BoundingBox.
aaa
08/10/08 8:06
Thejuster
ci provo e spero vivamente che funzioni.
allora totem ho fatto in questo modo allora io ho una navicella e tipo un persona
dunque se la navice tocca la persona dovrebbe scatenare l'evento ma mi sa che non worka
mi da il messaggio ogni secondo
For Each mesh As ModelMesh In omino.Meshes
For Each ships As ModelMesh In shipModel.Meshes
If mesh.BoundingSphere.Intersects(ships.BoundingSphere) Then
MsgBox("toccato")
End If
Next
Next
sbaglio?
Ultima modifica effettuata da Thejuster 08/10/08 11:44
09/10/08 15:46
Il Totem
Non mi sembra sbagliato... Ma non so quale possa essere l'errore.
aaa