Asset | Engin Polat\'ın Windows 8 , Windows Phone 8 ve C# içerikli programcılık sitesi

Arşiv

Etiketlenen yazılar asset

Unity3D projesinde Terrain ve Tree kullanarak sahne oluşturmak

03 March 2016 Yorum yapılmamış

Bu makaleyi okumadan önce Unity3D Kategorisindeki diğer makalelerimi okumanızı tavsiye ederim.

Bu makale sonunda oyun sahnenizde istediğiniz yeryüzü şekilleri ve ağaçlar oluşacak.

Öncelikle Unity3D‘yi açarak bir oyun projesi oluşturuyoruz;

GameObject menüsü altından 3D Object / Terrain menüsüne tıklıyor ve sahneye bir Terrain nesnesi ekliyoruz.

Sahneye eklediğimiz Terrain nesnesinin üzerine ağaçlar koymak istiyorsak, öncelikle projeye Tree Asset eklemeliyiz. Bunun için Assets menüsü altından Import Package / Environment menüsüne tıklamalıyız.

Açılan ekrandaki Import butonuna tıklıyoruz.

Böylece oyun sahnesine bir Terrain nesnesi ve Terrain üzerine yerleştireceğimiz Tree Asset‘lerini eklemiş olduk.

Inspector panelinde bulunan Add Tree butonuna tıklıyoruz.

Açılan ekranda istediğimiz Tree Asset‘lerden birini seçiyoruz;

Artık Terrain üzerine ekleyeceğimiz ağaçların farklı boylara sahip olması için Tree Height özelliğindeki aralığı istediğimiz gibi belirleyebilir, Mass Place Trees butonuna tıklayarak, açılan ekranda Terrain üzerine kaç ağaç eklemek istediğimizi belirleyebiliriz.

Bu makalede ben 1.000 ağaç ekleyeceğim.

Ağaçlar eklendikten sonra sahnemiz aşağıdaki gibi gözüküyor olmalı.

Inspector panelinde yeralan Raise/Lower Terrain butonuna tıklayarak Terrain üzerinde yükseltiler ve alçaltılar oluşturabiliriz. İstediğimiz şekli seçip, Settings altında yeralan Brush Size ile büyüklüğü belirleyip Terrain üzerinde dağlar ve vadiler oluşturabiliriz.

Eğer yakından bakacak olursak, Terrain üzerine eklediğimiz ağaçların dağların ve vadilerin yamaçlarında da yer alabildiğini görebiliriz.

Böylece istediğimiz kadar gerçekçi bir oyun alanı oluşturabilmemiz mümkün.

Windows 10 UWP uygulamasında resimleri yuvarlak göstermek

02 March 2016 1 yorum

Son yıllarda özellikle mobil uygulamalarda avatar dediğimiz stilde resimleri yuvarlak göstermek sıklıkla kullanılır oldu.

Bunu gerçekleştirebilmek için resimleri yuvarlak kaydetmeye gerek yok.

Bu makalede Windows 10 UWP projesinde resimleri nasıl yuvarlak gösterebileceğimizi inceleyeceğiz.

Önce bir Blank App (Universal Windows) projesi oluşturalım;

Projenin Assets dizinine yuvarlak göstermek istediğimiz resmi ekleyelim, bu makalede ben Bora Kaşmer‘in aşağıdaki resmini ekliyorum;

MainPage.xaml dosyasını açalım ve kodları aşağıdaki şekilde güncelleyelim;

<Page
	x:Class="YuvarlakAvatarResim.MainPage"
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:local="using:YuvarlakAvatarResim">

	<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
		<Image Source="/Assets/bora.jpg" Width="250" Height="250" />
	</Grid>

</Page>

Böylece ekrana bir Image nesnesi ekledik ve içerisinde Bora Kaşmer‘in resmini aşağıdaki gibi gösterdik;

Eğer bu resmi kare değil, yuvarlak göstermek istiyorsak, Grid nesnesinin içindeki Image nesnesini Ellipse nesnesi ile değiştirip, Fill özelliğine ImageBrush nesnesi ekliyoruz;

<Page
	x:Class="YuvarlakAvatarResim.MainPage"
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:local="using:YuvarlakAvatarResim">

	<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
		<Ellipse Width="250" Height="250">
			<Ellipse.Fill>
				<ImageBrush ImageSource="/Assets/bora.jpg" />
			</Ellipse.Fill>
		</Ellipse>
	</Grid>

</Page>

Böylece ekranımız aşağıdaki şekilde yuvarlak resim ile gözükür hale geliyor;

Unity3D ile kendi etrafında dönen Cube yapmak

23 January 2016 Yorum yapılmamış

Bu makaleyi okumadan önce Unity3D Kategorisindeki diğer makalelerimi okumanızı tavsiye ederim.

Bu makale sonunda sahneye koyacağınız bir Cube nesnesini kendi ekseni etrafında istediğiniz hızda döndürebileceksiniz.

Öncelikle Unity3D‘yi açarak bir oyun projesi oluşturuyoruz;

Unity3D Editor açıldıktan sonra, sahneye bir tane Cube nesnesi ekliyoruz;

  • Hierarchy panelinde boş bir yere sağ tuşla tıklanır
  • 3D Object menüsü altından Cube seçeneği seçilir
  • Hierarchy paneline eklenen Cube nesnesine çift tıklanır ve Scene alanında Cube nesnesine odaklanılır

Sahnedeki nesnelerin gözükebilmesi için üzerlerine ışık tutmak gerekir;

  • Hierarchy panelinde boş bir yere sağ tuşla tıklanır
  • Light menüsü altından Directional Light seçeneği seçilir

Kamera bakış açısını Scene alanında gördüğümüz gibi yapmak için Main Camera nesnesi seçili iken GameObject menüsünden Align with View alt menüsü seçilir.

Hierarchy panelinden Cube nesnesi seçilir, Inspector panelinde gözüken Add Component butonuna tıklanır, New Script menüsüne tıklanır ve SpinningCube yazılır.

Project Assets panelinde gözüken SpinningCube.cs dosyasına çift tıklanır ve Cube nesnesine eklediğimiz script dosyası açılır.

SpinningCube.cs dosyası içinde iki method yer almaktadır;

using UnityEngine;
using System.Collections;

public class SpinningCube : MonoBehaviour {

	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}

Start() methodu, Cube nesnesi oyunda ilk oluşturulduğunda bir defa çalıştırılır. Update() methodu ise oyunun her “kare“sinde tekrar tekrar çalıştırılır. Örneğin, 60fps hızında bir oyunda Update() methodu saniyede 60 defa çalışacaktır.

Update() methodu içerisinde Cube nesnesini yukarı-aşağı eksen etrafında hareket ettirmemiz gerekiyor. Böylece kendi ekseni etrafında dönüyormuş gibi gözükecek.

void Update () {
	transform.Rotate(Vector3.up, Time.deltaTime * 30);
}

Vector3.up ile, yukarı-aşağı yönlü ekseni belirliyoruz, Time.deltaTime ile oyunun çalıştığı cihazın hızından bağımsız olarak hareket etmesini garantiliyoruz, böylece hızlı cihazlarda hızlı, yavaş cihazlarda yavaş dönmeyecek. Son olarak 30 ile çarparak bir miktar hızlı dönmesini sağlıyoruz.

Şimdi oyunu çalıştırarak Cube nesnesinin kendi ekseni etrafında döndüğünü görelim;

Unity3D ile oyun geliştirme ortamını tanımaya başlamak

23 January 2016 Yorum yapılmamış

Unity3D cross-platform bir oyun geliştirme aracıdır. Unity3D‘yi kullanarak geliştirdiğimiz oyunu çok basit bir şekilde Windows, Android, iOS, Linux, Xbox, Playstation, vs. ortamlarına yükleyebiliriz.

logo

Öncelikle http://unity3d.com/get-unity adresinden Unity3D kurulum dosyasını indiriyoruz ve bilgisayarımıza kurulumu gerçekleştiriyoruz.

İsmi Unity3D olmasına rağmen, 4.3 versiyondan itibaren 2D oyunlar da yapabilmemize olanak tanıyan yeni yapılar içeriyor. Böylece 2D oyunları da Unity3D‘yi kullanarak yapabiliyoruz.

Unity3D‘yi açıp, hemen yeni bir oyun projesi oluşturalım;

Pencerenin üstünde yeralan New butonuna tıklıyor, gelen ekrandaki alanları doldurarak oyun projemizi oluşturuyoruz.

00

Unity3D editörü karşımıza geliyor. Editör‘ün içinde yeralan panelleri istediğimiz gibi özelleştirebiliyoruz. Böylece oyun projesindeki dosyaları pencerenin altına değil soluna yerleştirmemiz veya oyun sahnesini küçültüp oyunun önizlemesini ekrana koymamız mümkün.

01

Unity3D Editörünün panellerine hızlıca bakalım;

  • Hierarchy: Oyun sahnesinde bulunan tüm nesnelerin listesinin gözüktüğü panel. Yeni bir oyun projesi oluşturduğunuzda bu panel’de Main Camera nesnesi gözükür. Eğer sahneye Cube, Sphere, Cylinder, Spotlight, vs gibi nesneler ekleyecek olursak, bu panel’de listelenecekler. Bu panel’de listelenen nesneleri sürükleyip diğer bir nesnenin içine bırakarak nesneleri birbirleri ile ilişkilendirebilir ve parent/child yapısı oluşturabiliriz.
  • Scene: Oyun alanını bu alanda görür, modeller, tasarlarız. Herhangi bir nesneyi sahnede bulmak için Hierarchy panelindeki ismine çift tıklamamız yeterli.
  • Project Assets: Oyun içerisinde kullanabileceğimiz herşey (Texture, 3D Model, Script, vs) bu panelde listelenir. Bu panelde yeralan dosyalar oyun projesinin diskteki dizini ile birebir aynıdır. Oyun projesinin dizininde yeni bir dizin veya dosya oluşturursak aynı anda Project Assets panelinde gözükmeye başlar.
  • Inspector: Hierarchy veya Scene panellerinden seçilen nesne veya nesnelerin özelliklerini görebildiğimiz ve değiştirebildiğimiz paneldir. Inspector paneli sayesinde bir nesnenin oyun sahnesindeki konum, boyut, renk, kaplama, vs gibi özelliklerini görebilir, değiştirebiliriz.

Unity3D‘de bir oyun sahnesi oyuncuya kamera’nın bakış açısından gösterilir. Böylece ekrandan daha büyük alanlarda hareket etmek için aslında kamera’yı hareket ettiririz. Unity3D bir oyun projesi oluşturduğumuzda bizim için sahneye bir tane kamera (Main Camera) ekler. İstersek biz de sahneye ikinci veya üçüncü kameralar ekleyebiliriz.

02

3D oyunlarda kamera’nın Projection özelliği (kamera seçili iken Inspector panelinde görüntülenir) Perspective seçili iken, 2D oyunlarda kamera’nın Projection özelliği Ortographic seçili olmalıdır.

03

Eğer istersek Hierarchy panelinde görüntülenen nesnelerin isimlerini değiştirebiliriz, bunun için ilgili nesnenin üzerine sağ tuşla tıklayıp Rename menüsünü seçmemiz yeterli. Böylece Directional Light nesnesinin ismini Güneş olarak veya Cube nesnesinin ismini Sandık olarak değiştirebiliriz.

04

Unity3D‘de sahnede olan bir nesneye kendi özelliklerinin dışında yeni özellikler eklemek istiyorsak Inspector panelinde bulunan Add Component butonuna tıklamalı ve gelen listeden eklemek istediğimiz özelliğe göre bir öğeyi seçmeliyiz. Örneğin; Cube nesnemizin yerçekimi kanunlarına uymasını istiyorsak nesneye Rigidbody component’ını eklemeliyiz.

05

Eğer sahneye yeni nesneler eklemek istiyorsak basitçe Hierarchy panelinde boş bir yere sağ tuşla tıklayıp 3D Object menüsü altından Cube, Sphere, Cylinder, vs seçerek sahneye ekleyebiliriz.

06

Hierarchy panelinde sahneye eklediğimiz birden fazla nesneyi başka bir nesnenin içerisine sürükleyip bırakarak bir bütün olarak ele alınmalarını sağlayabiliriz. Böylece birlikte hareket ettirilip, birlikte döndürülebilir veya boyutlandırılabilirler.

07

Project Assets paneli içerisinde boş bir alana sağ tuşla tıklayıp oyun projesine yeni dizin, yeni script dosyası, yeni materyal, vs eklemek mümkün.

08

Genelde Project Assets panelinde ismi Scenes olan bir dizin oluşturulur ve oyun’daki sahneler bu dizine kaydedilir.

09

Eğer aktif sahneyi oynamak istiyorsak Unity3D editörü ekranının üstünde yeralan başlat (oynat) butonuna tıklanır ve oyun kamera’nın bakış açısından oynanmaya başlanır.

10

Oyuna eklemek istediğimiz çeşitli nesneler veya özellikler ile ilgili daha önce oluşturulmuş paketleri oyuna Assets menüsü altında bulunan Add Packages alt menüsü içerisinden ekleyebiliriz. Böylece oyuna hızlı bir şekilde ağaçlar, deniz, çeşitli arabalar, efektler veya duman / alev / havai fişek gösterisi, vs ekleyebilmemiz mümkün.

11