Unity Oyunlarınızdan 360° Screenshot Almak

Yayınlandı: 23 Ekim 2017 yasirkula tarafından Oyun Tasarımı, UNITY 3D içinde
Etiketler:, , , , , , , , , , ,

Yeniden merhabalar,

Bu yazımda, Unity oyunlarınızdan 360 derece ekran görüntüleri almanıza yarayan basit bir script paylaşacağım. Bu ekran görüntülerini Facebook veya Flickr gibi sitelere yüklediğinizde, resim etkileşimli bir şekilde 360 derece görüntülenir. Örneğin şu resmi bu yöntemle çektim (resmi 360 derece görmek için ise buraya tıklayın):

Link: https://github.com/yasirkula/Unity360ScreenshotCapture/raw/master/360Screenshot.unitypackage

Açıklama ve örnek kod için yazının devamını okuyabilirsiniz…

Linteki unitypackage‘ı projenize import ettikten sonra artık kodlarınızda I360Render.Capture() fonksiyonunu kullanarak 360 derece ekran görüntüleri alabilirsiniz. Dilerseniz bu fonksiyona parametre olarak resmin genişliğini ve resmin JPEG olarak mı yoksa PNG olarak mı kaydedilmesi gerektiğini de girebilirsiniz (örneğin I360Render.Capture(2048, false); fonksiyonu 2048×1024 boyutunda bir PNG resim oluşturur). Fonksiyon bir byte[] objesi döndürdüğü için bu array’i File.WriteAllBytes fonksiyonu ile istediğiniz bir yere kaydetmelisiniz.

Aşağıdaki örnek kod, oyun esnasında P tuşuna bastığınızda 360 derece bir screenshot alıp bunu cihazınıza kaydeder ve kaydedilen konumu konsola yazdırır. Ardından bu resmi Facebook’unuza yükleyecek olursanız resmin 360 derece görüntülendiğini göreceksiniz:

using System.IO;
using UnityEngine;

public class RenderTest : MonoBehaviour
{
	public int resimGenisligi = 1024;
	public bool jpegKaydet = true;

	void Update()
	{
		if( Input.GetKeyDown( KeyCode.P ) )
		{
			byte[] bytes = I360Render.Capture( resimGenisligi, jpegKaydet );
			if( bytes != null )
			{
				string path = Path.Combine( Application.persistentDataPath, "360render" + ( jpegKaydet ? ".jpeg" : ".png" ) );
				File.WriteAllBytes( path, bytes );
				Debug.Log( "Resim kaydedildi: " + path );
			}
		}
	}
}
yorum
  1. enceweb dedi ki:

    Faydalı bir çalışma olmuş hocam elinize sağlık…

  2. Ensar dedi ki:

    Hocam iyi günler. Başlıkla alakası yok ama bi sorum olacak. 2 boyutlu bi Sahnede bulunan karakterimizi sabit olarak artacak şekilde (5birim sağa) nasıl yaparım. Şuan karakter hareket ediyor ama geri gelmek istediğimde aynı noktaya gelmiyor. Yardımcı olursanız sevinirim.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s