Diskuze: Doprogramování kolizí XNA

C# .NET .NET (C# a Visual Basic) Doprogramování kolizí XNA American English version English version

Avatar
Merry
Člen
Avatar
Merry:

Ahoj lidi,
Chtěl jsem se zeptat jestli nemáte někdo z vás zkušenosti s přidáváním kolizí z načteného fbx modelu.
V Blenderu jsem si vymodeloval budovu a ted bych chtěl aby na zdi (nemusí být na všechny) byly kolize na kameru. Jak by to šlo udělat? Po případě nebyl by tu někdo kdo by mi s tím pomohl?
Díky

Odpovědět 24.3.2015 21:44
Jste dobří jen v tom, co vás baví.
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Merry
hanpari:

Nevím, jestli vůbec lze na kameru zjišťovat kolize. Kamera je v podstatě bezrozměrná. Tipl bych si, že musíš udělat dummy objekt, v tomto případě stačí asi obyčejná kostka s vhodnými rozměry.
Tato kostka bude bude rodič (parent) kamery. Veškerý pohyb kamery pak budeš provádět pomocí kostky, zatímco kamera se bude pohybovat spolu s ní.
Kolize a všechno ostatní budeš zajišťovat právě pomocí kostky.
Když tak mne opravte :)

Editováno 25.3.2015 9:51
 
Nahoru Odpovědět  +1 25.3.2015 9:50
Avatar
Merry
Člen
Avatar
Odpovídá na hanpari
Merry:

Ok díky, ale jak mam pak kontrolovat kolize s vymodelovaným objekte?
Ten totiž nevytvářím v kódu ale je vymodelovaný v Blenderu a vyexportovaný v fbx. formátu.

Nahoru Odpovědět 25.3.2015 10:20
Jste dobří jen v tom, co vás baví.
Avatar
Odpovídá na Merry
Luboš Běhounek (Satik):

Nejjednodušší je obalit ho koulí / krychlí. Pokud taková přesnost nestačí, tak můžeš pro kolizi použít konvexní obálku - convex hull - to je low-poly reprezentace objektu, která se používá pro počítání fyziky v běžných hrách.

Jak přesně se to dělá v XNA ti neporadím, ale google napoví :)

Editováno 25.3.2015 10:43
Nahoru Odpovědět 25.3.2015 10:42
:)
Avatar
Merry
Člen
Avatar
Odpovídá na Luboš Běhounek (Satik)
Merry:

Nejde vůbec o přesnost, jde o to abych mel jednoduché kolize (nejzákladnější) tzn, jen základní zdi abych nemohl chodit skrze ně.
Prostě jak udělat abych kamerou nemohl chodit přes zdi.
Jde o 3D model velké budovy, a chtel bych základní kolize (hlavní zdi)

Nahoru Odpovědět 25.3.2015 11:00
Jste dobří jen v tom, co vás baví.
Avatar
hanpari
Redaktor
Avatar
Odpovídá na Merry
hanpari:

I vymodelovaný objekt reprezentuje mesh. Ať už ho vytvoříš v programu nebo načteš ze souboru, nakonec jde o síť bodů (vertices) a jako takový s ním můžeš pracovat.Pokud umíš kolizi pro mesh, umíš ji i pro svůj model.

https://msdn.microsoft.com/…b203906.aspx

 
Nahoru Odpovědět 25.3.2015 12:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.