12 Aralık 2015 Cumartesi

unity  3d ile bir objenin ileri geri sağa sola gitmesini sağlamak

Unity 3d ile bir objeyi hareketlendirmek için Transform compenenti kullanılır

transform kompenentinden Translate fonksiyonuna ulaşılır.
oradan gerekli değişiklikler yapılır örneğin;

function Update(){

transform.Translate(0,0,0);
//burda objeme hiç hareket vermedim

transform.Translate(1,0,0);
//burda objeme "X" Eksenin de FRAME(kare) başına 1 metre gitrmesini sağladım

transform.Translate(0,1,0);
//burda objeme "Y" Eksenin de FRAME başına 1 metre gitrmesini sağladım

transform.Translate(0,0,1);
//burda objeme "Z" Eksenin de FRAME başına 1 metre gitrmesini sağladım

transform.Translate(0,0,-1);
//burda objeme "Z" Eksenin de FRAME başına 1 metre geri gitrmesini sağladım

transform.Translate(0,0,1*Time.timeDelta);
//burda objeme "Z" Eksenin de SANİYE başına 1 metre gitrmesini sağladım

transform.Translate(0,0,1*Time.timeDelta*Input.GetAxis("Horizontal"));
//burda sağ ok, ve sol ok tuşları ile  objeme "Z" Eksenin de SANİYE başına 1 metre gitrmesini sağladım

transform.Translate(0,0,1*Time.timeDelta*Input.GetAxis("Vertical"));
//burda yukarı  ok, ve aşağı ok tuşları ile  objeme "Z" Eksenin de SANİYE başına 1 metre gitrmesini sağladım

var hiz:int;
transform.Translate(0,0,1*Time.timeDelta*Input.GetAxis("Horizontal")*hiz);
//burda sağ ok, ve sol ok tuşları ile  objeme "Z" Eksenin de SANİYE başına 1 metre gitrmesini sağladım ve değişken tanımladım.
}

9 Nisan 2015 Perşembe

MİNECRAFT OYUNU YAPMAK(OYUN KAYIT SİSTEMİ EKLİ)

MİNECRAFT OYUNU YAPMAK(OYUN KAYIT SİSTEMİ EKLİ)
BY YK GAMES


http://ykoyunstudyosu.16mb.com/KODLAR/objeolustur.js
BU KODU OYUN İÇİNDE HERHANGİ BİR OBJENİN İÇİNE ATIN.
http://ykoyunstudyosu.16mb.com/KODLAR/positionkaydet.js
BU KODU OLUŞTURDUĞUNUZ OBJEYE ATIN OYUN KUSURSUZ ÇALI ŞACAKTIR.








2 Nisan 2015 Perşembe

"aa" GİBİ BİR OYUN NASIL YAPILIR RESİMLİ ANLATIM

"aa" GİBİ BİR OYUN NASIL YAPILIR RESİMLİ ANLATIM

OYUNUN DENEME WEB PLAYER SÜRÜMÜ
OYUNU DEĞİŞTİRMEK YADA ÖĞRENMEK İÇİN PROJECT DOSYASI



        unity ile 2d bir proje oluşturun.

         Yapmanız gereken ilk ilk önce photshop ile bir yuvarlak oluşturmak(100x100px boyutunda.).
texture ayarlarından renk modunu "true color seçin " (Böyle yaparsanız kenarlarda beyazlık oluşmaz.)
topu (0,0,0)kordinatlarına yerleştirin.
ismini "esastop" yapın.
sonra bir js kodu oluşturun.

var hizi=1.0;
public var renk1 :Color[];
public var bolumu =1;
function Start () {
bolumu=PlayerPrefs.GetInt("bolumu");
print(PlayerPrefs.GetInt("bolumu"));
}

function Update () {
transform.Rotate(0,0,hizi*Time.deltaTime);
}
public function Oyunukaybettin(){
test.gecis=1;
Time.timeScale=0.1;
camera.main.backgroundColor = renk1[0];
yield WaitForSeconds(0.5);
Application.LoadLevel("anamenu");
}
 public function Oyunukazandin(){
test.gecis=1;
Time.timeScale=0.1;
camera.main.backgroundColor = renk1[1];
yield WaitForSeconds(0.5);
bolumu++;
PlayerPrefs.SetInt("bolumu",bolumu);
Application.LoadLevel("anamenu");
}

bu kodu js dosyasının  içine kopyalayın
sonra bu kodu "esastop" objesinin içine atın




30 Mart 2015 Pazartesi

KOLAY UNİTY KOD YAZMA UNİTY BASİC CODE PROGRAM





                                        PROGRAMA GİT>>>>>

27 Mart 2015 Cuma

UNİTY 3D SİLAH KODU(WEAPONS SCRİPT FOR UNİTY 3D )


var silahmodeli: GameObject;
var alevvv : GameObject;
var mermi : GameObject;
var merminincikacagiyer:GameObject;
var atisarasi = 0.5;
var atisanim = "";
var atissesi : AudioClip;
var degistirmesuresi=1.0;
var birsarsordekimermi = 30;
var sarsorsayisi =5;
var sarsoranim="";
var sarsoranimhizi=1.0;
var sarsordegistirmesesi:AudioClip;
var standartanim="";
private var birsarsordekimermii = 30;
private var lastShot = -10.0;
private var atesedilebilirmi=true;

function Start(){
alevvv.renderer.enabled=false;
alevvv.light.enabled=false;
birsarsordekimermii=birsarsordekimermi;
}
function Update(){
GetComponentInChildren(TextMesh).text = "#"+birsarsordekimermii+"/"+sarsorsayisi;
if (!animation.isPlaying){
silahmodeli.animation[standartanim].speed = 1;
silahmodeli.animation.Play(standartanim, PlayMode.StopAll);
silahmodeli.animation.CrossFade(standartanim);
}}
function AtesEt () {
if (Time.time >= atisarasi + lastShot && birsarsordekimermii > 0 && atesedilebilirmi==true) {
audio.PlayOneShot(atissesi);
silahmodeli.animation[atisanim].speed = 2;
silahmodeli.animation.Play(atisanim, PlayMode.StopAll);
var instantiatedProjectile : GameObject = Instantiate (mermi, merminincikacagiyer.transform.position, merminincikacagiyer.transform.rotation);
lastShot = Time.time;
birsarsordekimermii--;
if(birsarsordekimermii==0){SarsoruDegistir();}
alevvv.transform.Rotate(0,0,15);
alevvv.renderer.enabled=true;
alevvv.light.enabled=true;
yield WaitForSeconds(0.1);
alevvv.renderer.enabled=false;
alevvv.light.enabled=false;
}
}
function SarsoruDegistir(){
if(sarsorsayisi>0){
audio.PlayOneShot(sarsordegistirmesesi);
atesedilebilirmi=false;
silahmodeli.animation[sarsoranim].speed = sarsoranimhizi;
silahmodeli.animation.Play(sarsoranim, PlayMode.StopAll);
silahmodeli.animation.CrossFade(sarsoranim);
yield WaitForSeconds(degistirmesuresi);
atesedilebilirmi=true;
animation.Stop();
sarsorsayisi--;
birsarsordekimermii=birsarsordekimermi;
}
}

13 Mart 2015 Cuma

FOR ARGUMANI KULLANIMI (ANLAMADIĞINIZ YER OLURSA SORUN)

FOR ARGUMANI KULLANIMI (ANLAMADIĞINIZ YER OLURSA SORUN)

function OnGUI ()
 {
  var names = QualitySettings.names;
  GUILayout.BeginVertical ();
  for (var i = 0; i < names.Length; i++)
  {
   if (GUILayout.Button (names[i]))
    QualitySettings.SetQualityLevel (i, true);
  }
  GUILayout.EndVertical ();
 }

6 Mart 2015 Cuma

SHOP ALIŞVERİŞ KODU (ANLAMADIĞINIZ YER OLURSA SORUNUZ)

SHOP ALIŞVERİŞ KODU 



var ismi1 = "";
var hasar1 = "";
var sarsor1 = "";
var fiyati1 = 0;
var mermi1 = "";
var GeneralWidth = 200;
var genelyukselik : float;
static var ayarlanabiliryukselik : float;
var satinalindi=0;
public var genislik : float = 400;
public var yukseklik : float = 125;
function Start ()
{
ismi1=gameObject.name;
satinalindi=PlayerPrefs.GetInt( ismi1 , satinalindi);
}
function OnGUI () 
{
var baslangicX = ((Screen.width * 0.5) - (genislik * 0.5));
var baslangicY = ((Screen.height * 0.5) - (yukseklik * 0.5));
GUILayout.BeginArea(Rect(baslangicX,baslangicY, genislik, yukseklik));
   GUI.Box(Rect(GeneralWidth - 200,ayarlanabiliryukselik+genelyukselik+0,400,95),ismi1);
   if(satinalindi==0){
   if(GUI.Button(Rect(GeneralWidth + 120,ayarlanabiliryukselik+genelyukselik+72,80,20),"SATIN AL") && para.para > fiyati1)
   {
        
para.ParaSil(fiyati1);
satinalindi++;
PlayerPrefs.SetInt( ismi1 , satinalindi);
  


  }}else{
   if(GUI.Button(Rect(GeneralWidth + 120,ayarlanabiliryukselik+genelyukselik+72,80,20),"KULLAN"))
   {
PlayerPrefs.SetInt("secilisilah",silahshop.ii);
   }}
   GUI.Label(Rect(GeneralWidth - 120,ayarlanabiliryukselik+genelyukselik+2,80,25),"Hasar: " + hasar1);
   GUI.Label(Rect(GeneralWidth - 120,ayarlanabiliryukselik+genelyukselik+24,100,50),"Mermi:" + mermi1);
   GUI.Label(Rect(GeneralWidth - 120,ayarlanabiliryukselik+genelyukselik+46,130,25),"Şarjör Sayısı: " + sarsor1);
   GUI.Label(Rect(GeneralWidth + 20,ayarlanabiliryukselik+genelyukselik+68,130,25),"Gereken Level: 1");
   GUI.Label(Rect(GeneralWidth + 90,ayarlanabiliryukselik+genelyukselik+8,130,25),"Adı: " + ismi1);
   GUI.Label(Rect(GeneralWidth + 90,ayarlanabiliryukselik+genelyukselik+47,130,25),"Fiyat: " + fiyati1);   
   GUILayout.EndArea();
}

PARA SHOP KODU

PARA SHOP KODU


public static var para = 10000;
function Start(){
para= PlayerPrefs.GetInt("para",para);

//oyununda Çıktığındaki parayı geri getirir.

}
function OnGUI () 
{

    GUI.Box(Rect(10,100,180,25),"PARAM: " + para);

//Ekranın sağ köşesine paranı yazdırır



}
public static function ParaEkle(eklenecek:int){
para+=eklenecek;
PlayerPrefs.SetInt("para",para);
}
public static function ParaSil(cikarilacak:int){
para-=cikarilacak;
PlayerPrefs.SetInt("para",para);
}
public static function ParaDataSil(){
PlayerPrefs.DeleteKey("para");
}


//Kullanım
//ParaEkle(10); paraya 10 ekler ve veriyi kayddeder.
//ParaSil(10); paradan 10 çıkarır ve veriyi kayddeder.
//ParaDataSil(); para verisini kökteen siler.

2 Mart 2015 Pazartesi

OLUŞTURMA KODU (SPAWNER)

OLUŞTURMA KODU (SPAWNER)

var spawnPoints : Transform[];
var enemyPrefabs : GameObject[];
var amountEnemies = 20;
var yieldTimeMin = 2; 
var yieldTimeMax = 5;
private var i:int;
function Start()
{
    olustur();
}
function olustur() 
   for (i=0; i<amountEnemies; i++)
   {
      yield WaitForSeconds(Random.Range(yieldTimeMin, yieldTimeMax)); 
      var obj : GameObject = enemyPrefabs[Random.Range(0, enemyPrefabs.length)];
      var pos: Transform = spawnPoints[Random.Range(0, spawnPoints.length)];  
      Instantiate(obj, pos.position, pos.rotation); 
   } 
}  

UNİTY 3D NAVİGATİONU KULLANAN ZOMBİ YAPAY ZEKA(JAVASCRİPT)

UNİTY 3D NAVİGATİONU KULLANAN ZOMBİ YAPAY ZEKA

// HAREKET
var hedef : GameObject;
var canidussrulecekobje:GameObject;
// ANİMASYON
var saldirianim="";
var yuruanim="";
var oluanim="";
var animobje : GameObject;
// SES
var yurumesesi:AudioClip;
var saldirisesi:AudioClip;
// navigation
private var nav : NavMeshAgent;
function Start(){
hedef=GameObject.FindWithTag ("Player");
}
function Awake(){
animobje.animation.wrapMode = WrapMode.Loop;
animobje.animation.Stop();
nav = GetComponent(NavMeshAgent);
}
function LateUpdate () {
if (hedef) {
{
var mesafe = Vector3.Distance(hedef.transform.position, transform.position);
if(mesafe<1.5){ 
nav.destination = transform.position;
animobje.animation[saldirianim].speed = 1;
animobje.animation.Play(saldirianim, PlayMode.StopAll);
animobje.animation.CrossFade(saldirianim);
audio.PlayOneShot(saldirisesi);
}else{
nav.destination = hedef.transform.position;
animobje.animation[yuruanim].speed = 2;
animobje.animation.Play(yuruanim, PlayMode.StopAll);
animobje.animation.CrossFade(yuruanim);
audio.PlayOneShot(yurumesesi);
}

}
}
}
function OnDrawGizmosSelected (){
if (hedef != null) {
            Gizmos.color = Color.red;
            Gizmos.DrawLine(transform.position, hedef.transform.position);
}
}

kompenenet olarak nav mesh agent eklemeniz yeterli
çok zeki olacaklardır yapayzekalar benim hoşuma gitti isteyenlere
asset paylaşımı yapacağım (zombi model, animasyon, ses, script  gibi)

1 Mart 2015 Pazar

FONKSİYON OLUŞTURMA


FONKSİYON OLUŞTURMA


Fonksiyon olusturmak cok basittir. fonksiyonun ismiyle fonksiyonun calistirilacagi zaman ki argumanlari yazmakyeterlidir. şimdi bir ornek verecegim .


 #örnek1

function Start(){
YasimiHesapla();
}
var bulundugunyil =2015;
var dogumyilin=1994;
function YasimiHesapla(){
print(bulundugum-=doumyilin)

}

#örnek2

function Start(){
oynat("kos");
}

function oynat  (anim : String){
animation.Play(anim);
}




25 Şubat 2015 Çarşamba

20 Şubat 2015 Cuma

ŞİMDİKİ DERSİMİZ ÇOK FARKLI FARMİNG SİMULATOR İÇİN MOD

ŞİMDİKİ DERSİMİZ ÇOK FARKLI FARMİNG SİMULATOR İÇİN MOD


FARMİNG SİMULATOR>SDK>GIANT EDİTORU KURUN
SONRA
FARMİNG SİMULATOR > SDK >blender_i3d_export_6.0.2_win AÇIN
extract fille YAZAN YERDEN 
ÇIKARIN.İÇİNDEKİ DOSYAYI
Blender Foundation\Blender\2.66\scripts\addons İÇİNE KLASÖR ŞEKLİNDE EKLEYİN
SONRA 
BLENDERE AÇIN
CTRL+ALT+U
YA BASIN

ÇIKAN PENCEREDEN ADDON SEKMESİNE TIKLAYIP
AŞĞIDAN GIANT İ3D EXPORTER TOOLS BULUP YANINA TİK KOYUN
SAVE USER SETTİNG DİYİP KAPATIN

BURADAKİ İŞİMİZ BİTİİ ŞİMDİ GELDİ SIRA İMPORTA ETMEYE



ÖNCE SKETCUP TA YAPTIĞINIZ MODELİ ŞU ŞEKİLDE EXPORT DİYİN.
FİLE >EXPORT>3DS veya OBJ
SONRA O MODELİ BLENDERA AKTARIN
FİLE>İMPORT>Bİ ÖNCEKİ AKTARDIĞINIZ DOSYAYI ALIN.3DS
SONRA TEKRAR
FİLE>EXPORT>Bİ ÖNCEKİ ÇIKARIN DOSYAYI ALIN.İ3D
DİYİN VE 
BİR MAP DOSYAASINI GIANT EDİTORLE AÇIN 
FİLE>İMPORT>Bİ ÖNCEKİ AKTARDIĞINIZ DOSYAYI ALIN.İ3D
SONRA
ATTIĞINIZ DOSYA SCENEGRAPH PANELİNİN EN ALTINA GELİCEKTİR.
"F" TUŞUNA BASARAK
KAMERAYI DİREK O OBJEYE YÖNLENDİREBİLİRSİNİZ.




DERSİMİZ BİTMİŞTİR.

18 Şubat 2015 Çarşamba

UNİTY İLE BİR YERE TIKLANDIĞINDA ORAYA OBJE OLUŞTURMA (MİNECRAFT MİSALİ)

UNİTY İLE BİR YERE TIKLANDIĞINDA ORAYA OBJE OLUŞTURMA (MİNECRAFT MİSALİ)




istek üzerine paylaşacağım.


ÜÇ AYDIR YAPMAYA DEVAM ETTİĞİM PROJEM PROJEM

ÜÇ AYDIR YAPMAYA DEVAM ETTİĞİM PROJEM PROJEM

"ASFALT AĞLADI" ADINDA BİR OYUN ÜZERİNDE UĞRAŞIYORUM ŞİMDİLİK GÜZEL GİDİYO Bİ KAÇ FOTOĞRAFINI SİZİNLE PAYLAŞMAK  İSTEDİM.








YORUM VE SORULARINIZI BEKLİYORUM.

OYUN YAPMAK İÇİN KULLANILAN PROGRAMLAR.

OYUN YAPMAK İÇİN KULLANILAN PROGRAMLAR.


      oyun yapmak için bir sürü program kullanılır. bunlar:
  1. modelleme
  2. kaplama 
  3. kod 
  4. oyun düzenleme
olarak 4e ayırabiliriz. size bunlar için örnekler vermek istiyorum.

A. modelleme için kullanabileceğiniz programlar.

  1. BLENDER
  2. 3DSMAX
  3. CHEETAH
  4. CİNEMA4D
  5. AUTODESK
  6. MAYA
  7. SKETHUP(PROGRAMDAN SAYMIYACAKTIMDA NEYSE)
B.kaplama için kullanabileceğiniz programlar.
  1. ADOBE PHOTHOSHOP
  2. GİMP
  3. PAİNT:)
C. kodlama için kullanabileceğiniz programlar.
  1. MONODEVELOP(UNİTYNİN YANINDA GELİYOR)
  2. NOTEPAD++ 
  3. NOT DEFTERİ:)
D.oyun düzenleme kullanabileceğiniz programlar.
  1. UNİTY 3D
  2. CRYENGİNE
  3. UNREALENGİNE
  4. GAME MAKER:)
İSTEK OLURSA BU PROGRAMLARIN TAMAMI İÇİN BİR KILAVUZ HAZIRLAYABİLİRİM.



YORUM VE SORULARINIZI BEKLİYORUM.

DEĞİŞKEN NASIL OLUŞTURULUR?

DEĞİŞKEN NASIL OLUŞTURULUR?

     



        Javascriptteki değişkenleri oluşturmakolaydır. bi kaç örnekle anlatmaya çal
ışacağım.

    var para : int;
    var para = 0;
    var virgulluSayim:float;
    var virgulluSayim=0.0;
    var yazi : string;
    var yazi ="merhaba";
    var oylemiymis :boolean;
    var oylemiymis = true;   (yada false yazılabilir)
  
Değişkenlerin yazim şekli vardir. örneğin  "ahmetinYasi" diye yazdığımızda editorde gözükecek olan "Ahmetin Yası" şeklinde olur.



Variablelerin farklı işlevlere sahip şekillerde kullanımları vardır. Bunlar private (editorde gozükmeyenkod için kullanılan) public(editorde gözüken diğer scriptler tarafından ulaşılabilen) ve static (editorde gözükmeyen diğer scriptler tarafından kolay ulaşılabilen ) dir.





YORUM VE SORULARINIZI BEKLİYORUM.



DEĞİŞKENLER(VA RİABLE) NEDİR?

DEĞİŞKENLER(VARİABLE) NEDİR?

            
        Değişkenler değişiklik gösterebilen birimlerdir. Kodlamanın en önemli kısımlarından birini oluşturur. Çok sayıda değişken tipi vardır. Değişken kelimesinin ingilizcesi variable dir. 
           
        Variableler çoğu zaman sayı, yazi(text) veya argumanlar halinde bulunabilir.Javascriptdeki en önemli değişkenler int(normal virgülsüz sayı), float(virgüllüsayı), string(yazı(text)), boolean(değeri true(doğru)false(yanlış)olan değişkendir) değişkenidir.
            
       Bizim öğreneceğimiz Unity3d programlama dili(javaascripte uyarlanmış bir dildir) dili olacağından Unitynin variablelerini de öğreneceğiz.
            
        Değişkenlerin nasıl anlatılırsa en iyi şekilde olacağını bayağı düşündüm aslına bakırsa. Örneğin bir sepetinizdeki elma sayısı bir değişken olsun, sepettede 10 elma olsun ben eger bir elmayı yersem 9 elma kalmış olur ve veri değişmiş olur.Değişkene oyun yaparken bir örnek verirsek şüphesiz bu örnek puan veya para değişkeni olur.


          Variablelerin farklı işlevlere sahip şekillerde kullanımları vardır. Bunlar private (editorde gozükmeyenkod için kullanılan) public(editorde gözüken diğer scriptler tarafından ulaşılabilen) ve static (editorde gözükmeyen diğer scriptler tarafından kolay ulaşılabilen ) dir.





YORUM VE SORULARINIZI BEKLİYORUM.