View previous topic :: View next topic |
Author |
Message |
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Sun Mar 28, 2004 11:41 am Post subject: |
|
un ko tad vinji ieksh vc izmantoja? |
|
Back to top |
|
|
gzz Guest
|
Posted: Sun Mar 28, 2004 3:12 pm Post subject: |
|
upsii deizii! es samuldeejos laikam peec infas ko biju izgraabis kreisaa saitaa. sorry un lielais fui man par maldinaashanu . ir gan spheres gan plane arii VC. Cik es saprotu tad spheres ir tiek izmantotas lai noteiktu ar kuru detalju ir koliizija(durwis, bamperi etc), bet planes tiek izmantotas tieshi koliiziju detekcijai un fizikas responsei. jeb atkal kljuudiishos... naz |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Mon Mar 29, 2004 8:11 am Post subject: |
|
quote bija no taa krievu raksta 2ais teikums.
principaa jau racing gamees nav daudz priekshmetu kuri buutu pakustinaami. tb lielaakaa dalja ir statiska. taadejaadi nedaudz objektiem nodefineet collision volumi nebuutu nemaz tik sarezhgjiiti. [aatri piemekleet teixim mashiinai collision volumi neaiznjem vairaak par 5min].
par gta un sho teemu. ar sfeeraam apraksta collision volumi. planes tiek izmantotas principaa lai virsmu [cik izstiijaas tikai to pa kuru buutu iespeejams staigaat] padariitu plakanu nevis teixim staigaajot paari mashiinai tu staigaatu pa bumbu kaudzi bet pa plaaksni. izstaas tas apmeeram shaadi . bez tam cik vareeja noveerot shaada tipa collision volume ieksh gta tika pielietota netikai mashiinaam bet arii citiem objektiem. _________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Thu Apr 01, 2004 5:24 pm Post subject: |
|
klau a kaa tu izweidoju to mashiinas fiziku ar tokamaku. Tu modificeeji to pashu no 8 sampla tikai nedaudz wai pa jaunam wisu izweidoji? Es panjeemu wakarnakt un pamociijos - rezultaataa dabuuju fiziku no monstrous car physics tutoriaalja iekshaa. Izskataas diezgan labi kad tu braukaajies apkaart. tik ir probleemas ar saansliidi kad tu nebrauc(uz saaniem sliid tikpat labi kaa taisni)... un arii grieshanaas atapakljgaitaa nestraadaa - bet wiss paareejais ir OK.
Last edited by gazz on Thu Apr 22, 2004 6:54 pm; edited 1 time in total |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Fri Apr 02, 2004 10:11 am Post subject: |
|
tokamaka forumaa bija posts kuraa bija 8ais samplis panjemts un bik advanceets. tev vajaga ieviest 'lateral wheel friction' [vai kaa vinju tur tieshi sauca] tad arii grieziis atpakaljgaitaa un uz saaniem nesliidees. man bija versija kad pat ljoti ticami vareeja uz saaniem apmest - ieskrienies un samet stuuri _________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Fri Apr 02, 2004 6:45 pm Post subject: |
|
hmm..jums ir kaads mega-motiivs kaapeec juuzojat tomaku?
ODEe ar berzes pretestiibas virzieniem GazZa probleemu atrisinaat vareetu elementaari! Un arii jointiem ir vairaak iespeeju, par kontaktu veidosanu nemaz nerunaajot.
Ja tas ir tikai taapeec ka ir iespeejams padot kartes fragmentus koliizijaam tad jaasaka ka odei arii ir mesha koliiziju addons (gan ne paaraak veiksmiigs), un vienmeer tacu ir iespeeja uztaisiit savu paneemienu kas gadiijumaa ar geometrijas primitiiviem buutu sameeraa vienkaarshi.
Nezinu, bet man tokamaks kaut kaa neiepatikaas, laikam deel mistiskajiem jointiem!?
Gazz: taa LADA ir baigi smuka, interesants sims buutu tikai no krievu autiniem, noteikti ieliec veel kaadu vecu autobusu vai kravinieku |
|
Back to top |
|
|
Vecais_Dumais_Laacis Guru
Joined: 29 Jan 2004 Posts: 800
|
Posted: Sat Apr 03, 2004 7:32 am Post subject: |
|
principaa autinja fizikai jointi netiek izmantoti vispaar - tiek izmantoti sensori - vektors kuram ir iespeejams ieguut dziljumu kaadaa vinsh ir 'ieduuries' citaa objektaa. shaadu panjeemienu var veerot teixim gta un hl2 sourcees arii bija raycast vehicle. neiepeetiiju kaa odei ar sensoriem bija bet visu veelmi atsita tas ka autinjam riepas buutu lodes vai kapsulas. _________________ ...un ja bites buutu laachi... |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Sat Apr 03, 2004 11:30 am Post subject: |
|
odee var izmantot ray krustosanaas testus, un ja ir jaasimulee tikai mashiinas tad var izveidot kaut ko specifisku kaa piem Die http://die.sourceforge.net/ - tur arii skiet tiek izmantots raycastings preksh riteniem, tur vispaar ir interesants koliiziju princips (octree+raycast wheels), vai varbuut kluudos, tad kad es cekoju die veel bija zem linuxa ta ka neizdevaas paskatiities kaa tas darbojas realtaimaa.
Jointus odee var izmantot preksh amortizaacijas un stuureesanas (hinge2 - viss vienaa, taa teikt). |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Mon Apr 05, 2004 5:27 pm Post subject: |
|
probleema man shkiet ar ode ir taa ka tas buutiibaa naw teemeets uz speeleem un ar double precizitaati diezgan leens ir. A kad izmanto single precizitaate(briinumainaa kaartaa peec ilgas chakareeshanaas dabuuju wispaar lai straadaa) ir paaraak nestabila man. Un anyway tokamaks ir wienkaarshaak lietojams es uzskatu. protams jau weel tas pats aspekts ko mineeja vdl ka ratiem ar hinge2 ir sphere koliiziju detekcija, kas makani iesako - biki straujaak parauj stuuri un shameejs uz jumta. |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Mon Apr 05, 2004 11:16 pm Post subject: |
|
Eh, tomeer kluudiijos - DIE ir spheres preksh riteniem, suudiigs piemeers sanaaca
un vispaar tokamaks ar sensoriem vareetu buut izdeviigaaks tiesi autiniem, tas gan. |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Mon Apr 19, 2004 5:31 pm Post subject: |
|
Kaads, nezin kaa var panaakt lai kamera seko objektam [mashiinai](kautvai kaa GTA), man ir paaris idejas bet varbuut ir kaadi jau gatavi tutoriaali? |
|
Back to top |
|
|
gazz
Joined: 03 Jan 2004 Posts: 355 Location: Teika
|
Posted: Mon Apr 19, 2004 5:44 pm Post subject: |
|
Padaliishos ar sawu kodu
Code: | void CCamera::SetCamera(LPDIRECT3DDEVICE9 lpDevice, float fElapsed) {
// Wai ir uzstaadiits meerkjis(mashiina), dotajaa gadiijumaa memberis this->m_Car
if (!m_bTargetExist) return;
// Dabuujam mashiinas poziiciju
neV3 CarPos;
CarPos = this->m_Car->carRigidBody->GetPos();
// Taatad skatamies uz mashiinu
m_LookAt = D3DXVECTOR3(CarPos[0],CarPos[1],CarPos[2]);
// Ideaalaa kameras atrashanaas wieta uz kuru tiekties - aizmuguree un nedaudz uz augshu
D3DXVECTOR3 TargetPos(0.0f, 2.0f, -8.0f);
neT3 t;
t = this->m_Car->carRigidBody->GetTransform();
// paarweidojam no tokamak transform matricas uz dx matricu
D3DXMATRIX dxTrans = D3DXMATRIX( t.rot[0][0], t.rot[0][1], t.rot[0][2], 0.0f,
t.rot[1][0], t.rot[1][1], t.rot[1][2], 0.0f,
t.rot[2][0], t.rot[2][1], t.rot[2][2], 0.0f,
t.pos[0],t.pos[1], t.pos[2], 1.0f );
// paarwietojam ideaalo atrashanaas wietu pasaules koordinaatees
D3DXVec3TransformCoord(&TargetPos, &TargetPos, &dxTrans );
float x;
float y;
float length;
float fRatio;
// apreekjinaam ataalumu no ieprieksheejaas kameras poziicijas uz ideaalo atrashanaas poziiciju
x = m_LastPos.x-TargetPos.x;// = -1
y = m_LastPos.z-TargetPos.z;// = 3
length = sqrtf(x*x+y*y);
// Aatruma faktors ar kaadu kamera nonaak liidz ideaalajai poziicijai
float fRate = 2.0f;
// Rezulteejoshais attalums no ideaalaas kameras poziicijas
float ResLen = length * fElapsed * fRate;
// faktors ar kaadu tiek daliitas x un y komponentes lai kamera atrastos apreekjinaatajaa punktaa
fRatio = -ResLen/length;
// Apreekjinam kameras atrashanaas wietu
m_LastPos.x = m_LastPos.x + x*fRatio;
m_LastPos.y = TargetPos.y;
m_LastPos.z = m_LastPos.z + y*fRatio;
// Paarbaudam wai naw paaraak taalu no mashiinas
x = m_LastPos.x - m_LookAt.x;
y = m_LastPos.z - m_LookAt.z;
length = sqrtf(x*x+y*y);
if (length > 8.0f) {
// Paatrinaajuma koef lai wareetu kameru piebiidiit tuwaak/taalaa uz bremzeem/paaatrinaajumu
float Accel = 0.0f;
// Mashiina ripo uz priekshu wai aizmuguri? m_Car->m_WVelV3 ir ratu velocity vektors, kas noraada kaada wirzienaa mashiina kustas
if (m_Car->m_WVelV3[2][2] > 0) {
Accel = m_Car->m_WVelV3[2][2]/20.0f;
} else Accel = -m_Car->m_WVelV3[2][2]/20.0f;
// Rezulteejoshais attaalums no kameras liidz mashiinai
ResLen = 8.0f + Accel;
// faktors ar kaadu tiek daliitas x un y komponentes lai kamera atrastos apreekjinaatajaa punktaa
fRatio = ResLen/length;
// Apreekjinam kameras atrashanaas wietu
m_LastPos.x = m_LookAt.x + x*fRatio;
m_LastPos.y = TargetPos.y;
m_LastPos.z = m_LookAt.z + y*fRatio;
}
// Uzstaadam View matricu ar jauno kameras poziiciju
D3DXMATRIXA16 matView;
D3DXMatrixLookAtLH( &matView, &m_LastPos,
&m_LookAt,
&m_Up );
lpDevice->SetTransform( D3DTS_VIEW, &matView );
} |
Nu es kameru uztaisiiju shaadi - domaaju diezgan saprotami no komentiem . Ja kaadi jautaajumi - tad droshi. Iisteniibaa chase cameras ir diezgan wiltiigi uztaisiit. Tad weel te ir nepiecieshams pielikt klaat kameras koliiziju detekciju lai taa neiet cauri sienaam utt. |
|
Back to top |
|
|
Hobits Indago organizātors
Joined: 04 Jul 2003 Posts: 491 Location: Riga
|
Posted: Mon Apr 19, 2004 5:54 pm Post subject: |
|
Thanx, izproveesu, kameras koliizijas man bija doma uztaisiit ieliekot to bumbaa kuras diametrs ir drusku lielaaks lai kameras skatu punkts neiebrauc sienaas. |
|
Back to top |
|
|
chaosman
Joined: 28 Oct 2003 Posts: 64 Location: Rīga
|
Posted: Sun Apr 25, 2004 5:52 pm Post subject: |
|
Uzmetot aci kodam, ieveeroju, ka tiek lietota sqrt funkcija.
BAAAAAAAAAAD!
Lielākaja daļā algoritmu bez kvadrātskanes vilkšanas var iztikt diezgan labi, to var arī šajā gadījumā.
Pirmaa sqrtf (ja es pareizi saprotu, tad taa ir sqrt analoģiska funkcija, tikai ar citu nosaukumu) vispār nav vajadziiga, ja tu reāli izmanto tieshi shaadu kodu:
Code: |
float ResLen = length * fElapsed * fRate;
// faktors ar kaadu tiek daliitas x un y komponentes lai kamera atrastos apreekjinaatajaa punktaa
fRatio = -ResLen/length;
|
hmm, sorry par piekasiishanos, bet jeega kaada
Varbuut vienk. fRatio = -fElapsed * fRate ?
Otrajaa gadiijuma:
ja length aizvietos ar lengthSqr := x*x+y*y,
tad nekas buutisks nemainiisies. Tikai paatrinaajuma funkcija buus nevis lineaara, bet kvadraatiska. Ja tas tomeer nepatiik, tad zinot intervaalu (un shajaa gadiijuma ir preciizi zinaama vismaz apaksheeja robezha = 8 ) var rezultaatu diezgan precīzi izlabot, pieliekot konstantu koeficientu.
-------------------------
Neņemiet manis teikto vērā
Premature optimization is the root of all evil in programming. (C) Tony Hoare |
|
Back to top |
|
|
chaosman
Joined: 28 Oct 2003 Posts: 64 Location: Rīga
|
Posted: Sun Apr 25, 2004 6:10 pm Post subject: |
|
P.S.
Savai spēlei (ja tur būs trešās personas skats) domāju izmantot kameru piesietu konstantā augstumā (object space koordinātās), bet nenoteiktā attālumā virs chara galvas. Nekādas sfēras kolīzijai neizmantot, visu darīt ar vienkāršu HitBeam - funkciju, kas pārbauda, vai starp punktu A (charu ) un punktu B (potenciālo kameras pozīciju atrodas kāds objekts. Praktiski tā ir stara zīmēšana 3D telpā, sākot no chara galvas virzienā uz aprēķināto kameras pozīciju, līdz stars atmetās kādā mesh'ā.
Protams, ka racingaa jau tā lieta ir savādāka, bet varbūt kādam tomēr šī ideja noder |
|
Back to top |
|
|
|