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

Kameras Skatijums.

 
dev.gamez.lv Forum Index -> Grafikas programmēšana un teorija
View previous topic :: View next topic  
Author Message
WhiteFalcon



Joined: 16 May 2010
Posts: 102
Location: Rīga

PostPosted: Tue May 18, 2010 12:39 pm    Post subject: Kameras Skatijums.

Čau,Gribu pajautāt par 3D Kameru.
Kā lai modelim nostāda centru(vai to pievieno)?
Gribu lai kamera tiktu vērsta pret modeļa centru.
Code:

Effects.View =  Matrix.CreateLookAt(CameraPos,Centrs,Vector3.Up);
Back to top
View user's profile
EDDY



Joined: 07 Oct 2005
Posts: 1610
Location: Dzimtā zeme, Latvija

PostPosted: Tue May 18, 2010 12:49 pm    Post subject:

DirectX? OpenGL?
_________________
Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday
Back to top
View user's profile
WhiteFalcon



Joined: 16 May 2010
Posts: 102
Location: Rīga

PostPosted: Tue May 18, 2010 12:50 pm    Post subject:

Xna -Directx
Back to top
View user's profile
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue May 18, 2010 2:03 pm    Post subject:

LookAt darbojas pilnīgi neatkarīgi no DX vai GL - neklausies EDIJU, viņš dumus jautājumus uzdod.

Tavs kods dara tieši to, ko tu prasi - nostāda kameru pozīcijā CameraPos. Kamera skatās uz punktu Centrs (tb Centrs koordināte būs tieši ekrāna vidū), un kameras augša vērsta Vector3.Up virzienā.

Pārējās matricas tev pareizi saliktas (Projection / Word) ?
Back to top
View user's profile Send e-mail
WhiteFalcon



Joined: 16 May 2010
Posts: 102
Location: Rīga

PostPosted: Tue May 18, 2010 3:45 pm    Post subject:

Jā.
Code:
Efekti.EnableDefaultLighting();
                    Efekti.World = Transformacija[Modelis.ParentBone.Index]*Matrix.CreateRotationY(ModelRotacija)*Matrix.CreateTranslation(ModelaPozicija);
                    Efekti.View =  Matrix.CreateLookAt(KamerasPozicija,Centrs,Vector3.Up);
                    Efekti.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f), RedzesLoks, 1.0f, 10000.0f);
               
Es nedomaju Kameras(ekrana centru) bet gan modeļa centru.Pieņemsim ka kustas modelis un vēlos lai kamera kustētos līdzi modelim un Ekrana centrs ar modeļa centru sakristu. Vienkārši gribu lai kamera "Nenolaistu ne acu" no objekta Šajā gadījumā kā 3rd peroson speles.
Back to top
View user's profile
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Tue May 18, 2010 3:53 pm    Post subject:

centrs = modelja pozicija, modelim kustoties kamera sekos lidzi.
cameraPos = modelja pozicija + offsets. Lai kamera neatpaliktu no modelja, bet skatitos no noteikta attaluma.
Back to top
View user's profile
WhiteFalcon



Joined: 16 May 2010
Posts: 102
Location: Rīga

PostPosted: Tue May 18, 2010 4:37 pm    Post subject:

viss butu labi ja Modelis nejiegrimtu pamatne un stradatu X ass kas šāja gadijuma bija ka kameras rotācija.

Kods:
Code:
 Vector3 OffSet = new Vector3(0, 300, 3000);
                    Efekti.EnableDefaultLighting();
                    Efekti.World = Transformacija[Modelis.ParentBone.Index]*Matrix.CreateRotationY(ModelRotacija)*Matrix.CreateTranslation(ModelaPozicija);
                    Efekti.View =  Matrix.CreateLookAt(KamerasPozicija = ModelaPozicija + OffSet,ModelaPozicija,Vector3.Up);
                    Efekti.Projection = Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(45.0f), RedzesLoks, 1.0f, 10000.0f);
           
Back to top
View user's profile
Display posts from previous:   
dev.gamez.lv Forum Index -> Grafikas programmēšana un teorija 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