Sanal gerçeklik yaratmanın temelleri. VR geliştiricisi. VR Uygulama Geliştirme: Fikirden Para Kazanmaya - Eğitim Videoları

Sonunda potansiyel ortaya çıktı sanal gerçeklik eğlence ve bilim alanında. Sürekli gelişen yüzlerce proje üzerindeki çalışma, VR geliştiricilerinin omuzlarına düşüyor. Bu, yüksek talep gören yeni nesil programcılar. Bir VR geliştiricisi nasıl işe alınır, henüz ayrıntılı olarak yanıtlanmamış bir sorudur. Ama deneyelim.

Elbette bir sanal gerçeklik geliştiricisi her şeyden önce bir geliştirici olmalıdır. Bu arada, iyi, belirli bir dizi beceriyle. Bu beceriler aynı zamanda bir VR geliştiricisi kiralamak isteyen girişimciler için de birer işarettir. Bir kombinasyon olmalı:

  • Programlama
  • Video / ses becerileri
  • Oyun geliştirme
  • kullanıcı arayüzü / kullanıcı deneyimi

VR projeleri çok geniş ve çeşitlidir ve teknoloji, sinema, tıp, mimari, iç tasarım vb. alanlarda beceri gerektirebilir. Başka bir deyişle, sadece 3B ortamlar oluşturabilmek yeterli değildir. Bir VR geliştiricisinin genellikle yeni fikirler bulması gerekir.

Bir VR geliştiricisi nerede bulunur?

Harika bir VR uygulaması için bir fikriniz var ve soru şu ki, bir VR geliştiricisini nerede bulabilir ve kiralayabilirsiniz? Temel olarak, aralarından seçim yapabileceğiniz dört yön vardır: geliştirici toplulukları, serbest çalışan siteler, kaynak kod platformları, sosyal ağlar... Örneğin, resmi VR geliştirici toplulukları, gibi:

Bir sonraki seçenek bağımsız geliştiriciler. gibi sitelerde Upwork, Toptal ve Serbest çalışan tüm sanal gerçeklik uzmanlarını bulabilirsiniz (neredeyse). Bazılarıyla konuşun ve proje fikrinizle neler yapabileceğinizi görün, neden olmasın? Bağımsız VR geliştiricileri bulmak için bazı kaynaklar şunlardır:

RedVR ve VRdeveloper gibi yalnızca AR ve VR geliştiricileri için iş arama siteleri bile var. Ayrıca SVVR İşlerine de göz atabilirsiniz. Github, Gitlab, Codepen ve diğer depolarda, geliştiriciler genellikle çalışmalarının bir gösterimi olan projelerinin kaynak kodunu yayınlar.

Reddit veya tematik gruplar Facebook'ta aramalarda da yardımcı olabilir:

Ayrıca çeşitli konferansları, toplantıları ve VR etkinliklerini de unutmayın.

Şimdi birkaç tür teknolojiye özel VR geliştiricisine ve onlara yaklaşmadan önce nelere dikkat etmeniz gerektiğine bir göz atalım.

Google Cardboard Developer'ı İşe Alın

Google Cardboard, VR endüstrisinde "yıkıcı etki" olarak adlandırılan şeyle sonuçlandı. Basitçe söylemek gerekirse, içine yerleştirilmiş bir akıllı telefon ile en ucuz sanal gerçeklik kulaklığını yaratan karton bir resim görüntüleyicidir. Geliştiriciler için bu, VR uygulamaları oluşturmak için uygun bir platformdur.

Google karton VR uygulamaları için hedef mobil platforma bağlı olarak, geliştiricinin iyi Java, Objective C veya C # becerilerine sahip olması gerekir. iOS, Android vb. için geliştirme becerilerinin yanı sıra mashup becerileri de gereklidir.

Samsung Gear VR Developer'ı İşe Alın

Samsung'un Gear VR başlığı, mobil cihazlardan içeriği görüntülemek için 96 derecelik bir görüntüleme açısına sahiptir. Geliştirme için Oculus platformunu kullanır, bu nedenle bir Gear VR geliştiricisi kiralamak istiyorsanız, en azından Oculus mobil SDK'sına aşina olmalıdır.

Bunlar Unity, Vuforia veya Unreal gibi oyun motorlarında becerilere sahip C, C++ ve C# kodlayıcıları olmalıdır. Gördüğünüz gibi, bir VR geliştiricisi tutabilmek için platforma özgü şeylerden de haberdar olmanız gerekiyor. Java programcıları yardımcı olabilir. Render için Gear VR tel kafesleriyle çalışma.

Bonus ipucu: Birçok VR geliştiricisi ve 360 ​​derecelik video yaratıcısı, çalışmalarını genellikle yaratıcıları bulabileceğiniz, değerlendirebileceğiniz ve muhtemelen onlarla bağlantı kurabileceğiniz Samsung VR uygulamasıyla paylaşır.

Bir PlayStation VR Geliştiricisi İşe Alın


PSVR, PlayStation 4 oyun konsolu için tasarlanmış daha gelişmiş bir donanımdır.Bir VR başlığına ek olarak, kit ayrıca 2 hareket kontrol cihazı, bir izleyici, kulaklık ve diğer birkaç aksesuar içerir. Bu %100 bir oyun ürünüdür, bu nedenle bir VR geliştiricisi oyun geliştirmede her şeyden önce anlamalıdır.

Sony, geliştirme kitini henüz açıklamadığı için PSVR geliştiricisi olmak için gereken gereksinimler ve araçlar gizli kalıyor. VR meraklılarından bazıları, PS4'ten VR'ye kitinin, PC'ye takılan bir kulaklığa sahip normal bir PS4 olduğunu düşünüyor.

Her neyse, PlayStation'da bir oyun oluşturmak için bir VR geliştiricisi tutmak istiyorsanız, öncelikle oyun stüdyolarını veya bireysel oyun geliştiricilerini aramalısınız.

Bir SteamVR Geliştiricisi İşe Alın

SteamVR, HTC Vive, Oculus Rift ve Open VR başlıklarında çalışan bir sanal gerçeklik Steam başlatıcısıdır. Çoğunlukla Vive için kullanılır. Özel 360 VR deneyiminiz, etkileşimli oyuna ayrılmış ayrı bir oda gerektirdiğinden, VR geliştiricinizin çok yetenekli bir 3D oyun yaratıcısı olması gerekir.

Vive'ın katı gereksinimleri vardır: en az 2 x 1,5 metrelik bir oda, bir kulaklık, 2 baz istasyonu, 2 kontrol cihazı, kablolar ve adaptörler, kulaklıklar, monitörlü bir bilgisayar. Açıkçası, VR oyun geliştirme çok büyük ve özellikler ve etkileyici manzaralar açısından zengin olmalıdır. Bunlar Arizona Sunshine gibi zombi nişancı oyunları veya Hover Junkies gibi çok oyunculu aksiyon nişancı oyunları.

SteamVR geliştirici topluluğu, bu tür projeleri tamamlamak için tüm araçlara ve becerilere sahip olduğunu iddia ediyor. Unreal ve Unity motorlarını kullanıyorlar, VR geliştiricileri için OpenVR SDK ve Viveport SDK sunuyorlar. Bir SteamVR geliştiricisi kiralamak için SteamCommunity'ye göz atabilir veya serbest sitelere göz atabilirsiniz.

Bir Oculus VR Geliştiricisi İşe Alın

Geliştirme kitleri sunan en popüler VR başlıklarından biri olan Oculus, VR geliştiricileri için birçok fırsat sunuyor. 2017 geliştirici anketine göre, Oculus Rift, onların en çok ilgisini çeken platform.

Oculus için bir VR geliştiricisi, Oculus SDK ve belgelere aşina olmalı, Unity, Unreal, CryEngine ile birlikte C++ becerilerine sahip olmalıdır. En yeni DK-2'ye sahip olmak, bu VR platformunda gerçek bir ustalığın işareti olacak. Bir Oculus geliştiricisi bulmak için resmi forum veya Reddit geliştiricileri çok yardımcı olabilir.

VR geliştiricisi nasıl olunur

Geliştiriciler ve serbest çalışanlar için sanal gerçeklik parlak bir gelecek sunuyor. Yüksek hızlı VR trenine atlamak isteyenler Udacity, Udemy, VrDev School vb.'den çevrimiçi kurslarla başlayabilir. Unity3D gibi bazı VR platformları bile VR geliştiricilerinin kendilerini eğitmesine yardımcı olur. Reddit'in yine VR eğitimiyle ilgili bir bölümü var.

Teorinin yanı sıra bazı basit VR deneyimleri yapmayı deneyebilirsiniz. İlk VR uygulamanızı düşünün, Google Cardboard'da bir prototiple başlamak en iyisidir. Devkit'i edinin, motorlar hakkında bilgi edinin ve kendinizinkini seçin. Tanınmış bir VR geliştiricisi olmak istiyorsanız şu dört adımı göz önünde bulundurun:

  1. VR uzmanlarının ve yeni başlayanların demoları paylaşabileceği ve en yeni araçları ve uygulamaları paylaşabileceği etkinlikler, konferanslar ve toplantılar için VR topluluğuna katılın.
  2. Donanımı Alın - Web Tarayıcı ve YouTube 360 ​​​​Videoları VR becerileri için yeterli değil, kendinize bir Cardboard (20 $) satın alın, başka kulaklıkları deneyin. Ayrıca GoPro ve video düzenleme yazılımı gibi uygun bir kameraya da ihtiyacınız olacak.
  3. Becerilerinizi geliştirin - 360 derece grafik ve video içeriği oluşturmayı öğrenin, Unity motorunu öğrenin, etkileşimli içerik oluşturmaya çalışın, Javascript'inizi öğrenin veya geliştirin, vb.
  4. Nişinizi tanımlayın - donanım / yazılım, 360 içerik, 3D animasyon, görüntü oluşturma, VR oyun ... kendinizi bir uzman gibi hissedene kadar tek bir alana bağlı kalsanız iyi olur.

Nasıl VR geliştiricisi olunacağı veya işe alınacağı konusunda ilgili bilgileri toplamaya çalıştık ve umarız bu size yardımcı olmuştur.

Okul yıllarımda Londra'ya bir geziye gittim ve orada ilk kez Zone Hunter oyununda sanal gerçeklik (VR) ile tanıştım. Teknoloji beni hemen bağladı ve fark ettim - gelecekte bu alanda çalışmak istiyorum! Şimdi, 12 yılı aşkın bir süredir sanal endüstriyel simülatörlerle çalışıyorum ve VR sistemleri için yazılım yazıyorum.

I'm in VR adlı bir şirketin kurucusu ve başkanıyım. 3D uygulamaların (örneğin Unity tabanlı) herhangi bir VR sisteminde (sanal gerçeklik odaları, kasklar vb.) çalışmasına izin veren MiddleVR gibi VR uygulamaları oluşturmak için araçlar sunuyoruz. Popüler hale gelmeden çok önce tutmaya başladığım sanal gerçeklik hakkında bir blogum var ve beni şu adreste bulabilirsiniz: twitter.

Bugün, VR uygulamaları oluşturmanın daha kolay olmadığını düşünebilirsiniz - sadece kamera hareketini Oculus Rift izleyicinizle eşleştirmeniz yeterlidir ve hazırsınız. Bazen bu gerçekten yeterlidir, ancak çoğu durumda bu yaklaşım işe yaramaz.

Sanal gerçeklikteki asıl şey varlığın etkisidir. Kişi kendini oyuna veremiyorsa, yanlış bir şey yaptın. Olanları farklı bir dünya olarak algılamaya zorlayarak zihni aldatabilirsiniz, ancak bu göründüğü kadar kolay değildir. Varlık etkisi çok kırılgan bir duygudur.

VR yazımı genellikle çok tekniktir. Bence buradaki asıl şey kullanıcının zihnine ne olduğu. Bu makalede, sanal dünyaya dalmanın bazı temellerini ve bu teknolojiyi göz önünde bulundurarak uygulama geliştirmenin önemini vurgulamak istiyorum.

2013'te sanal gerçeklik

Sanal gerçeklik, bir kişiyi özel kasklar, gözlükler veya diğer daldırma sistemleri kullanarak üç boyutlu bir ortama sokar. Bu nedenle, kendimizi sanal dünyalardan ayırmak için genellikle iVR (sürükleyici VR) terimini kullanırız. İkinci hayat veya World of Warcraft. 90'lı yılların başında bu teknolojiler herkesin dikkatini çekmesine rağmen beklenen hisleri sağlayamadı.

Ancak, ciddi oyun cephesinde gelişmeye devam ettiler ve bugün birkaç alanda kullanılan faydalı araçlar haline geldiler:

  • Sanal simülatörlerde eğitim, gerçek uygulamadan çok daha etkilidir: yüksek hassasiyet Simüle edilmiş ortamı kontrol edin, tekrarları görüntüleyin ve çeşitli potansiyel olarak tehlikeli durumlarda korkusuzca gerçek manipülasyonları uygulayın. Bu tür simülatörlerde cerrahlar, askerler, polisler, itfaiyeciler, dişçiler ve hatta işçiler eğitiliyor. dış dekorasyon binalar! Bu, işletmelerin pahalı malzemelerden tasarruf etmelerini ve çeşitli risklerden kaçınmalarını sağlayarak kursiyerlerin yeteneklerine daha şeffaf bir bakış açısı sağlar.
  • Önde gelen tüm otomobil üreticilerinin, henüz gün yüzüne çıkmamış ürünlerin tasarımını ve ergonomisini test etmek için VR sistemleri vardır ve bu, gerçek maketlere kıyasla farklı varyasyonlar arasında hızlı bir şekilde yineleme yapmanıza olanak tanır. Bu, teknelerin, uçakların, traktörlerin, üretim hatlarının, fabrikaların ve hatta mutfakların imalatı için geçerlidir! Peugeot veya Ford'un VR uygulamalarına ve sistemlerine bir göz atın!
  • Dijital modeller çok inandırıcı görünüyor: gelecekteki ev veya inşaat başlamadan çok önce şehir planlamasını değerlendirmek. Örneğin bkz. Enodo'dan demo video.
  • sanal gerçeklik - faydalı çare alanında pazar araştırması için perakende: canlı bakabilirsin dış görünüş mağazanız inşa edilmeden veya taşınmadan önce ziyaretçilerin hareketlerini ve bakışlarının yönünü takip edin. Bu, donanım yerleşimini değerlendirirken kullanışlıdır ve tasarımınızın kalabalığın arasından sıyrılmasını sağlamaya yardımcı olur.
  • Bir sanal gerçeklik - iyi bir yol fobilerin tedavisi: Yükseklik korkusuyla simüle edilmiş bir uçuruma taşınabilir ve korkunuzu hissedebilirsiniz. Bu durumda, terapistin yardımı, gerçek bir kaya üzerinde gerçek koşullardan daha etkili olacaktır. Aynısı uçma korkusu, örümcekler, köpekler ve topluluk önünde konuşma için de geçerlidir. Örneğin, Ottawa'daki Quebec Üniversitesi Siberpsikoloji Laboratuvarı'ndan Stéphane Bouchard.

Ve elbette sanal gerçeklik oyunlarda kullanılabilir! Ancak 90'ların ortasından beri, bu tür çok az oyun oldu ve kural olarak ya araştırma laboratuvarlarında ya da meraklılar tarafından yaratıldı. Bir VR sistemi oluşturmak ve oyunun kendisini programlamak, uygun beceri ve ekipman gerektirir. Bildiğim kadarıyla son 10 yılda tek bir ticari VR oyunu çıkmadı.

Oyunlara VR ne zaman eklenmeli (değil)

Öncelikle oyununuzun gerçekten sanal gerçekliğe ihtiyacı var mı sorusuna cevap vermeniz gerekiyor. 3D gibi. 3D'de her aktivite otomatik olarak daha ilginç hale gelmez ve uygunsuz bir şey VR'de daha da kötü görünür.

Bu durumda, VR nerede uygun bir fikir olabilir?

Sanal gerçekliğin amacı, gerçekçi olsun ya da olmasın farklı bir dünyada olduğunuzu hissettirmektir. Genel olarak benim için varlığın etkisi VR'nin tanımıdır. Varlık hissi yok - VR yok!

Açıkçası, VR için harika türler arasında birinci şahıs oyunları olacak. VR'de Mirror's Edge veya Call of Duty hayal edin! Bazı oyunlarda (Assassin's Creed, Splinter Cell veya Gears of War), bir kahramanın vücudunda hissedebilmemiz için arkadan görünüm potansiyel olarak gözlerden görünüme dönüştürülebilir. Sanırım görevler ve macera oyunlarının yeniden canlandığını göreceğiz. Sanal gerçekliğin tamamen farklı oyunlarda da ortaya çıkması muhtemeldir. Tanrı Simülatörleri? Gitar kahramanı?

Ama bence VR'den en çok duygulara baskı yapan oyunlar faydalanacak.

Korku filmleri çok etkileyici olabilir. Ayrıca Heavy Rain'i de hatırlayabilirsiniz. İyi oyun, Kendimi gerçekten buna kaptırdım ve çok endişelendim. Bununla birlikte, zaman zaman her şey doğal olmayan etkileşimler tarafından bozuldu, ayrıca orada fiziksel varlığın hiçbir unsuru yoktur. Ve sanal gerçekliğin yardımcı olabileceği yer burasıdır!

Yeni bir medya formatı olarak VR

Burada sizi hemen uyarmalıyım: Oyunlara sanal gerçeklik eklemek, desteği orijinal olarak tasarlanmadıysa zor olabilir. VR, gelişimin erken bir aşamasında radyo veya TV gibidir: ilk başta radyoda yalnızca operalar yayınlandı ve TV'de yalnızca performanslar gösterildi. Yavaş yavaş, insanlar özellikle bu yeni biçimler için içerik oluşturmaya başladılar. Böylece sinematografi ve kurgu, film çekmek için temel kavramlar haline geldi.

Sanal gerçeklikte de aynısı olacak! İlk olarak, varlığın etkisini tam olarak kullanmayan mevcut oyunların uyarlamaları olacak. Yeni alanda pek bir işe yaramayacaklar: ekran yeni bir daldırma derecesine izin verse bile, garip kontroller ve uygunsuz oyun, uyarlamaların orijinali kaybetmesine neden olabilir.

varlık etkisi

Dediğim gibi, benim için VR'nin tanımı, varlığın etkisidir. Başka bir yerde olduğunuzu hissetmeden oyun, gerçek bir VR ortamı değil, düzenli bir etkileşimli 3B ortam olarak kalacaktır - buna milyonlarca dolar yatırılsa bile. İnan bana, bunlardan birkaçını denedim ve bu sadece bir felaket.

Mevcut olduğunda, oyuncu doğal tepkiler ve duygular sergileyecektir. Yüksek bir uçurumda yükseklik korkusu yaşayacaksınız (garantili). Size sanal bir top atılırsa, onu yakalamaya çalışacaksınız. Çizilmiş biri sizi kesin bir ölümden kurtarırsa, ona gülümseyeceksiniz. Ciddiyim!

Varlık karmaşık ve hassas bir konudur. Şu anda bununla ilgili en ilginç araştırma Mel Slater. Oldukça iyi bilinen bir makalede, mevcudiyet duygusunu iki türe ayırdı: bilişsel (zihin) ve algısal (duygular).

İnsanlar genellikle oyunların, filmlerin, kitapların ve hatta birileri tarafından anlatılan bir hikayenin (VR'nin kökleri ne kadar derindir!) İçlerinde bir varlık hissi uyandırdığını söyler. Bu bilişsel mevcudiyet - hayal gücü sizi başka dünyalara taşır.

algısal mevcudiyet

Yukarıdaki daldırma modları, duyularınızı gerçekçi bir şekilde aldatan algısal bir mevcudiyet anlamına gelmez. Görme, işitme, dokunma, koklama, propriosepsiyon (Latince proprius - "kendi, özel" ve reseptör - "alma"; Latin capio, cepi - "almak, algılamak"), derin hassasiyet - parçaların konumu duygusu kişinin kendi vücudunun birbirine göre, daha sonra google wikipedia) ... İnsan algısının ideal olmadığını unutmayın: insan beyni çok basitleşir. VR teorisinin temeli olan bu sınırlamaları bilmek, yanlış yönde yürümek veya imkansız geometriye sahip boşluklar gibi algısal yanılsamalar yaratmanıza olanak tanır.

Bu nasıl başarılabilir?

Algısal varlığın etkisini elde etmenin en kolay yolunun başın hareketini izlemek olduğunu düşünüyorum. Üç boyutlu bir dünyada kafayı çevirmek ve kamerayı çevirmek "eylem-algı" döngüsünün temelidir.

Bu, hareket yapma yeteneğine ihtiyacınız olduğu ve bu hareketlerin sanal dünyaya yansıtılması gerektiği anlamına gelir. Vücudunuz sürece dahil olur. Antonio Damasio'nun dediği gibi, "Zihin vücuttadır, yalnızca beyinde değil."

Varlık etkisini kesintiye uğratmak

Bunun anlamı, eğer eylem beklenen sonuca yol açmazsa, zihin bir şeylerin yanlış olduğunu hisseder. Buna varlığın kesilmesi denir.

VR oluştururken en az bir hedefiniz varsa, bu hedef bir varlık hissini sürdürmek olmalıdır. arasında hissediyorum boş oda VR mı? Gears of War'un ortasında olduğunuzu hissetmemek VR değildir.

Minimum VR sistemi

Kafa hareketlerini (dönüşler ve yer değiştirmeler), en az bir eli (dönüşler ve yer değiştirmeler) ve birkaç düğmeli bir joystick'i izlemenizi öneririm. Tarafından kişisel deneyim Böyle bir minimumun belirli bir eşiği geçmenizi sağladığını ve beynin başka bir gerçekliği çok daha kolay kabul ettiğini söyleyebilirim.

Benim için bu, OculusRift'in kendisinin (henüz) minimal bir VR platformu olmadığı anlamına geliyor. Tam teşekküllü kafa takibinden yoksundur ve hiç el takibi yoktur. Bunların hepsinin Razer Hydra gibi cihazlarla şirket içinde çözülebileceğini biliyorum. Ancak kapsayıcı bir VR platformumuz olana kadar üreticiler tek bir donanım standardına güvenemezler.

gecikmeler

Sanal gerçeklik için bir numaralı düşman gecikmeler ve gecikmelerdir. Kafayı çevirdikten sonra görüntü bir saniye sonra değişirse, beyin bunu gerçek olarak algılamayacaktır. Ayrıca, yapabilirsiniz.

John Carmack, "20 milisaniyeden daha kısa gecikmelerde gerçek sihir başlıyor - 3D dünyası değişmez görünüyor!" diyor.

Bazı araştırmacılar, hareketin başladığı andan gerekli görüntünün ekranda görüntülenmesine kadar 4 ms'den daha az bir gecikme elde edilmesini bile tavsiye ediyor. Görsel bir anlatım için şunu söyleyeceğim: 60 fps kare hızıyla oynarken kareler arasında 16 ms geçiş oluyor. Buna, Kinect için birkaç milisaniyeden 100 ms'ye kadar değişebilen giriş cihazı gecikmesini ve tüketici VR başlıkları için 50 ms kadar düşük olabilen görüntüleme gecikmesini ekleyin.

Stereo görüntü söz konusu olduğunda, oyunun aynı anda iki görüntünün işlenmesini gerektireceği akılda tutulmalıdır. Bir geliştirici olarak girdi ve görüntüleme gecikmesi konusunda yapabileceğiniz hiçbir şey yoktur, ancak oyununuzun iyi performans gösterdiğinden emin olmalısınız!

Tutarlı bir dünya gerçekçi olmak zorunda değildir

Algısal varlığın, duyuların gerçekçi bir aldatmacası olduğunu anladık. Bilişsel - duyuların değil, zihnin aldatması - sanal dünyayı etkileyebileceğiniz ve içindeki olayların gerçekten gerçekleştiği hissinden kaynaklanır. Bu, simülasyonun "kurallarına" inanmanız gerektiği anlamına gelir. Bunu yapmak için, dünyanızın tutarlı ve tutarlı olduğu kadar gerçekçi olmadığından emin olmanız gerekir. Örneğin, tutarsızlık, bir oyuncunun masadan bir bardak alabilmesi, ancak diğerini alamaması gerçeğinde kendini gösterebilir. Bilişsel mevcudiyetin kesintiye uğramış etkisinin iyileşmesi çok zordur. Oyuncu sürekli olarak hiçbir şey olmadığını hatırlar. gerçek dünya ve tekrar gerçek görünmesi zaman alacak.

Görsel olarak inandırıcı bir ortam oluşturmaya karar verirseniz, varlığın kesintiye uğrama olasılığı çok yüksek olacaktır. Bunun nedeni, beynin sanal gerçeklikten teknik olarak henüz başaramadığımız şeyi talep etmesidir: gerçekçi fizik, geri bildirim- Elin nesnelerden geçmemesi için nesnelerin yok edilebilirliği, kokular vb. Gerçekçi görünmeyen bir dünyada, beklentiler başlangıçta düşürülecek ve böylece mevcudiyetin etkisi daha kalıcı olacaktır.

Bilişsel varlığa ulaşabildiyseniz ve oyuncunun zihni zaten aldatılmışsa, simülasyondaki olaylar onun duyularını aldatmaya başlayacaktır. Çekici bir Sim utangaç bir oyuncunun gözüne bakarsa kalp atışları yükselir, yüzü kızarır vb. Korkusu olan insanlar topluluk önünde konuşma seslerinde alarm ile sanal bir izleyici önünde konuşacak.

Bu yüzden şimdiye kadar gördüğüm en sürükleyici uygulamanın Verdun 1916-Zaman Makinesinde olduğuna inanıyorum. Aynı anda birçok duyuyu aldatır: görme, koklama, dokunma... Ama en ilginç olanı: En iyi izlenimler için, dünyayla etkileşim orada kasıtlı olarak sınırlandırılmıştır. Yaralı bir asker olduğunuz için sadece başınızı bükebilirsiniz.

Bu zor sınır göz önüne alındığında, oyuncunun varlığını kesintiye uğratmasını engellemek çok kolay olacaktır. Ellerinizi hareket ettiremezsiniz, böylece onlar da nesnelerin içine düşmezler; doğal olmayan tuşlara basarak hareket etmeye zorlanmazsınız. İnsanların yardıma koşan sanal bir yoldaşı gördüklerinde gülümsediği bir kereden fazla fark edildi!

Varlık ölçümü

Sorun şu ki, oyuncunun sanal dünyaya dalma derecesini hesaplamak çok zor. Şimdi bunu ortaya koyan mutlak göstergeler yok. Alarmı izlemek için nabız veya cilt iletimi izlenebilir. Ancak bu sadece stresli durumlarda işe yarar.

Ancak, oyuncunun tepkilerinin ne kadar doğal olduğunu değerlendirmeye çalışabilirsiniz. Bazılarından daha önce bahsetmiştik - topu yakalama girişimi, yükseklik korkusu, bir saldırı tehdidi olduğunda kişinin sağlığından korkma, çarpışmadan kaçınma girişimi ...

Bu, felsefi düşüncelerle sona erer ve pratik tavsiyeye geçer:

1'den 1'e ölçeklendir

Oyun dünyasının ölçeği gerçek olmalı. Kamera, normal insan boyuna karşılık gelen bir yüksekliğe yerleştirilmelidir (elbette, Uyku Arasında olduğu gibi çocukken oynamak istemiyorsanız). Baş hareketleri güçlendirilmemelidir (yeniden yönlendirme teknikleri kullanmıyorsanız).

Gerçek ölçeğe ulaşmanın en kolay yolu: Sanal dünyadaki uzunluk birimi gerçek olana karşılık gelmelidir - 1 sanal metre, 1 gerçek metreye eşittir. Görüş alanı, ekranınızın görüş açılarıyla mükemmel şekilde eşleşmelidir. İdeal bir sanal dünyada (veya büyük bir endüstriyel VR simülatöründe), gözler arasındaki mesafe büyük bir hassasiyetle hesaplanmalıdır. Beyin tüm bu sinyalleri işleyecektir; Bu kurala kesinlikle uymazsanız, varlığın etkisini elde edemeyebilirsiniz veya kararsız olacaktır - ve kullanıcılar mide bulantısı hissedebilir -.

Donanımı kontrol edin

İzleme yeteneklerine göz atın: Cihaz sapmaları mı takip ediyor yoksa sadece dönüyor mu? Sensör, konumlandırma verilerini hangi sınırlar içinde raporlayabilir? Ne kadar doğru? İzleme verileri ne zaman yararlı olmayı bırakır? Görüş alanınıza aşina olun: Ölçeklendirme tavsiyesine uyarak sanal görüş alanını bozmamalısınız. Dar bir görüş alanıyla, kullanıcı başını daha sık sallamak zorunda kalacak ve çevredeki önemli olayları kaçırma riskiyle karşı karşıya kalacak. İzni kontrol edin: kullanıcının metni okuması gerekiyorsa, onu gözlerine yakın yerleştirmeleri gerekir. Android geliştirmede olduğu gibi, oyununuz sonunda çok sayıda farklı cihazlar... Yakında birçok platformda bir savaş bekleyebiliriz. farklı özellikler... MiddleVR gibi araçlar, farklı VR sistemleriyle çalışmanıza yardımcı olacaktır.

Bakış açınızı değiştirmeyin

Birinci şahıs oyunu yapıyorsanız, üçüncü şahıs videolarından ve araç kontrollerinden kaçının. Bu dalışı kesintiye uğratır.

Kötü alışkanlıklarla savaş

Pek çok hevesli oyuncunun kötü alışkanlıkları vardır: kask takarlar, televizyonun önündeymiş gibi dik otururlar. Nadiren oynayanlar hemen etrafa bakmaya başlayacaklar. Oyuncuların günümüzün oyun kısıtlamalarından kurtulması gerekiyor. Eğitim görevlerinde, oyuncuyu etrafa bakması ve kollarını hareket ettirmesi için motive etmeniz gerekir. Oyun bundan faydalanmalıdır. Örneğin son prototiplerimden birinde sağda, solda ve üstte düşmanlar belirdi ve butonlar veya fare ile hareket etmek / etrafa bakmak imkansızdı. Kazanmak için, kullanıcı başını çevirmek ve eliyle nişan almak zorunda kalır. Yakın tarihli bir başka prototipimde, tek etkileşimli nesne, çok karanlık bir ortamın ortasındaki bir mumdu. Harika yol oyuncunun bölgeyi keşfetmesini sağlayın: bir mum alır ve karanlığa girer, bulmacaları çözerken hareket eder ve bazı nesneleri ateşe verir.

Oyuncularınızı aktif tutun

Aynı Heavy Rain'de oyundan neredeyse hiç kopmazsınız. Kurgusal olmayanlara benzeyen tonlarca ara sahne var, ama sonra aniden kontrol size veriliyor. Şu anda elinizde bir kontrolcü yoksa aksiyonu tamamlamak için zamanınız olmayacaktır. Bu, her zaman tetikte olmanızı sağlar.

Heavy Rain'in bir başka ilginç özelliği de olayların gerçek zamanlı olarak gerçekleşmesi, bu da hızlı düşünmeniz ve harekete geçmeniz gerektiği anlamına geliyor: Adamı yoldaşımı öldürmeden önce vur? Hızlı kararlar vermek zorunda kalırsınız ve tıpkı gerçek hayat ne kadar doğru olduklarını asla bilemeyeceksin.

Gerçekçi bulmacalar tasarlayın

Yine Heavy Rain'den bir örnek: Hızlı bir şekilde otel odalarından birini aramanız gerekiyor. Numarasını 15 saniye içinde hatırlayabiliyor musun? Hayatta olduğu gibi, şiddetli stres yaşayarak hafızanızı zorlamanız gerekir.

Son olarak, varlığınız için elinizden geldiğince sıkı çalışın.

Bir mevcudiyet duygusu yaratmak kolay değildir. Küçük başlayın, sık sık test edin. Yavaş yavaş mevcudiyet üzerinde çalışın, küçük değişiklikler yapın ve tekrar test edin. Oyuncunun deneyimi kafasında gerçekleşir! Deneyimler yaratmıyorsunuz, onları kışkırtıyorsunuz. Varlık etkisi doğal olmalıdır. Kullanıcı tepkilerini inceleyin ve değişiklik yapın. tüm seninkileri yığma iyi fikirler sadece muhteşem bir fragman uğruna. Pek çok umut verici videonun iğrenç oyunlar olduğu ortaya çıktı.

Çözüm

VR uygulaması geliştirme hakkında söylenecek daha çok şey var, ancak umarız bu makale dikkatinizi temel konulara çekmiştir. Sizi daha sık hatırlayacağınızı umduğum bir alıntıyla bırakıyorum:

"Sanal gerçekliği, insanların tüm bedenleriyle etkileşime girebilecekleri medya biçimleri yaratmamıza izin veren, kendi yetenekleri ve özellikleri ile tamamen yeni bir şey olarak ele alıyoruz, olan her şeyi gerçeklik olarak alıyoruz." - Mel Slater.

Sébastien Kuntz tarafından Gamasutra'dan uyarlanmıştır.

1. Ekipmanı inceliyoruz

Kendinize sorun: HTC Vive gibi masaüstü cihazlar için geliştirme yapmakla ilgileniyor muyum yoksa Samsung Gear VR veya Google Cardboard gibi mobil cihazlar daha çok ilgimi çekiyor mu? Henüz karar vermediyseniz, yorumları okuyun ve pazarınız için en iyisinin ne olduğunu düşünün. Fikirleriniz hareket kontrolörleri veya yüksek kaliteli grafikler gerektiriyorsa, bilgisayara bağlı VR gözlüklerine odaklanın. Şu anda Unity, Unreal ve web uygulamaları tarafından desteklenen modeller şunlardır:

Bilgisayar Sanal Gerçekliği:

4. Etkileşimin uygulanması

Motora alıştıktan ve sanat malzemeleri hazırladıktan sonra, projenize nasıl etkileşim katacağınızı bulmanız gerekecek. Öncelikle VR'de UI ve UX oluşturma ilkelerini okumanızı şiddetle tavsiye ederim. Aksi takdirde, kullanıcılarınız kötü stereoskopik görüntü oluşturma kararlarından dolayı göz ağrısı çekebilir veya deniz tutmasına neden olabilir. Bu, metnin görüntü alanına bağlanmasını basitçe terk ederek veya sürüş sırasında oyuncunun kamerasını görünür bir kapsülün (araba, uzay giysisi, kokpit) içine yerleştirerek önlenebilir. Ve uygulamak istiyorsanız Manuel kontrol, o zaman her şeyi olabildiğince gerçekçi yapmanızı öneririm - araştırma ve prototipleme çabalarınız bir varlık duygusu ile ödüllendirilecektir.
... Çeşitli faydalı ilkeleri açıklayan bir kılavuz.
  • UE4 HTC Vive - Hareket kontrol cihazlarını kullanarak menülerle nasıl etkileşim kurulur.
  • Bir betik dilinin bir benzerine hakim olmanız gerekecek. Unreal Engine 4, sezgisel, şematik bir komut dosyası sistemi kullanır Blueprint Görsel Komut Dosyası... Bu arada genel olarak programlamaya henüz çok güvenmeyenler için faydalı olacaktır. Blueprint'e genel bir giriş, tüm bir projeyi tek bir kod satırı yazmadan yapmak için yeterince güçlüdür (bir dizi programlama tekniği kullanacak olsanız da). Genel olarak Unreal, C ++ kullanır ve Unity, C # kullanır. VR geliştirme işine girmek isteyenlerin birçoğunun çok az programlama deneyimi var, bu yüzden bu aşama özellikle zorlaşıyor. Kendi geliştiriciyseniz, unutmayın - küçükten başlamak daha iyi... Temel bilgilerde uzmanlaştıktan sonra daha büyük fikirlere geçebilirsiniz. Ama en ilkel projeyle başlasan iyi olur. Aşamalar halinde geliştirin, birkaç proje yaratın, daha karmaşık görevleri çok daha güvenle gerçekleştirebileceksiniz.

    Sizi bilmem ama ben şahsen bir buçuk yıldır VR'nin nihayet piyasayı bozmaya başlamasını bekliyorum. İlk olarak, bir arkadaş veya eş için mükemmel bir hediye olarak hizmet eden karton Google Cardboard'lar vardı. Ardından Microsoft, Super Bowl finalleri için Hololens'in gerçekçi olmayan yeteneklerini gösteren renkli bir video yayınladı. Ve elbette, 2016'da inanılmaz derecede havalı, taze pişmiş VR cihazları hakkında çok sayıda inceleme izledik ve okuduk ve ayrıca bu cihazlara odaklanan ilk yüksek kaliteli oyunları oynadık.

    Tüm bunlarla birlikte, VR uygulamalarının popülaritesi hala belirtilen uygulamalardan çok uzak, ancak bu ilgiyi en azından azaltmıyor. Öyleyse devrim yakınsa, o zaman şimdi bayrağı alma zamanıdır. kendi elleri... Ama nasıl?

    Tıpkı bir-iki-üç gibi

    Elinizde doğru akıllı telefon olmadan mobil uygulamalar oluşturabilirsiniz, ancak doğru cihaz olmadan bir VR uygulaması oluşturmak neredeyse imkansızdır. Bu nedenle, ilk adımınız herhangi bir, hatta ilkel bir VR adaptörü satın almak olacaktır.

    Bir sonraki adım, bizim durumumuzda Unity olacak olan doğru "motoru" kurmaktır. Bugün o en iyi yol yalnızca sıfırdan VR uygulamaları oluşturmak için değil, aynı zamanda mevcut 3D kreasyonları bu formata dönüştürmek için yapılandırıldı. Bu arada, İnternette dolaşırken, Unity'deki VR seçeneğinin orijinal olarak Google Cardboard SDK ile etkileşim kurmak için geliştirildiği fikrine rastlayabilirsiniz, bu nedenle onu iOS için kullanmak birçok zorluk getirecektir. İlk kısım kısmen doğru, ancak ikincisi değil. Her durumda, gerçek bir sorun fark edilmedi.

    Üçüncü ve ana adım- uygulama geliştirme ortamı, bunlar standart ve iyi bilinen IDE'lerdir, bu konuda temel bir fark yoktur.

    Daha fazla yardım

    Mobil uygulamalar oluşturmaktan bahsediyorsak, o zaman en uygun olduğu düşünülen bu araç setidir, ancak yaratımınızın türüne bağlı olarak başkalarını kullanabilirsiniz.

    gerçek dışı motor
    Sürüm 4 ile başlayarak, VR grafikleriyle çalışma olanaklarına da erişebileceksiniz. Bununla birlikte, platformun bazı karmaşıklığı ve yüksek maliyeti nedeniyle, dil Unreal'i öncelikli bir seçenek olarak adlandırmayacaktır.

    InstaVR
    Birkaç fare tıklamasıyla kendi VR uygulamanızı oluşturmanıza olanak tanıyan bir web hizmeti. İster bir manzara görselleştirmesi isterse sanal bir 3D konsol olsun, basit fikirlerin uygulanması için mükemmeldir.

    sanal gerçeklik
    VR videoları oluşturmak için özel bir hizmet. Burada prototip yapmak, video dikiş yapmak, efekt uygulamak gerçekten çok kolay ama fiyatı 499 €'dan başlıyor. Ancak, olasılıkları değerlendirmek için 14 günlük bir deneme sürümü var.


    VR dönüştürme seçeneği ile fotoğraf işleme uygulaması.

    Sıçrama
    Benzer bir hizmet yalnızca iOS için kullanılabilir. Hala geliştirme aşamasındadır, ancak zaten iyi bir işlevselliğe sahiptir.

    Oyun geliştirmeden farklılıklar

    Temel farklılıklar yoktur. VR uygulamaları ve 3D oyunlar geliştirme açısından yaklaşım neredeyse tamamen aynıdır, tek fark şudur: küçük detaylar... Ayrıca, bugün 3D oyunların kalitesi doğrudan hem grafik bileşenine hem de arsaya bağlıysa, VR yönlerden birinin ihmal edilmesine ve başarılı kalmasına izin verir.

    faydalı literatür

    Spesifikasyonlar nedeniyle, dünyada popüler ve güzel VR uygulamaları oluşturma konusunda çok fazla yararlı literatür yoktur. Öyleyse yüzeysel öğretim literatürüne bir göz atalım.

    Google VR - Google'ın basit bir kutudan nasıl harika bir eğlence çıkaracağına dair resmi kılavuzuyla başlayalım;

    Microsoft VR - benzer adım adım talimat ancak Microsoft'tan;

    Sıfır deneyime sahip bir VR uygulaması nasıl yapılır - ilk uygulamanızı oluşturmanıza yardımcı olacak kullanışlı ve görsel bir makale;

    Unity Free'de Gear VR uygulaması oluşturma- ve işte doğrudan ellerinizin ve Unity'nin yardımıyla bir VR şekerinin nasıl oluşturulacağına dair bir eğitim videosu.

    Bu, uygulama geliştirmede heyecan verici yeni bir yön. Yeni hikaye anlatımı formatlarını ve daha fazlasını müjdeliyor etkili yollar duygu ve hislerin transferi.

    Bu tür uygulamaları oluşturmak için daha önce pahalı ekipman ve özel beceriler gerekliyken, şimdi en yakın elektronik mağazasında bulunabilen sezgisel araçlar ve teknikler sayesinde sanal gerçekliğin geliştirilmesi mümkün hale geldi. Bu eğitimde, on dakikada Android için 360 derecelik bir video uygulamasının nasıl oluşturulacağı konusunda size yol göstereceğiz. Programlama becerisi gerekmez.

    İhtiyaç duyulan şey

    Android KitKat veya daha yenisini çalıştıran jiroskoplu bir telefon.

    Unity3D, platformlar arası bir oyun motoru sürümü 5.6 ve üstüdür.

    360 derece video.

    Nasıl bir uygulama oluştururum?

    Normal bir video dikdörtgen bir çerçeveyle sınırlıysa, panoramik bir video küre şeklindedir. Bu nedenle, 360 derecelik bir videonun yansıtılacağı küresel bir ekran oluşturalım. Oyuncu (veya gözlemci) bu kürenin içinde olacak ve videoyu herhangi bir yönde izleyebilecektir.

    Adım 1: Küreyi Oluşturun ?

    Video oynatıcıyı mevcut bir projeye entegre etmek istiyorsak Unity'de yeni bir Proje veya yeni bir Sahne oluşturalım. Scene'i oyundaki bir seviye ve Project'i tüm oyun olarak düşünün.

    Yarıçapı 50 olan bir küre (3B nesne → Küre) yerleştirin ( Ölçek= 50, 50, 50) Sahnenin merkezine ( Konum= 0, 0, 0). Kamera konumunu 0, 0, 0 olarak ayarlayın. Kamera oyuncunun gözüdür: merkezden uzağa yerleştirirseniz video bozulur.

    Kamerayı kürenin içine yerleştirerek artık onu sahnede görmüyoruz. Bunun nedeni, çoğu oyun motorunun görüntülenmemesidir. iç taraf 3B nesneler, neredeyse hiç görmemiz gerekmediğinden, bu da render için kaynakları boşa harcamamız gerekmediği anlamına gelir.

    Adım 2: küre normallerini çevirin ?

    Bizim durumumuzda, küreye içeriden bakmamız gerekiyor, bu yüzden onu tersine çevireceğiz.

    Unity'de küreler aslında binlerce minik yüzden oluşan çokyüzlülerdir. Onların dış taraflar görünür, ancak dahili değil. Kürenin içini görmek için bu kenarları çevirmeniz gerekir. 3B geometri açısından bu dönüşüme normalleri çevirmek denir.

    programı uygulayalım gölgelendirici NS Malzeme küreler. Unity'deki malzemeler nesnelerin görünümünü kontrol eder. Gölgelendiriciler, malzeme ve aydınlatma bilgilerine dayalı olarak oluşturulan her pikselin rengini hesaplayan küçük komut dosyalarıdır.

    Küre için yeni bir Malzeme oluşturalım, ona kodu buradan kopyalanabilecek bir Shader uygulayalım. Bu gölgelendirici, kürenin her pikselini döndürecek ve içeriden küre büyük beyaz bir top gibi görünecektir.

    3. Adım: Kürenin içine panoramik bir video yansıtılsın mı?

    360 derecelik bir mp4 videoyu projenize aktarın, küreye aktarın. Video Oynatıcı bileşeni görünür ve video oynatılmaya hazırdır. Bu bileşenin penceresinde, sonsuz bir tekrar ayarlayabilir ve ses ayarlarını yapabilirsiniz.

    Yaklaşık. ed. Bu türde kendi videonuz yoksa, internette ücretsiz olarak dağıtılan başka birinin şablonlarını kullanabilirsiniz.

    4. Adım: Google Cardboard desteği ayarlansın mı?

    GoogleVR SDK'yı kullanarak stereoskopik bir görüntü oluşturacağız. Ekranın her iki yarısına uygulanan balık gözü efekti ve plastik Google Cardboard lenslerinin bozulmasının birleşimi, sanal gerçeklikte derinlik ve daldırma yanılsaması yaratır.

    GoogleVR SDK'sını projenize eklemek için eklentiyi indirin ve içe aktarın. Ardından, Android ayarlarınızı yapın:

    1. Üst menüden seçin Dosya →Yapı Ayarları... Henüz eklenmemişse bir sahne ekleyin ve önerilen platformlardan Android'i seçin.
    2. basmak Platformu Değiştir... Platformları değiştirmek biraz zaman alacak.
    3. basmak Oyuncu Ayarları... Bileşenler Eğitmen Panelinde görünür.

    Pencerede Oyuncu Ayarları bölümde Diğer ayarlar:

    • Kutuyu kontrol et Sanal Gerçeklik Desteklenir... Açılır pencerede Sanal Gerçeklik SDK'ları+ listeye ekle'ye tıklayın Karton.
    • Uygulamanız için benzersiz bir ad seçin ve alana girin Paket Tanımlayıcı... Android uygulamaları için benzersiz adlar, genellikle com.example.CoolApp gibi bir ters alan adı biçimindedir. Bununla ilgili daha fazla bilgiyi resmi belgelerde ve Wikipedia'da okuyabilirsiniz.
    • Menüde Minimum API Düzeyi Seç Android 4.4 Kit Kat (API Seviye 19).

    Klasördeki Proje Tarayıcı panelinde GoogleVR / Hazır YapılarÖğeyi seçin GvrViewerAna ve sahneye sürükleyin. Kürenin merkeziyle aynı konumu verin: 0, 0, 0 .

    Prefabrik GvrViewerAna Cardboard lenslere ekran uyarlaması gibi VR modu için tüm ayarları kontrol eder. Ayrıca, baş dönüşlerini ve eğimlerini izlemek için telefonun jiroskopundan veri alır. Başınızı çevirdiğinizde video oynatıcıdaki Kamera da dönecektir.

    Adım 5: Uygulamayı Android'de başlatın ?

    Bu iki farklı şekilde yapılabilir:

    • Lütfen seçin Dosya →Yapı Ayarları... Telefonunuzu bilgisayarınıza bağlamak için bir USB kablosu kullanın, USB hata ayıklamasını etkinleştirin ve İnşa Et ve Çalıştır... Uygulama hemen telefonunuza indirilecektir.
    • Veya basın Yalnızca yapı... Uygulama telefonunuza indirilmez, ancak diğer kişilere gönderebileceğiniz veya mobil uygulama mağazasına yükleyebileceğiniz bir APK dosyası oluşturur.

    Oluşturma işlemi sırasında Android SDK kök klasörünü seçmeniz istenebilir. Bu durumda, Android SDK'yı indirin ve klasörünün konumunu belirtin.

    Geriye sadece uygulamayı başlatmak ve telefonu Cardboard'a yerleştirmek kalıyor. Artık evde 360 ​​derecelik sürükleyici sanal gerçekliği deneyimleyebilirsiniz.

    Sıradaki ne

    Tebrikler, 360 derecelik bir video uygulaması oluşturdunuz! Artık bir sanal gerçeklik video uygulaması geliştirmeye bir adım daha yakınsınız. Evet, aralarında bir fark var. İlk durumda, gözlemci yalnızca herhangi bir yöne bakabilir. İkinci durumda, etkileşim, yani nesneler üzerinde kontrol eklenir.

    Yeni oluşturduğunuz uygulama, daha çeşitli VR deneyimleri oluşturmak için bir başlangıç ​​noktası olabilir. Örneğin, Unity'de üzerine bindirebilirsiniz üst katman video 3B nesneler ve parçacık efektleri.

    Ayrıca panoramik video oynatıcının içine bir ortamın 3 boyutlu görüntüsünü koymayı deneyebilir ve video oynatıcıyı skybox olarak kullanabilirsiniz. Kullanıcıyı oluşturulan ortamda gezinmek için bunu kullanabilirsiniz.

    Bunu Paylaş