dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

terrain un collisions

 
dev.gamez.lv Forum Index -> Matemātika un fizika
View previous topic :: View next topic  
Author Message
purkskis



Joined: 16 Sep 2010
Posts: 4

PostPosted: Fri Oct 15, 2010 11:09 pm    Post subject: terrain un collisions

Nesen sāku iepazīties ar 3D plašumiem..
Pārlasīju GiGas tutoriāļus, paspēlējos ar piemēriem..
Domāju kā sataisīt, lai varētu pastaigāties pa terrainu ko ielādē no bitmapa, uztaisīju kad pēc kameras pozīcijām tiek meklēts tuvākais vertekss un tad uzsetota kameras y kordināte. Sanāk tāda y lekāšana un drebināšanās (d)efekts, protams varēto to izlabot, bet laikam jau tas nav labākais variants
elvman ieteica (ja pareiz atceros-) meklēt trijstūra un uz leju vērsta nogriežņa(vektora?) sadursmju pārbaudi.
..meklēju.. neko sev saprotošu neatradu..
Varbūt kāds varētu apgaismot mani šai lietā, kā tad notiek tā sadursmju pārbaude ar terrainu un kādas formulas jāpielieto Smile
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Sat Oct 16, 2010 6:35 am    Post subject:

Bilineārā interpolācija augstuma noteikšanai ir pietiekama:
Code:

inline float lerpf( float a, float b, float s )
{
return a + ( b - a ) * s;
}
float GetHeight( float x, float y )
{
// šeit atrodam 4 augstumus (z00,z01,z10,z11), ar kuriem strādāsim - visi ir no tā četrstūra, uz kura punkts atrodas, tāpat atrodam attālumus katrā asī starp datu punktiem (fx,fy)
// un tad interpolējam...
return lerpf( lerpf( z00, z10, fx ), lerpf( z01, z11, fx ), fy );
}


Ja tev Z nav augstuma koordināta, maini vietām Y un Z. Pats netaisos rakstīt tādu kodu, jo tas ir manuprāt neloģiski nestrādāt ar koordinātu sistēmu tā, kā to var loģiski darīt - heightmapam (vai citos 3d līmeņu veidos - kartei) ir x/y asis un terrain'a pamatam (kopā ar visu pārējo objektu zīmēšanu) neviens netraucē tādas pašas atstāt.
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
purkskis



Joined: 16 Sep 2010
Posts: 4

PostPosted: Wed Oct 20, 2010 8:22 am    Post subject:

nesaprotu iisti shito:
Quote:
tāpat atrodam attālumus katrā asī starp datu punktiem (fx,fy)

Un kaa pectam pareizaak iistenot paleekshanos un to kad nevar uziet ljoti staavaa kalnaa?
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Wed Oct 20, 2010 8:31 am    Post subject:

Quote:
nesaprotu iisti shito

fx ir tas cipars (starp 0 un 1), kuru lietojot kā interpolācijas koeficientu interpolējot starp kreisās un labās puses punktu x, iegūs argumenta x.
Formula aprēķiniem ir šāda: fx = (x-cell_left_x)/cell_width;
Ar fy ir apmēram tas pats, tikai visur jāaizstāj x ar y.

Quote:
Un kaa pectam pareizaak iistenot paleekshanos un to kad nevar uziet ljoti staavaa kalnaa?

Visādi var. Ar fizikas dzinēju, skatīties virsmas normālvektoru konkrētos punktos...
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
Display posts from previous:   
dev.gamez.lv Forum Index -> Matemātika un fizika All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group