İçindekiler:
- 1. Adım: Fotoğraf Çekmek
- 2. Adım: Fotogrametri Yazılımına Başlarken
- Adım 3: Hesaplayın ve Basitleştirin
- 4. Adım: Renk ve Doku
- Adım 5: Dışa Aktarma ve SteamVR
- Adım 6: SteamVR Haritanızı Oluşturma
- Adım 7: Nesnelerimizi Haritaya Ekleme
- Adım 8: Nesne Etiketlerini Oluşturma
- 9. Adım: Sonuç
Video: Model Oluşturmak için Fotogrametriyi Kullanma: 9 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:17
Ben kimim?
Ben Samuel Conklin ve E. L.'de ikinci sınıf öğrencisiyim. Meyer Lisesi. Son birkaç aydır fotogrametriyi denedim ve bu ürünü yeniden yaratmayı seçerseniz size yardımcı olmayı umuyorum. Başkalarının bu yeni ve sürekli gelişen teknolojiyi nasıl kullanabileceğini görmekle ilgileniyorum.
Sanal Gerçeklik ve SteamVR nedir?
Sanal Gerçeklik, sanatsal ifade ve deneyimin yeni bir biçimidir. Sayısız şirket ve insan ortamı geliştirmek için çalıştığından, bu hala teknolojinin yeni bir sınırı. VR'yi hiç denemediyseniz, kullanıcının görme ve ses duyusunu tamamen kapsadığı için kendinize büyük bir kötülük yapıyorsunuz. Sanal Gerçeklik için en önemli platformlardan biri Valve'ın SteamVR'sidir. SteamVR, kullanıcıların ücretsiz olarak ortamları paylaşmalarına ve parçaları birbirleriyle paylaşmalarına olanak tanır. Çoğunlukla açık kaynaklıdır ve sayısız kulaklığa izin verir. Bunlara HTC Vive serisi, Oculus Rifts, Oculus Quest, Valve Index, Windows Mixed Reality vb. dahildir ancak bunlarla sınırlı değildir. SteamVR, ortamımızı oluşturmak için kullandığımız platformdur.
Fotogrametri nedir ve nasıl kullanılabilir?
Fotogrametri, fotoğraf veya video çekme ve görüntüleri 3B modele dönüştürme işlemidir. Bu teknolojinin kullanımının en ünlü örneği Google Earth'tür. Google, manzaraları ve binaları yeniden oluşturmak için uydu görüntülerini ve sokak görüntülerini kullanır. Google Earth'e bakıldığında, üzerinde çalışabilecekleri çok az görüntü olduğu açıktır, bu nedenle bazı binalar şekilsiz görünecektir. Doğru kullanıldığında fotogrametri, 3B modeller oluşturmanın son derece ikna edici bir yoludur. Bu proje, tarihi simge yapılarını korumak için bu teknolojiyi kullanıyor. Erozyon ve elementlere maruz kalmak, tarihi yerlerin sonunda bakımsızlığa düşeceği ve insanların onları unutacağı anlamına gelir. Fotogrametriyi kullanarak her şeyi dijital olarak koruyabiliyoruz, böylece gelecek nesiller bu yapıları deneyimleyebilecek ve takdir edebilecek. Bu aynı zamanda dünya çapında daha fazla insanın seyahat etme maliyeti veya riski olmadan diğer kültürleri deneyimleyebileceği anlamına gelir.
Hangi malzemelere ihtiyacım var?
Bu proje için Reality Capture, SteamVR ve Krita kullandım. Çalıştırmak için gerekli Nvidia GPU'nuz yoksa Reality Capture yerine kullanılabilecek Autodesk, Agisoft ve Zephyr programları vardır. Krita yerine Photoshop veya diğer fotoğraf düzenleme programları kullanılabilir ancak ücretsiz ve herkese açık olduğu için bu proje için kullanmayı tercih ettim. Ayrıca, doğrudan bilgisayarınıza takılabilen bir Masaüstü VR kulaklığına da ihtiyacınız olacak. Son olarak, yüksek kaliteli bir kamera gereklidir. Bir mobil kamera iyi, ancak Reality Capture kameranın açıklığını otomatik olarak algılayabildiğinden ve bu da daha yüksek kaliteli modellere yol açtığından Nikon D7000 kullandım.
1. Adım: Fotoğraf Çekmek
Bu, bu projenin en önemli kısmıdır, çünkü tek seferde düzeltmeniz gerekir. Eğer yapmazsan, konuma geri dönmen ve her şeyi tekrar alman gerekecek.
İlk olarak, uygun bir yer ve yapı bulmanız gerekecek. Yapı büyük ve kolayca tanımlanabilir olmalıdır. Bu, fotogrametri yazılımının yapı ve arka plan arasındaki farkları tespit edebileceği anlamına gelir.
Tipik olarak, bulutlu bir günde fotoğraf çekmek en iyi yoldur. Bunun nedeni, güneşli bir günün bazı fotoğrafları aşırı pozlama ve diğerlerini az pozlama olasılığına sahip olmasıdır. İstenmeyen gölgeler de oluşturabilir. Çok az gölgesi olan veya hiç gölgesi olmayan bir model, seviye geliştirme bölümünde aydınlatmayı kolaylaştıracaktır. Ek olarak, nesnenin boyutunu hesaplamak için renkleri kullandığından, yazılımın her fotoğrafta aynı kalması için renk dengesine ihtiyacı vardır. Ancak bulutlu bir günde fotoğraf çekmek yapının kalitesini artıracaktır. Gökyüzündeki bulutlar, kamera için doğal bir difüzör görevi görecektir. Işığı daha eşit bir şekilde dağıtacak ve modelin render işlemi sırasında hassas hale geleceği anlamına geliyor.
Son tavsiye, mümkün olduğunca çok fotoğraf çekmek. Çoğu program, nihai ürün için hangi fotoğrafları kullanacağını seçecek ve seçecektir. Daha fazla fotoğraf çekerek her şey daha kesin olacak ve programa biraz nefes aldıracak. Her model için yaklaşık 150-300 fotoğrafım vardı.
2. Adım: Fotogrametri Yazılımına Başlarken
Şimdi fotoğrafları yazılıma aktaracağız. Reality Capture'ın bir Nvidia grafik kartı gerektirdiğini unutmayın. Görüntüleri Hizala bölümünü onsuz geçemezsiniz.
Kullanmak istediğiniz tüm resimlerin bulunduğu bir klasörünüz varsa, sol üst köşedeki Klasör seçeneğini seçin. Bu sizi Dosya Yöneticisine götürecek ve klasörü seçebilirsiniz. Girişler, Dosya Yöneticisi ile fotoğrafları tek tek seçmenize olanak tanır.
Ardından, modeli oluşturma sürecine başlayacağız. Ekranın üst kısmında İş Akışı altında Süreç bölümü bulunmaktadır. Daha büyük Başlat düğmesine basmak istiyoruz. Bu, görüntüleri hizalamaya başlayacaktır. Dördüncü fotoğraf ise bu süreçte neler olduğunu kısaca gösteriyor. Geyiğin sol gözünü tanıyacak ve mesafeyi diğer fotoğraflarla karşılaştıracaktır. Tüm olası kombinasyonlardan geçene kadar farklı fotoğrafları karşılaştırmaya devam edecektir. Yapıya benzeyen küçük noktalar görebiliyorsanız bu adım tamamlanmıştır.
Adım 3: Hesaplayın ve Basitleştirin
Bir sonraki adım, modeli hesaplamaktır. Bunun için Process kısmından Calculate Model seçeneğine tıklıyoruz. Bu, fotoğraflarda ne bulursa doğrudan 3D forma çevirecektir. Sonuçlar, modelin nasıl görünmesini istediğimize oldukça yakın, ancak modelin bu versiyonunda üç sorun var. Birincisi, modelde gerçek yaşam yapısında olmayan delikler var. İkincisi, yüzey çok engebeli. Program hesaplamalarına yaklaştığından, bazı düzgün yüzeyleri yanlış bir şekilde engebeli hale getirecektir. Üçüncüsü, çok fazla üçgen var. Reality Capture'daki her model küçük üçgenlerle oluşturulur. Her üçgen modelin küçük bir yüzeyini temsil eder. Modeli optimize etmek için mümkün olduğunca az üçgen istiyoruz. Çok fazla üçgen varsa, bazı performans sorunlarına neden olabilir.
Bu sorunlar Basitleştirme aracıyla çözülebilir. Model Hesaplama aşamasından sonra tüm modellerde 3.000.000 üçgen olacaktır ve bu sayıyı daha yüksek veya daha düşük yapmayı seçebiliriz. Bu projede bulunanlar gibi tüm modeller için üçgen sayısını 1.000.000'a düşürdüm. Sonuç, tüm engebeli yüzeylerin daha pürüzsüz ve daha az delik olduğu ikinci resimde bulunabilir. Ek olarak, oluşturulacak daha az üçgenle, VR'ye girdiğimizde performans daha iyi olacaktır.
4. Adım: Renk ve Doku
Şimdi modelin hayata daha da gerçekçi gelmesi için renk ve dokuya ihtiyacı olacak. Bu iki kısım, elde ettikleri şeyde benzer, ancak çalışma şekillerinde farklıdır. Proses bölümünde bulunan Renk kullanılarak program modelde renklendirecektir. Araç, modeli oluşturmak için kullandığı resimleri çekecek ve resimlerinizi modelinizin farklı yüzeylerine saracaktır. Doku ise modelin sadeleştirilmiş kısımlarında renklenecektir. İlk görüntüye bakıldığında programın görüntüleri modelin etrafına nasıl sardığı açıkça görülüyor ancak ikinci görüntüde Texture işleminden sonra görüntülerin keskin tarafları artık yumuşatılıyor.
Adım 5: Dışa Aktarma ve SteamVR
Reality Capture'da modelleri SteamVR'a aktaracağız. Ekranın üst kısmındaki Dışa Aktar altında, İşlem bölümünün yanında bulunan Mesh'i seçin. Modelin ayarlarını ve parametrelerini değiştirmenize izin veren bu açılır pencereyi görmelisiniz. JPEG doku biçimini değiştirmek dışında tüm ayarları varsayılan olarak tutmak en iyisidir. Program şimdi mesh dosyası olan OBJ formatında bir dosyayı ve modelin doku dosyası olan bir JPEG dosyasını dışa aktaracaktır. Referans amacıyla, JPEG, bu adımdaki ikinci görüntü gibi görünmelidir.
Şimdi modellerimizi SteamVR'a aktarmamız gerekiyor. Önce SteamVR'ı açın, ardından Atölye sekmesi altındaki Ortam Oluştur/Değiştir'e gidin. SteamVR Atölye Araçları şimdi açılacak. Boş Eklenti Oluştur'u seçin ve Araçları Başlat'a tıklayın.
Varlık Tarayıcı şimdi zaten dahil edilmiş olan farklı malzemeler ve modeller ile açılacaktır. Sol üstte Çekiç sembolü olan bir simge var. Bu, size harita oluşturma yeteneği veren yerleşik SteamVR Çekiç düzenleyicisidir. Haritalar, VR kullanıcısının oyun sırasında yaşayacağı ortamdır.
Adım 6: SteamVR Haritanızı Oluşturma
SteamVR'da Hammer editörü açıkken artık bir küp oluşturabiliriz. Çevreyi oluşturmaya başlamak için bir küp oluşturmak istiyoruz. Program, yerine sabitlenmeden önce küpün boyutunu değiştirmenize olanak tanır. Şu anda küpün sadece dış yüzeyleri görülüyor. CTRL+F tuşlarına basıldığında tüm yüzeyler ters çevrilir ve küp bir odaya dönüşür. Ek olarak, Hammer'a programı yükledikten sonra kullanıcıyı nerede doğuracağını söyleyen info_player_start adlı bir nesne eklemeniz gerekecek.
Odayı daha gerçekçi hale getirmek için dokular da eklememiz gerekiyor. Material Editor aracılığıyla bazı özel görseller ekleyebiliriz. Bu, Varlık Tarayıcısındaki Çekiç düğmesinin sağındaki dairesel simgedir. Malzeme Düzenleyiciyi seçmek sizi bir dokuya dönüştürülecek bir görüntüyü içe aktarmanıza izin verecek yeni bir pencereye götürecektir. Kendi görsellerinizi kullanabilir veya textures.com gibi stok doku web sitelerinden görseller alabilirsiniz. Kullanmak istediğiniz görüntüyü seçmek için Renk Seçimi altındaki Dosya Düğmesine tıklayın. Görselinizi seçtikten sonra Material Editor penceresinin sol üst köşesindeki Disket simgesine basarak kaydettiğinizden emin olun. Şimdi Malzeme Düzenleyiciyi kapatın ve Varlık Tarayıcısına geri dönün. Burada kullanmak istediğiniz doku dosyasını arayın ve ardından tıklayıp Hammer Editor'a sürükleyin. Bu pencerede dokunuzu küpün farklı yüzlerine uygulayabilirsiniz.
Ayrıca odaya aydınlatma eklememiz gerekiyor. Bunu yapmak için, harita görünümünün solundaki Varlık Bölümünde bulunan haritamıza bir light_omni veya bir light_spot koyarız. light_omni her yöne ışık saçarken, light_spot belirli bir yöne ışık saçar. Bu proje için, her nesne için en az iki light_spot ve odayı aydınlatmaya yardımcı olması için bir light_omni kullandım.
Adım 7: Nesnelerimizi Haritaya Ekleme
Şimdi, nesnelerimizi haritamıza taşımaya başlama zamanı. Varlık Tarayıcısında, Malzeme Düzenleyici simgesinin sağında, insansı bir simgeye benzeyen Model Düzenleyici bulunur. Model Düzenleyiciyi açtıktan sonra, bir OBJ dosyasının Hammer Düzenleyici'nin sürümü olan yeni bir VDML'ye göz atma veya oluşturma seçeneğine sahip olacaksınız. Yeni bir VDML oluşturma seçeneğini seçin ve bir klasör oluşturmanızı gerektirecektir. Bu klasör VDML dosyasını saklayacaktır. Eklenti klasöründe olduğundan emin olun ve devam düğmesine basın.
Bu sizi modelinizin beyaz bir dokuya sahip olduğu bir ekrana götürecektir. Bu modele doku eklemek için soldaki araç çubuğundan Malzemeler'i seçin. Bu sizi Malzeme Düzenleyicisine götürecektir ve Reality Capture dışa aktarımından JPEG'i seçebilirsiniz. Disket simgesine tıklayarak dokuyu ve modeli kaydettiğinizden emin olun. Hammer Editor'a geri dönün.
Hammer'da, modeli Varlık Tarayıcısından haritaya sürükleyip bırakabilirsiniz. Model büyük olasılıkla küçük olacak ve yeniden boyutlandırmanız gerekecek. Klavyenizdeki T tuşuna basarak haritadaki konumunu değiştirebilirsiniz. E'ye basmak modelin oranlarını değiştirirken R modeli döndürür.
Adım 8: Nesne Etiketlerini Oluşturma
Her bir yer işaretinin yanında görülen Nesne Etiketleri, kullanıcının deneyimini geliştirmek için bağlam ve geçmiş sağlar. Nesne Etiketlerim için, daha sonra kullanmak istediğim önemli bilgileri kolayca kaydetmek için her konumdaki bilgi levhalarının fotoğraflarını çektim. Daha sonra ek resimler ve metin içeren Nesne Etiketleri oluşturmak için ücretsiz bir fotoğraf düzenleme yazılımı olan Krita'yı kullandım.
Odanın Miner Park ve Anchor tarafında, etiketlerin doku olarak eklenmesinde herhangi bir sorun yaşanmadı. Bunları Malzeme Düzenleyici aracılığıyla Varlık Tarayıcınıza ekleyin ve görüntüyü Çekiç Düzenleyici'de oluşturulabilecek bir bloğa ekleyin. Odanın diğer tarafı için panolar oluşturduğumda sorunlar ortaya çıktı. Tüm metin ve resimler geriye dönüktü ve düzenleyici içindeki dokuları tersine çevirmenin net bir yolu yoktu. Bunu düzeltmek için Krita'ya geri döndüm ve geyik ve ayı için tahtaları tersine çevirdim ve neyse ki bu sorunu çözdü.
Ek olarak, butik müze hissi ve ambiyansına sahip bir oda yaratmak istediğim için Wilkes-Barre'nin çeşitli görüntülerini ekledim.
9. Adım: Sonuç
Sonuç olarak, hem Sanal Gerçeklik hem de Fotogrametri, spor, emlak ve adli tıp dahil ancak bunlarla sınırlı olmamak üzere sayısız endüstriyi büyük ölçüde iyileştirme gücüne sahiptir. Bugün memleketimin yerel tarihinin bazı küçük ama önemli kısımlarını korumak için fotogrametriyi kullandım. VR ve Fotogrametri, bazen sizi zorlayabilecek deneysel teknolojilerdir. Bazı eksikliklere rağmen, her iki süreç için yenilikçi kullanımların miktarı heyecan verici ve sınırsızdır. Bu proje hakkında okuduğunuz için teşekkür ederim ve umarım bu, Sanal Gerçeklik ile yeni bir şeyler denemeniz için size ilham vermiştir.
Projenin indirme linkine buradan ulaşabilirsiniz.
Önerilen:
Transistör Soğutucu Oluşturmak için Bilgisayar Soğutucusunu Yeniden Kullanma: 7 Adım
Transistör Soğutucu Oluşturmak için Bilgisayar Soğutucusunu Yeniden Kullanmak: Bir süre önce oynamak için bazı Raspberry Pi 3'ler satın aldım. Soğutucu olmadan geldikleri için bazıları için pazardaydım. Hızlı bir Google araması yaptım ve bu Instructable (Ahududu Pi Isı Emici) ile karşılaştım - bu, fikrini reddettikten sonraydı
Ubidots-ESP32+Sıcaklık ve Nem Sensörünü Kullanma-Ubidots-Kullanma-Uyarı Oluşturma: 9 Adım
Ubidots-ESP32+Sıcaklık ve Nem Sensörü-Ubidots-Kullanma-Uyarı Oluşturma: Bu eğitimde, Sıcaklık ve nem sensörünü kullanarak farklı sıcaklık ve nem verilerini ölçeceğiz. Bu verileri Ubidots'a nasıl göndereceğinizi de öğreneceksiniz. Böylece farklı uygulamalar için her yerden analiz edebilirsiniz. Ayrıca e-posta oluşturarak
Renk Dizileri Oluşturmak için RGB LED'leri Kullanma: 12 Adım
Renk Dizileri Oluşturmak için RGB LED'leri Kullanma: Bu Talimatlar, Arduino Uno ve bir Kod kullanarak renk dizileri oluşturmak için RGB LED'lerin nasıl kullanılacağını gösterecektir. Diğer 2 RGB LED'i aynı renkte kalırken, 3 RGB LED zaman içinde renk değiştirecektir
Piezo "Parıltı, Parıltı, Küçük Yıldız" Oynarken Yanıp Sönen Bir Yıldız Oluşturmak için LED'leri ve AT Tiny'yi Kullanma: 6 Adım
Piezo "Parıltı, Parıltı, Küçük Yıldız" Oynayan Yanıp Sönen Bir Yıldız Oluşturmak için LED'leri ve AT Tiny'yi Kullanma: Bu devre, yanıp sönen bir yıldız ve "Parıltı, Parıltı, küçük yıldız" müziği üretmek için LED'ler, AT TINY ve piezo kullanır; Devreye genel bakış için lütfen sonraki adıma bakın
Java3D Modelleri Oluşturmak için Blender'ı Kullanma: 3 Adım
Java3D Modelleri Oluşturmak için Blender'ı Kullanma: Bir Java programcısıysanız, muhtemelen bir noktada 3D olarak programlamak istemişsinizdir. Ama nasıl? Java3D'yi kullanabilir ve her noktayı bir 3B çokgende yavaşça yazabilirsiniz (bana güvenmeyi denedim, bu kötü bir fikir) veya Blender'ı (http://blender.org) bir