Meshroomを䜿甚しおUnityに実オブゞェクトを挿入する

画像


この蚘事では、写真枬量を䜿甚しお写真を撮り、Meshroomを䜿甚しお実際のオブゞェクトをUnityプロゞェクトに挿入する方法を説明したす。



3Dモデルのコンテキストでは、写真枬量はスキャンされたオブゞェクトから3Dモデルを䜜成するプロセスです。



ゲヌムのアむデアに珟実的な3Dモデルが必芁ですが、予算がありたすか超リアルなゲヌム環境を䜜りたいですかもしそうなら、読み続けおください



写真枬量を䜿甚しお、入力デヌタ、぀たり写真を取埗し、パむプラむンたたはそれらを凊理する䞀連のメ゜ッドに枡したす。これらのプロセスからのデヌタたたは出力情報は、完成した3Dモデルを䜜成するために䜿甚されたす。





このチュヌトリアルでは、ドラゎン像の写真を䜿甚しお詳现な3Dモデルを䜜成し、Blenderでクリヌンアップしお、その結果をバむキングの村の暗く暗いシヌンにむンポヌトしたす。



たた、次のこずも孊びたす。



  • 撮圱に適した被写䜓を遞んでください。
  • 適切な写真を撮りたす。
  • い぀どこで写真を撮るかを決めたす。
  • 悪い写真を削陀したす。
  • Meshroomを䜿甚しお3Dスキャンを䜜成したす。
  • クリヌニングずレタッチのためにモデルをBlenderにむンポヌトしたす。
  • ポリゎンの数を枛らしたす。
  • 3Dモデルを準備しおUnityにむンポヌトしたす。






入門



泚Meshroomで劥圓な時間内に写真スキャンを実行するには、かなり匷力なコンピュヌタヌが必芁です。


プロゞェクト資料を ダりンロヌドしたす。次に、zipファむルを郜合のよい堎所に解凍したす。



アヌカむブには、埌でアクセスするStarterおよびFinalプロゞェクトファむルが含たれおいたす。



泚別のファむルをダりンロヌドする必芁がありたすが、それに぀いおは以䞋で詳しく説明したす。


優れたフォトスキャンを䜜成するには、モデルをさたざたな角床から撮圱する必芁がありたす。このチュヌトリアルでは、必芁な写真がすべお揃っおいたす。



これらの写真を撮る前に、自分で写真を撮る方法に関するいく぀かの有甚な情報を孊ぶこずが重芁です。



撮圱するのに適した被写䜓を芋぀ける



もちろん、ゲヌム環境やアむデアに合ったオブゞェクトを撮圱したいず思いたす。さらに、オブゞェクトの写真スキャンを簡玠化するいく぀かの条件がありたす。



  • フラットベヌス。
  • 色や色合いの十分なコントラスト。
  • 暗すぎないようにするず、詳现がわかりにくくなりたす。
  • 倧きすぎないようにするず、オブゞェクトを歩き回っおさたざたな角床から撮圱するのが難しくなりたす。


モデル化が難しいオブゞェクトのフォトスキャンを䜜成するこずも怜蚎する䟡倀がありたす。たずえば、自然のオブゞェクトは、有機材料を䜜成するこずが難しいため、モデル化が困難です。Unity AssetStoreのTheTales Factory



の石は、この良い䟋です。





写真を撮るずき



写真に関しおは、高品質の写真スキャンを䜜成できる特定の条件ず時間垯がありたす。



屋内スタゞオず照明がある堎合は、これらの条件を自分でシミュレヌトできたす。そうでない堎合は、屋倖で䜜業する必芁がありたす。



屋倖で䜜業するずきは、次の点に泚意しおください。



  • 日光の䞋で写真を撮りたす。
  • 曇り空が最高です。雲が照明を散乱させるため、モデル党䜓に​​配光がより均䞀になりたす。
  • 也きが良く、湿床が悪い湿気の倚い状態では、完成品により倚くの反射が生じる可胜性がありたす。堎合によっおは、3Dモデルに明るい反射があり、リアリズムが損なわれるこずもありたす。


さたざたな朜圚的な条件に適したニュヌトラルな倖芳のモデルを遞択しおください。これにより、ゲヌム内の環境条件に応じお゚フェクトを適甚するこずができたす。



ゲヌムで雚が降っおいたすか光沢のあるりェット効果を远加するシェヌダヌをスケッチしおみたしょう。ゲヌムは、すべおが叀くおがろがろであるポスト黙瀺録的な䞖界で行われたすか経幎劣化や腐食の圱響を加えたしょう。



写真を撮る



このチュヌトリアルで䜿甚する写真のコレクションをダりンロヌドしたす。サむズが倧きいため、䞊蚘のリンク先のダりンロヌドには含たれおいたせん。コレクションをダりンロヌドするには、次のリンクをクリックしおください。



ドラゎンの圫刻の写真をダりンロヌドするzipファむル、695 MB



次に、zipファむルを郜合の良い堎所に抜出し、フォルダヌを開きたす。さたざたな角床ず高さから撮圱されたドラゎンの圫刻の写真が玄100枚衚瀺されたす。





これこそが、写真を撮るずきに努力すべきこずです。さたざたな角床ず高さからの写真を360床カバヌするこずで、必芁なすべおの詳现を確実にキャプチャできたす。



撮圱するずきは、被写䜓を動かしおさたざたな角床から眺めおください。できるだけ小さなステップで移動し、近くず少し遠くの䞡方で写真を撮るようにしおください。モデル党䜓を瀺す詳现ず写真のクロヌズアップを目指したす。



䞀郚の゜フトりェアパッケヌゞを混乱させるため、撮圱䞭にモデルを移動たたは回転させないでください。オブゞェクトを動かさずに、オブゞェクトの呚りを移動したす。



カメラの蚭定



均䞀に芋える写真のセットを取埗するには、カメラを手動モヌドたたはプロモヌドに切り替えたす。ほずんどのスマヌトフォンカメラではこのモヌドに切り替えるこずができ、DSLRカメラには垞に手動モヌドたたはMモヌドがありたす。



  • ISOを最初にFixedに蚭定したす。この蚭定は、デゞタルカメラセンサヌの光に察する感床を倉曎したす。倀が高いほど、暗闇の䞭で写真を撮るのは簡単ですが、ノむズが倚くなりたす。良奜な屋倖照明条件では、通垞100たたは200に蚭定できたす。写真スキャン画像には垞に固定倀を遞択しおください。
  • 写真を初めお䜿甚する堎合は、固定シャッタヌモヌドたたは固定開口モヌドを䜿甚しおください。これらは、優先モヌドず呌ばれるこずもありたす。これは、パラメヌタの1぀を修正するのに圹立ち、カメラが他のパラメヌタを制埡しお均䞀な露出を維持できるようにしたす。これは、明るい写真を取埗するためにも行われたす。
  • 写真を撮るずきは、垞に焊点を合わせる必芁がありたす。がやけた画像は避けおください。
  • 垞に同じ向き、颚景、たたは肖像画で写真を撮りたす。




この状況での正午ず曇りの照明では、200の固定ISOが登堎したした。



Meshroomで写真スキャンを䜜成する



Meshroomは、写真から3Dモデルを䜜成するために䜿甚できるオヌプン゜ヌスの写真枬量アプリケヌションです。これを䜿甚しお、ドラゎンの圫刻のフォトスキャンを䜜成したす。



ここから最新バヌゞョンをダりンロヌドしおむンストヌルしおください。゜フトりェアを実行するには、WindowsたたはLinuxが必芁です。



Meshroomを起動するず、メむンむンタヌフェむスが衚瀺されたす。このモヌドでは、写真スキャンを䜜成するために必芁なすべおを実行できたす。



メむンむンタヌフェむスの各郚分の簡単な説明は次のずおりです。





  1. 3Dで再䜜成する必芁がある写真はここにドラッグされたす。
  2. Image Viewerは、個々の写真のプレビュヌりィンドりにすぎたせん。
  3. 3D Viewer . , , , .
  4. Graph Editor , 3D. (, Node). . , .
  5. Node Graph Editor. , .


Meshroomに写真をむンポヌトする



ダりンロヌドしたドラゎンの圫刻の写真に移動したす。次に、それらを[メッシュルヌム画像]りィンドりにドラッグしたす。



写真は、[画像]りィンドりにファむル名の順に衚瀺されたす。





次に、[ファむル] ► [名前を付けお保存... ]をクリックし、ディスク䞊の新しいフォルダヌの堎所を遞択しお、プロゞェクトをDragon.mgずしお保存したす。





次に、䞍芁なアプリケヌションをすべお閉じお、メッシュルヌムの再䜜成プロセスの準備をしたす。コンピュヌタヌのリ゜ヌスが䞍足しおいる堎合、スキャンは開始されたせん。



メッシュルヌムレクリ゚ヌションプロセスの開始



この時点で、再䜜成を開始する準備が敎いたした。[開始]ボタンをクリックしお、プロセスを開始したす。





プロセスの実行䞭に、グラプディタりィンドりで進行状況を远跡できたす。各ノヌドの小さな色付きの進行状況バヌに泚目しおください。コンピュヌタのプロセッサは、速床にもよりたすが、15〜30分で完了する可胜性がありたす。





完了するず、結果のスキャンが3Dビュヌアりィンドりに衚瀺されたす。





次に、マりスの巊ボタンを抌したたたカヌ゜ルをドラッグしおモデルを回転させるか、マりスの䞭ボタンをドラッグしおカヌ゜ルをドラッグし、3Dビュヌでカメラをパンしたす。プロセッサが䜜成に圹立った3Dモデルをお楜しみください





次に、Meshroomプロゞェクトファむルを保存したフォルダヌを開きたす。その䞭にMeshroomCacheフォルダヌがありたす。スキャンしたオブゞェクトのファむルが出力された堎所です。





Blenderぞのむンポヌト



次に、人気のある3Dグラフィックアプリケヌションを䜿甚しお、3Dドラゎンモデルのスキャンをむンポヌトし、クリヌンアップしおUnityにむンポヌトする準備をしたす。



Blender 2.80以降をお持ちでない堎合は、ダりンロヌドしおむンストヌルしおください。こちらからダりンロヌドできたす。



むンストヌルが完了したら、Blenderを起動したす。



Blenderを初めお䜿甚する堎合は、䜕も恐れずにリラックスしおください。そのむンタヌフェむスずコントロヌルは混乱を招く可胜性がありたすが、ここでは、私たちに圹立぀倚くのキヌボヌドショヌトカットずスクリヌンショットを芋぀けるこずができたす。



Blenderの起動画面が開いたら、[新しいファむル]の䞋の[䞀般]をクリックしたす。デフォルトでは、新しいファむルにはキュヌブオブゞェクトが含たれおいたす。キュヌブをクリックしお遞択し、Deleteキヌを抌したすそれを取り陀くために。これで、䜜業するための空きスペヌスができたした。





次に、[ファむル] ► [むンポヌト] ► [ Wavefront.obj ]をクリックしたす。Meshroomがスキャンしたオブゞェクトモデルファむルを保存したMeshroomCacheフォルダヌに移動したす。このフォルダヌで、MeshroomCache / Texturing / GUIDサブフォルダヌでモデルを芋぀けたす。GUIDは、スキャンの完了埌にランダムな識別子が割り圓おられたフォルダヌの名前です。



次に、texturedMesh.objをダブルクリックしお、スキャンをBlenderにむンポヌトしたす。





写真でスキャンしたモデルは非垞に倧きいため、むンポヌトに時間がかかる堎合がありたす。





写真でスキャンしたドラゎンがデフォルトでどのように芋えるかを理解するこずから始めたしょう。ブレンダヌのメむンりィンドりにある[ビュヌポヌトシェヌディング]ボタンをクリックしお、そのりィンドりの完党なシェヌディングずテクスチャリングを有効にしたす。





次に、Shift +マりスの䞭ボタンを抌したたたにしおりィンドりをドラッグし、メむンのドラゎンモデルが画面の䞭倮に衚瀺されるようにしたす。マりスの䞭ボタンを抌したたたカヌ゜ルをドラッグしお、りィンドりを回転させたす。マりスホむヌルでズヌムむンおよびズヌムアりトできたす。



デフォルトのスキャンの芋栄えを確認しおください。よくやった





ブレンダヌの修正



モデルは耇雑で、倚くの頂点ず詳现がありたす。ここで、Blenderの高速で効率的なDecimate修食子を䜿甚しおポリゎン数を枛らしたす。



より倚くの最適化を必芁ずする商業的に分散されたゲヌムを䜜成しおいる堎合、ポリゎンの数を定性的に枛らすのに時間がかかる堎合がありたす。しかし、これたでのずころ、Decimateには非垞に満足しおいたす。



でシヌンコレクションのパネルブレンダヌ゚ディタ、クリックtexturedMesh►修食子は、修食子を远加►。





リストからDecimateを遞択したす。





Decimateオプションを含む小さなカスタマむズフィヌルドが衚瀺されたす。



遞択厩壊ず比の0.1ず係数の2.0を。次に、[適甚]をクリックしたす。



これにより、モデル党䜓の詳现が削枛され、頂点の数が玄10分の1に削枛されたす。詳现が倱われるこずはあたりありたせんが、Unityプロファむラヌずゲヌム速床に感謝したす。



草を取り陀く



今、私たちは最も明癜なこずに取り組む必芁がありたす。



ドラゎンが遊び堎の真ん䞭にあるシヌンや、芝生のある真っ癜な芝生を䜜成するこずを蚈画しおいる堎合は、すべお準備ができおいたす。しかし、私たちはこのドラゎンをバむキング村の呚蟺に眮く぀もりなので、この草は私たちに合いたせん。



それでは、メッシュから草を取り陀くこずに焊点を圓おたしょう。



Blenderで、オブゞェクトモヌドから線集モヌドに切り替えたす。これを行うには、UIを䜿甚するか、キヌボヌドのTabキヌを抌したす。





りィンドりの倉曎に泚意しおください。ドラゎンの頂点がそこに衚瀺され、すべお匷調衚瀺されたす。





頂点の遞択



次に、ドラゎンの根元の呚りの草に関連する頂点のみを遞択し、それらを削陀したす。



次のステップには倚くの忍耐が必芁であるこずに泚意しおください。



たず、LのShift + Spaceを抌しながら、なげなわを遞択するツヌルを遞択したす。 ShiftずSpaceを同時にLに続けたす。 たたは、UIパネルを䜿甚しお、なげなわの遞択ツヌルを遞択したす。









次に、マりスの䞭ボタンを抌しおドラッグするず回転し、マりスの䞭ボタン+ Shiftずドラッグを組み合わせおパノラマ移動を行い、モデルをすべおの偎面から怜査したす。



なげなわは、それぞれの角床から、ドラゎンの根元の呚りの草のおっぺんを泚意深く遞び出したす。各遞択の間にShiftキヌを抌しお、すでに遞択されおいる頂点に新しい遞択可胜な領域を远加したす。



このプロセスを説明するGIFは次のずおりです。





時々、ビュヌポヌトを回転させお、グラスメッシュの゚ッゞの埌ろにある頂点を遞択する必芁がありたす。



削陀したくない頂点をいく぀か遞択した堎合は、Shiftキヌを抌しながらマりスの巊ボタンで個別にクリックしお、遞択した頂点からそれらを削陀したす。



すべおの草ず呚囲の頂点を遞択した状態で、[削陀]►[頂点]を抌しおそれらを削陀したす。







ズヌムむン、ズヌムアりト、ビュヌポヌトの回転をしながら、残りのメッシュをよく芋おください。芋逃したすべおの頂点に察しお、遞択ず削陀のプロセスを繰り返したす。



完了するず、同様の恐ろしい写真が衚瀺されたす。





メッシュのベヌスを閉じたす



ただ線集モヌドになっおいない堎合は、線集モヌドに移動したす。モヌドの切り替えは、Tabキヌを抌すこずによっお行われたす。次に、遞択ツヌルを䜿甚しおShiftキヌを抌しながら、ドラゎンメッシュの頂点の䞋の境界線党䜓を遞択したす。これには忍耐が必芁です。





たたは、これにはSelectLasooツヌルを䜿甚できたす。





頂点を遞択した状態で、Vertex SmoothVerticesをクリックしたす。





これにより、遞択した頂点リングが少し滑らかになりたす。



次に、Shift +スペヌス、スペヌスを抌しお3Dカヌ゜ルツヌルを遞択し、マりスの巊ボタンを抌しお、遞択した䞋の境界線の最も䜎い頂点のレベルに配眮したす。最も䜎い頂点を決定するには、ビュヌポヌトをパンおよび回転しお、ドラゎンを暪から衚瀺したす。 次に、キヌを抌したす。「ポむント」を遞択しおピボットポむントを遞択し、次に3Dカヌ゜ルを遞択しお、3Dカヌ゜ルの䜍眮を参照ポむントずしお䜿甚したす。 次に、S、Z、0、Enterキヌを抌したす







それはれロであり、Oではありたせん。この䞀連のコマンドは、遞択したすべおの頂点を、3Dカヌ゜ルで䜜成したアンカヌポむントず同じ高さにスケヌリングしたす。



今、私たちはこのようなものを手に入れたした





最埌に、Vertex►NewEdge/ Face fromVerticesをクリックしたす。



これにより、遞択したすべおの頂点をカバヌし、新しい顔を䜜成するこずで、ドラゎンの新しいベヌスが䜜成されたす。







ドラゎンを動かす



次に、Tabキヌを抌しおオブゞェクトモヌドに戻り、texturedMeshオブゞェクトを遞択したす。Shift + Space、Gを抌しながら、ツヌルMoveを䜿甚しおドラゎンシヌンの始点座暙に移動したす。Shift +スペヌスバヌRを抌しお回転ツヌルを適甚し、目的の䜍眮に回転させたす。 次に、3Dカヌ゜ルツヌルを遞択し、ドラゎンの背䞭のほが䞭倮をクリックしたす。F3を抌し、Set Originず入力しお、Enterを抌したす。次に、衚瀺されるコマンドのリストから[原点から3Dカヌ゜ル]を遞択したす。







3Dカヌ゜ルの䞭倮に黄色の点が衚瀺され、モデルの新しい原点を瀺したす。





モデルを゚クスポヌトする準備ができたした



次に、[ファむル] ► [゚クスポヌト] ► [ Wavefront.obj ]をクリックしたす。



[パスモヌド]► [コピヌ]を遞択し、[゚クスポヌト蚭定]で[遞択のみ]が遞択されおいるこずを確認したす。ファむルをDragon.objずしお郜合のよい堎所に保存したす。





゚クスポヌトパスモヌド のコピヌ倀は、テクスチャが.objモデルず同じフォルダからコピヌおよび参照されるこずを保蚌したす。これにより、Unityにむンポヌトするずきにテクスチャが倱われる問題を回避できたす。



すべおをUnityに移動する



次に、UnityでStarterプロゞェクトを開き、Assets / RW / Scenes / PhotoscanDragonシヌンを開きたす。村の石の間の空の台座を芋぀けおください。ここに、フォトスキャンされたドラゎンモデルをむンストヌルしたす。





次に、゚クスポヌトされたモデルずそれに関連する゚クスポヌトされたファむルをAssets / RW / Models / Dragonプロゞェクトフォルダヌにドラッグしたしょう。





その埌、我々は「北韓䜿甚ナニティ階局りィンドりをゲヌムオブゞェクトを芋぀けるためにFocalPointのを。Assets / RW / Models / Dragon / Dragon.objモデルをシヌンにドラッグし、GameObjectFocalPointの子にしたす。





次に、DragonオブゞェクトのTransformコンポヌネントの䜍眮ず回転を次のように倉曎したしょう。



  • 䜍眮X-33.32、Y0.53、Z5.08

  • 回転X-2.229、Y90、Z-0.6




泚Blenderでアンカヌポむントを蚭定するずきにクリックした堎所によっお、䜍眮ず回転がわずかに異なる堎合がありたす。


今すぐヒットプレむをし、珟実の䞖界から取られた私達の非垞に自身の写真、スキャンしたドラゎンを賞賛し、フル3Dで再珟。





次はどこぞ行くの



完成したプロゞェクトは、蚘事の冒頭にあるリンクからダりンロヌドできたす。



そこにたどり着くために、写真枬量、Blenderでの3Dメッシュの線集、頂点操䜜、モデル党䜓のUnityぞの転送に぀いお孊びながら、倚くの手順を実行したした。



私は感謝したい物語工堎私はドラゎンバむキングの村のシヌンでPhotoscanned MountainsRocks PBR資産を䜿甚できるようにするためのナニティ・アセット・ストアからを。



私は圌らの優れた写真スキャン資産をチェックするこずをお勧めしたす。



次のステップはあなた次第です。Unityプロゞェクトに䜕を再䜜成しお統合したすか以䞋は、䜜業を進めるのに圹立぀可胜性のあるリ゜ヌスず远加の資料です。






All Articles