Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Jefo
Založen: 02. 07. 2011 Příspěvky: 58
|
Zaslal: 21. říjen 2018, 18:32:31 Předmět: Kolizia s objektom Terrain |
|
|
Dobrý večer,
znovu trochu programujem v Unity a prave riesim jednu vec. Naprogramoval som si vlastnú gravitaciu objektu v Unity pretoze by som chcel robit niektore veci custom. Detekciu kolizii riesim pomocou Collider.bounts.intersects(Bounds bounds). Ked objekt vplivom gravitacie pada na dol tak sa detekuje jeho kolizia. Problém nastava ak koliduje s objektom Terrain. Na objekte Terrain je mozne vytvorit aj hory. Ked objekt pada tak sa nezachyti kolizia medzi najvysim bodom pod objektom v scene ale najvysim bodom v objekte terrain teda tento objekt co pada na dol ostane vysiet vo vzduchu pricom by mal padat dalej. Potreboval by som to nejako vyriesit. Viete mi prosim poradit ?
Takto detekujem koliziu:
kód: |
public bool CustomCollider.IsCollided(Collider col)
{
If(col.bounds.Intersects(myCol))
{
return true;
}
return false;
}
|
|
|
Návrat nahoru |
|
|
pcmaster
Založen: 28. 07. 2007 Příspěvky: 1824
|
Zaslal: 22. říjen 2018, 13:08:28 Předmět: |
|
|
Cau!
Brani ti aplikacia vlastnych sil (gravitacie) pouzivat detekciu a reakciu na kolizie priamo zabudovanu do Unity? Ma celkom pekny terrain collider.
Ako pouzijes vysledok tejto funkcie, ze nieco koliduje (true/false)?
Zial, ani po druhom precitani sa mi nepodarilo desifrovat, ako to vyzera
Collider.bounds je len krabica (OBB) okolo objektu. Teren ako krabica nevyzera, takze to na zistenie presnej kolizie s terenom nebude stacit.
Ak potrebujes zistovat, ci ti nieco zakolidovalo a ukazat nejaky efekt, alebo prehrat zvuk, tak snad postaci OnCollisionEnter a tak podobne.
(taktiez: visiet, nadol, diakritika raz ano, raz nie, interpunkcia) _________________ Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est. |
|
Návrat nahoru |
|
|
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 22. říjen 2018, 13:32:00 Předmět: |
|
|
Ve skutecnosti to neni OBB, ale AABB, ale jinak ma pcmaster pravdu, na detekci kolizi s terenem se to neda pouzit. Pouzivej normalni rigidbody, vypni si u nej "Use Gravity", kdyz si chces gravitaci resit sam, a na kolize pouzivej OnCollisionEnter. |
|
Návrat nahoru |
|
|
Jefo
Založen: 02. 07. 2011 Příspěvky: 58
|
Zaslal: 22. říjen 2018, 16:07:22 Předmět: |
|
|
Ok. Dakujem za vas nazot. RigidBody som pouzival ako prve a mal som s nim problemy. Pacilo sa mi vsetko riesit custom. Este nad tym pouvazujem. Zatial dakujem. |
|
Návrat nahoru |
|
|
]semo[
Založen: 29. 07. 2007 Příspěvky: 1526 Bydliště: Telč
|
Zaslal: 23. říjen 2018, 11:54:12 Předmět: |
|
|
Jefo napsal: |
Pacilo sa mi vsetko riesit custom. |
Takovou snahu chválím :-).
Dělám ve volných chvílích na takový fyzikální 2D hře. Celý solver i kolizní systém mám svůj. A neni to až takový hardcore udělat, když víš co a jak. _________________ Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory |
|
Návrat nahoru |
|
|
|