kerem kismet

Yeni üye
10 Kas 2015
6
0
0
(6) Ankara
Merhaba,
unity'den yeni geldim ve bir takım bocalamalar yaşamaktayım :)
bugun ikinci günüm. blueprintte bir şeyler yapmaya başladım. çok kolay ve zevkliymiş. 

fakat yaklaşık 3-4 saattir bir şeye takıldım. 
ben sadece sahnede, modellerim, ışık filan ve özel bir blueprintle kontrol ettiğim bir cameraactor olsun istiyorum. 
first person, third person kullanmak istemiyorum.
blueprintten setviewtargetwithblend'le kendi kamerama geçsem de.. play'e bastığım an level'da bir sürü kullanmadığım aicontroller cameraactor gamestate gibi objeler yaratılıyor. bunları, bi de özellikle benim kendi koyduğum kamera varken otomatik yaratılan ikinci kamerayı kapatmak, yaratılmamasını sağlamak mümkün mü?

çok teşekkürler ediyorum.
 
kerem kismet' Alıntı:
Merhaba,
unity'den yeni geldim ve bir takım bocalamalar yaşamaktayım :)
bugun ikinci günüm. blueprintte bir şeyler yapmaya başladım. çok kolay ve zevkliymiş. 

fakat yaklaşık 3-4 saattir bir şeye takıldım. 
ben sadece sahnede, modellerim, ışık filan ve özel bir blueprintle kontrol ettiğim bir cameraactor olsun istiyorum. 
first person, third person kullanmak istemiyorum.
blueprintten setviewtargetwithblend'le kendi kamerama geçsem de.. play'e bastığım an level'da bir sürü kullanmadığım aicontroller cameraactor gamestate gibi objeler yaratılıyor. bunları, bi de özellikle benim kendi koyduğum kamera varken otomatik yaratılan ikinci kamerayı kapatmak, yaratılmamasını sağlamak mümkün mü?

çok teşekkürler ediyorum.

Merhaba Kerem,

Aramıza hoşgeldin. Öncelikle bocalamalar yaşaman çok doğal. Başka engine'lerde ne kadar tecrübeli olursan ol, yeni bir engine'de her zaman tıkanmalar ve zorluklar yaşarsın, yaşarız :)

Öncelikle FPS ve TPS dışında da her türlü oyunu Unreal'da yapabilirsin. Buradaki sorununun sebebi muhtemelen Projeni oluştururken Empty değil de, örneğin FPS bir proje ile başlamış olman. FPS veya TPS gibi bir takım hazır projeler işlerimizi kolaylaştırmak için vardır. Örneğin Playercontroller adında hazır bir blueprint karakterimizi ve ona attach edilmiş kameranın kurallarını belirler. Bu blueprint'i ya modifiye etmelisin ya da empty proje oluşturarak hepsini kendin oluşturmalısın.

Bu gibi empty projelere başlarken youtube'dan öncelikle Unreal Engine 4 from scratch gibi keylerle araştırma yapmalısın.

Play tuşuyla oyunu başlattığında, oluşan gamestate, yada projectile'ı her oluşturduğunda yeni bir projectile sınıfı oluşturulup silinir. Bunu engellemenin yolu olmamalıdır. (Çünkü engine'in çalışma prensibi bu şekilde.)

Senin yapman gereken boş bir proje ile başlayarak, engine'in tüm blueprint elementlerini tek tek ekleyerek ilerlemek olmalı.
 
Mümkün ama UE4 tarzına pek uygun değil. UE4 için her zaman Actor'leri temsilen Controller'lar vardır. Bu Controller'lar, Player için PlayerController, yapay zeka için AIController olarak adlandırılır. Unity'de ana kamera (Camera.main) her zaman render işleminin yapılacağı kamerayı belirtir. Aslında oyuncu olmadan ana kameranın bulunması saçmadır. Bu yüzden kamera ve oyuncu UE4 üzerinde birleşik bir konsept. PlayerController üzerinden aktif kameraya erişebilir, kontrol tarzını değiştirmek için yeni bir PlayerController sınıfı(C++ yada) BP oluşturabilirsiniz.
 
hızlı cevaplar için ve cesaretlendirmeleriniz için çok teşekkür ederim!
unity ile işim itibari ile 3 sene geçirdim. bu kadar süre belli bir güven veriyor insana, her şeyi nasıl yapacağınız konusunda bir fikrriniz oluyor. 

ve şu anda o güvenle geldim ve ne kadar zorlanıyorum iki gündür anlatamam, iyi ders oldu bana :D

playercontroller'a blueprint yazma kısmını biraz bakınmıştım biraz dha bakmam gerekecek sanırım. 

şimdi örneğin küplerin icinde random gezen procedural bir kamera istiyorum diyelim level'ımda. 
aslında player'a filan ihtiyacım yok. sadece kendi yarattığım kamera'mı yöneten blueprint'le bütün işimi halletmeliyim gibi geliyor.

yani 2 gündür karışık okuduğumdan mıdır nedir.  "bana aicontroller yaratma.. özellikle 2. kamera yaratma lütfen, benim var" demeye net bir cevap bulamadım.   kendi kamerama geçebilsem de onun varlığına sinir oluyorum :D

biraz evvel önerileriniz üzerine bomboş bir proje yarattım . hatta starter content'i bile sildim!
ama halen klavye tuşları ile uçabildiğim benim kamerama ek bir kamera var  :s
 
Daha önce de söylemiştim, Unity'de az özellik var, hızlı öğreniliyor ama UE4'de hazır olan birçok şeyi ya baştan yazıyorsunuz yada halihazırda, oyun motoru çekşirdeğinde yer almayan ama oyun motoru ile gelen paketleri kullanıyorsunuz. UE4 ise bu hazır paketler oyun motorunun çekirdeğinde yer alıyor ve daha kapsamlı ve daha stabil. Başlangıç için birşeylerin kafa karıştırıcı olduğunu ve UE4' ün basit projeler için pratik olmadığını itiraf etmeliyim. Zaten bu Epic Games'in CEO'su Tim Sweeney'in de itiraf ettiği bir şeydi. Sözünü tam hatırlamasam da, basit projeler ve mobil ortamlar için Unity hala daha cazip bir oyun motoru itirafında bulunmuştu.

Sözü fazla uzatmadan Unity3D deneyimine sahip biri olduğunuzdan aşağıdaki makaleyi okumanızı tavsiye ediyorum, belki de okumuşsunuzdur, bilmiyorum. Bu makalede yazılanlar için özellikle İngilizce ile sorununuz varsa sormak istediğiniz yerleri sorabilirsiniz.

Sizin durumunuz ile ilgili kısaca birkaç şey söyleyim yine de. Öncelikle AI ile ilgili hiçbir şeye (şuan yapmak istedikleriniz için) ihtiyacınız yok. Siz bir kamera koysanız da UE4'ün bir kamera koymasının nedeni, koyduğunuz kameranın PlayerController'a ait olmamasından kaynaklanmaktadır. UE4 hemen size sizin Viewportunuza render işlemi yapacak bir kamera atar. Bunun da nedeni multiplayera uyum sağlamaktır. Unity'de çok oyunculu bir oyun yaptığınızda (birden çok sistem üzerinde çalışan) kamerayı nasıl kontrol edecektiniz? Her oyuncunun kendisine ait bir kamera kullanmanız gerekecekti. Bu durumu UE4'de gerçekleştirmek için Pawn'ımıza bir kamera yerleştiriyoruz. Her oyuncunun bu Pawn taslağınıkullanması için de GameMode üzerinde varsayılan Pawn olarak bu Pawn'ı gösteriyoruz. Artık bir şekilde UE4 yeni bir kamera oluştursa da (ki tek oyuncuda oluşturmayacaktır) bu taslağı kullanacaktır.

Neden Actor değil de Pawn kullanıyoruz. Çünkü 'PlayerController can only possess Pawn' (PlayerController sadece Pawn'ı kontrol edebilir).

İşte bu senaryoya göre küpleriniz Actor, sahnede dolaşan kameranız içerisinde CameraComponent bulunan bir Pawn olmalıdır. Sahnede dolaşma işlemi Pawn içinde yazılmalıdır, kamera onu takip edecektir. Sadece kameranın Pawn'a göre relatif(lokal) transformasyonunu ayarlayabilirsiniz. Pawn varsayılan olarak PlayerController ile gelir yine UE4 onu otomatik olarak atayacaktır, direnmeyin ;). Hem zaten ona ihtiyacınız var, aslında ilk ihtiyacınız olan şey PlayerController.


Unreal Engine 4' e yeni başlayan Unity3D geliştiricleri için makalenin linki: https://docs.unrealengine.com/latest/INT/GettingStarted/FromUnity/
 
cahitburak' Alıntı:
Daha önce de söylemiştim, Unity'de az özellik var, hızlı öğreniliyor ama UE4'de hazır olan birçok şeyi ya baştan yazıyorsunuz yada halihazırda, oyun motoru çekşirdeğinde yer almayan ama oyun motoru ile gelen paketleri kullanıyorsunuz. UE4 ise bu hazır paketler oyun motorunun çekirdeğinde yer alıyor ve daha kapsamlı ve daha stabil. Başlangıç için birşeylerin kafa karıştırıcı olduğunu ve UE4' ün basit projeler için pratik olmadığını itiraf etmeliyim. Zaten bu Epic Games'in CEO'su Tim Sweeney'in de itiraf ettiği bir şeydi. Sözünü tam hatırlamasam da, basit projeler ve mobil ortamlar için Unity hala daha cazip bir oyun motoru itirafında bulunmuştu.

Sözü fazla uzatmadan Unity3D deneyimine sahip biri olduğunuzdan aşağıdaki makaleyi okumanızı tavsiye ediyorum, belki de okumuşsunuzdur, bilmiyorum. Bu makalede yazılanlar için özellikle İngilizce ile sorununuz varsa sormak istediğiniz yerleri sorabilirsiniz.

Sizin durumunuz ile ilgili kısaca birkaç şey söyleyim yine de. Öncelikle AI ile ilgili hiçbir şeye (şuan yapmak istedikleriniz için) ihtiyacınız yok. Siz bir kamera koysanız da UE4'ün bir kamera koymasının nedeni, koyduğunuz kameranın PlayerController'a ait olmamasından kaynaklanmaktadır. UE4 hemen size sizin Viewportunuza render işlemi yapacak bir kamera atar. Bunun da nedeni multiplayera uyum sağlamaktır. Unity'de çok oyunculu bir oyun yaptığınızda (birden çok sistem üzerinde çalışan) kamerayı nasıl kontrol edecektiniz? Her oyuncunun kendisine ait bir kamera kullanmanız gerekecekti. Bu durumu UE4'de gerçekleştirmek için Pawn'ımıza bir kamera yerleştiriyoruz. Her oyuncunun bu Pawn taslağınıkullanması için de GameMode üzerinde varsayılan Pawn olarak bu Pawn'ı gösteriyoruz. Artık bir şekilde UE4 yeni bir kamera oluştursa da (ki tek oyuncuda oluşturmayacaktır) bu taslağı kullanacaktır.

Neden Actor değil de Pawn kullanıyoruz. Çünkü 'PlayerController can only possess Pawn' (PlayerController sadece Pawn'ı kontrol edebilir).

İşte bu senaryoya göre küpleriniz Actor, sahnede dolaşan kameranız içerisinde CameraComponent bulunan bir Pawn olmalıdır. Sahnede dolaşma işlemi Pawn içinde yazılmalıdır, kamera onu takip edecektir. Sadece kameranın Pawn'a göre relatif(lokal) transformasyonunu ayarlayabilirsiniz. Pawn varsayılan olarak PlayerController ile gelir yine UE4 onu otomatik olarak atayacaktır, direnmeyin ;). Hem zaten ona ihtiyacınız var, aslında ilk ihtiyacınız olan şey PlayerController.


Unreal Engine 4' e yeni başlayan Unity3D geliştiricleri için makalenin linki: https://docs.unrealengine.com/latest/INT/GettingStarted/FromUnity/




Bence her Unreal Engine kullanan forum arkadaşımızın mutlaka okuması gereken saf ve gerçek anlamda bilgi ile dolu bir anlatım hatta makale :)

Teşekkürler Cahit.