GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

Kamera ile bir nokta nasıl ayarlanır?

Başlatan Codes., 03 Ekim 2019, 00:42:07

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Codes.

Merhabalar,
bu konuda sizlere kamera ile bir nokta nasıl ayarlanır onun hakkında bir anlatım, açıklayıcı tanım yapacağım. İyi Forumlar!


İlk öncelikle bir kamera noktası ayarlamak için hangi sistemler lazım?

Mesela Spawn Ayarlama Noktası sistemi yapacağız. Birim çember üzerinde şu şekilde gösterebiliriz.

Birim Çember Formülleri : 1.Formül[X2 + Y2 = 1] 2.Formül[(X,Y)

Şimdi nedir bu birim çember diyeceksiniz?

Arkadaşlar burada işte matematiğimizi konuşturacağız. Koordinat üzerinde bunu gösterebilirdik ama şöyle bir hata çıkabilirdi. Sağ Üst tarafa bakmasını istiyoruz ama bakmıyor koordinat'da böyledir.

Birim çemberde ise şöyle oluyor mesela siz bir spawna ayarlama noktası yaptınız. Ama oranın sağ üst'e bakarak durmasını istiyorsunuz. Bu yüzden birim çember üzerinde göstermemiz lazım.


Örnek Resim;



Şimdi bunu map editor ve yaptığım komutla yapacağız. Map editor üzerinde spawn noktamızı ayarlıyoruz ben sizin için hazırladım.

PAWN Kodu: Seç
SetPlayerPos(playerid, 1996.4093,1544.1047,15.2913);
SetPlayerFacingAngle(playerid, 272.4439);
SetPlayerCameraPos(playerid, 2003.9183, 1543.9656, 17.2248);
SetPlayerCameraLookAt(playerid, 2002.9135, 1543.9508, 16.8846);

Resim;



Spawn sistemi üzerinde birim çember nasıl yapılır?

Şimdi formülleri önceden sizlere vermiştim. İlk önce 1.Formül'den gideceğiz X2 + Y2 = 1 mesela olarak çıktı yani burada pozitif durum olarak o zaman 2.Formüle göre şunu diyebiliriz. 360 derece (1,0), 1 = cosx(kosinüs), sinx(sinüs) şeklinde cevaplayabiliriz. Yani şimdi demek istediğim Doğu'nun kosinüsü = 1, sinüsü = 0 olarak çıkıyor bu yüzdende spawn noktasını ayarlarken (1,0) birim çember üzerinde ama biz direk pawno'da A(X,Y), B(X,Y) şeklinde ayarlayacağız. if == A(X,Y) else için B(X,Y) yapacağız şimdi komutu sizlere sunuyorum. Bir de bir şey demeyi unutmuşum Birim çemberde olan en alt yer kosinüs alfadır. (Resimdeki Yer)

Komut ZCMD üzerine yapılmıştır.


PAWN Kodu: Seç
CMD:spawnisinlan(playerid)
{
 new BirimCember, aPosX, aPosY, aPosZ, bPosX, bPosY, bPosZ;
 new taktak1, taktak2;
 if(BirimCember == taktak1) SetPlayerPos(playerid, aPosX, aPosY, aPosZ); // Eğer +1 yönündeyse
 else if(BirimCember == taktak2) SetPlayerPos(playerid, bPosX, bPosY, bPosZ); // Eğer -1 yönündeyse
 return 1;
}
[/size]

Konu anlatımımız bu kadardı iyi forumlar!


watson

Paylaşım için teşekkürler, yararlı.


Codes.

Alıntı yapılan: Escapist - 03 Ekim 2019, 17:00:56
Paylaşım için teşekkürler, yararlı.

Güzel yorumunuz için teşekkür ederim.


ayazcik

Biliyormusun? Öğretmenim bana böyle anlatmadı.


Codes.

Alıntı yapılan: AyazDuru - 04 Ekim 2019, 06:46:08
Biliyormusun? Öğretmenim bana böyle anlatmadı.

Anladıysanız ne mutlu bana :)


laéx

Paylaşım için teşekkürler, yararlı.


Codes.


squarepants

tam olarak anlamak zor yanlış anlama yıkıcı değil yapıcı bir eleştiri , ve koordinatlar integer veri tipinde mi ?


Codes.

Alıntı yapılan: ThePosition - 07 Ekim 2019, 21:01:15
tam olarak anlamak zor yanlış anlama yıkıcı değil yapıcı bir eleştiri , ve koordinatlar integer veri tipinde mi ?

Şöyle (X,Y,Z,T) şeklinde "Pos" dediğimiz olayındadır. Yani (X,Y,Z,T) ama ben bunu matematik ile anlatmak istediğim için öyle daha ayrıntılı ve detaylı oluyor yani mantıklı bir anlatım konusudur.


squarepants

Sanırım bu fonksiyon ile daha kolay olabilirdi anlatım , bu arada güzel konu ^^

stock GetXYInDirection(& Float: X, & Float: Y, Float: Angle, Float: distance = 1.0) {
    X -= (floatsin(Angle, degrees) * distance);
    Y += (floatcos(Angle, degrees) * distance);
}


Codes.

Alıntı yapılan: ThePosition - 07 Ekim 2019, 22:58:39
Sanırım bu fonksiyon ile daha kolay olabilirdi anlatım , bu arada güzel konu ^^

stock GetXYInDirection(& Float: X, & Float: Y, Float: Angle, Float: distance = 1.0) {
    X -= (floatsin(Angle, degrees) * distance);
    Y += (floatcos(Angle, degrees) * distance);
}

Bunu anlatarak aslında haklısın ama ben sadece mantığını anlatmak istemiştim yani pawnoda matematiksel işlemlerde var onu anlatmak istedim.


TuraL.

Biliyorum kaç ay olmuş paylaşım yapmısın birşey demek istiyorum bence 'Texture Studio' ile nasıl yapılır onu göstersen güzel olurdu.