1.はじめに

前回の記事では、 VR の歴史から課題、活用場面(ユースケース)について紹介しました。

https://www.users-digital.com/2021/03/31/user_vr02/

前回の記事の最後で、自社オフィスをVRのワールドとして作ったとお伝えしましたが、今回はVRプロジェクトを開発するにあたって必要な環境について紹介したいと思います。

2.VR 開発のための環境

まず、VRプロジェクトを開発する上で推奨されているPCのスペックは、以下の通りです。

  • グラフィックカード:NVIDIA GeForce RTX 2060、AMD Radeon RX 480以上
  • CPU:Core i7-8700K以上
  • メモリ:16GB以上

(出典:Unityでつくる建築VR入門)

このスペックを満たすPCの例に、こんなものがあります。

https://www.tsukumo.co.jp/bto/pc/vr/

こういうPCは、巷では「ゲーミングPC」と呼ばれています。そもそもゲーミングPCと言われてもピンとこない読者の方もいると思いますので、その説明から始めます。

2.1.ゲーミングPCって何?

ゲーミングPCには、普通のPCと比較して以下の3つの特徴があります。

VR

ゲーミングPCの特徴1 グラフィックカードを搭載

ゲーミングPCとは、3Dゲームができるグラフィックカードを搭載した高性能なPCのことを指します。そのため、グラフィックを処理するのはCPU内蔵ではなく、GeForceやRadeonなどの専用グラフィックスを搭載している必要があります。

ゲーミングPCの特徴2 高性能なCPUを搭載

CPUの性能によって処理速度が大きく変わるため、ゲーミングPCは高性能なCPUを搭載する必要があります。特に、高い解像度を必要とする際にCPUの性能がボトルネックになるケースがあります。

ゲーミングPCの特徴3 高い冷却性能

高性能なグラフィックスは多くの熱を発するため、性能をフルで発揮させるには冷却機構が大切です。

次に、VRSNS上にワールドを作成する際はUnityを使う必要があります。Unityを初めて聞いた読者の方がほとんどだと思いますので、紹介しておきます。

2.2.Unityって何?

Unityは、モバイルゲームやパソコンゲーム、ブラウザゲームなどの製作に用いるゲームエンジンで、100万人以上の開発者が利用しています。白猫プロジェクトやポケモンGOなどプロのゲーム開発現場でも、Unityは多く採用されています。下の写真は、実際のUnityの画面です。こういった画面で、プロジェクトを開発していきます。

VR

また、Made with Unityでは、Unityを使って開発されたゲームの紹介や開発者のインタビューなどが掲載されています。皆さんがプレイしたことのあるゲームが、Unityで作られていたという発見があるかもしれません。一度チェックしてみてはいかがでしょうか。

https://madewithunity.jp/

そんなUnityには、大きく分けて2つの特徴があります。

Unityの特徴1 高いカスタマイズ性と使いやすいUI

Unityエディタにはとても多くの機能があり、開発者はこれらの機能を使うことで、より早く、質の高い作品を作ることができます。ここでは、高いカスタマイズ性を支えるスクリプト対応とUIについて簡単に触れておきます。

多様なスクリプトに対応:Unityでは、C#やJavaScript(UnityScript)を使ってスクリプトを記述することができるほか、独自のShaderも記述することができ、幅広い表現が可能です。

豊富で使いやすいUI(ユーザインターフェース):メニュー画面やアイテムリストなどで、よく使われます。ボタンやリスト、スライドバーなどUIの機能が初めから多く用意されています。

Unityの特徴2 豊富なアセットが入手できるアセットストア

3Dモデルやアニメーション、機能スクリプトやマテリアル(シェーダ)など、Unityのアセットストアには、有料・無料のアセットが何千という数リリースされており、開発者はストアからそのアセットを買うことで自分のプロジェクトで使うことができます。絵が描けない、BGMや効果音などの音が欲しい、または、簡単なプロトタイプ用にすぐアセットを用意したい場合などにアセットストアを使うことで、プロジェクトの質と開発速度を上げることができます。今回は、机や椅子などの小物をアセットストアで買いました。

上述したように、開発者はスクリプトを書くことでUnityが提供する機能を拡張したり、アセットストアでアセットパッケージを買ったりしながら、プロジェクトを作ることができます。ただ、Unityは上述したように使いやすいUIを提供しているので、基本的な操作などUnityに初めから搭載されている機能を使う分にはC#やJavaScriptが全くわからなくても問題ありません。イメージとしては、プログラミング言語が全くわからなくてもWindowsのPCを使うのに困らないのと似ています。筆者も、今回UnityでVRプロジェクトを開発することを取り上げた書籍を3冊入手しましたが、C#やJavaScriptを理解していることを前提としたものは1冊もありませんでした。

Unityでの開発に慣れてきて、Unityに初めから搭載されている機能だけでは物足りないと感じてきたら、C#やJavaScriptを勉強するといった形で十分だと思いました。むしろ、初めからUnityを使いこなそうとしてC#やJavaScriptを勉強するところから始めると、ハードルが上がってしまい挫折してしまう可能性が出てくるかも知れません。

また、VRSNSにワールドを作成する際の特有の問題として、VRSNSによって対応しているUnityのバージョンが異なることがあります。開発する際は、自分がワールドを作成したいVRSNSが対応しているUnityのバージョンを確認する必要があります。そして、Unityを動かす際には、Unity Hubをインストールしておくと便利です。ここでは、Unity Hubについて紹介します。

2.3.Unity Hubって何?

Unity Hubは、Unityのプロジェクトとあらゆるバージョンのインストーラの検索やダウンロード、管理などを効率化するスタンドアロンアプリケーションです。また、すでにマシンにインストールされているエディタのバージョンをUnity Hubに手動で追加することもできます。Unity Hubを使用すると、以下を行うことができます。

  • Unity アカウントとエディターライセンスを管理できる
  • プロジェクトを作成し、Unity エディタのデフォルトバージョンとプロジェクトを関連付け、複数バージョンのエディタのインストールを管理できる
  • Unity の優先バージョンを設定するだけでなく、プロジェクトページから簡単に他のバージョンを起動することもできる
  • エディタを起動せずにプロジェクトのビルドターゲットを管理および選択できる
  • 同時に2つのバージョンの Unity を実行できる
  • 既にインストールしたエディタにコンポーネントを追加できる
  • プロジェクトテンプレートを使用して、通常タイプのプロジェクトの作成プロセスにすぐに取りかかることができる

今回のプロジェクトでは、ワールドを作る際の3DモデリングにBlenderを使用しました。Blenderを使用したのは、UnityがBlenderのアートアセットとファイル形式に対応しており、アセットをUnityのプロジェクトに追加したり、UnityのUIで管理したりすることができるからです。ここで、Blenderについて紹介します。

2.4.Blenderって何?

Blenderは、本格的かつ商用のハイエンドクラスにも引けを取らないほど高機能な3DCGソフトウェアです。WindowsやMacOS、Linuxといった幅広いプラットフォームに対応しており、ほとんどの一般的なPCで利用できます。また、Blenderはオープンソースソフトウェアとして開発・配布されているため、無料で使うことができ、商用・非商用にかかわらず自由に使うことができます。

さらに、オープンソースソフトウェアのため世界中のプログラマによって日々改良が加えられるので、一般的なソフトウェアでは考えられないほどバージョンアップが早く、且つその頻度も非常に高いため、次々と新しい機能が搭載されていきます。今回は、Blenderに搭載されている様々な機能のうち、代表的なモデリングを紹介します。

モデリング

モデリングとは、画面内の仮想3D空間でモデル(物体)の形を作る作業を指します。下の写真は、実際のBlenderの画面でモデリングをしている様子です。

VR

モデリングの方式には、主に2つあります。

ポリゴンモデリング

ポリゴンモデリングとは、ポリゴンと呼ばれる三角形面あるいは四角形面を組み合わせて形を作る方法のことを指します。ポリゴンモデリングは、直感的に操作することができ、次に紹介するスプラインモデリングよりも扱いやすいとされ、Blenderの入門書でもポリゴンモデリングを紹介している場合が多いです。ただ、ポリゴンモデリングは、スプラインモデリングに比べて、作ることができる形が限られるという欠点もあります。

スプラインモデリング

スプラインモデリングとは、工業製品の設計などに使われる数式的なスプライン曲線を使って形を作る方法のことを指します。スプラインモデリングは、ポリゴンモデリングよりも扱いにくく難しいとされ、上級者向けの技術ともいえます。ただ、スプラインモデリングにはポリゴンモデリングでは作るのが難しい形も容易に作ることができるという長所もあります。

3.終わりに

今回は、VRプロジェクトを開発するにあたって必要な環境について紹介しました。現状、VRプロジェクトを開発するうえで必要な環境は、読者の皆様が普段お使いのPCとは性能面でかなりギャップがあるため、なかなか手が出せないとも言えますが、身近なノートPCの性能も年々上がってきていることから、近い将来、そのギャップをだいぶ解消されていくのではないかと思います。

そうなれば、VRがより皆さんのところにぐっと近づいてくるのではないでしょうか。

次回の記事では、実際のVRプロジェクト開発の流れや様子について、写真を交えながら紹介したいと思います。次回も楽しみにしていてください。