FC2ブログ

【Unity】VRで自分だけの世界を作ってみよう!【#2】

どうも、カズズ軍曹です。
今回は地面を作り、色々なオブジェクトに物理法則を追加して遊んでいきたいと思います!

今回の目標

地面を追加する
オブジェクトに物理法則を付与する

オブジェクトを組み合わせてシーンを作る

Unityでは複数のオブジェクトを組み合わせてシーンを作っていきます。
シーンとは、ゲームでいえばタイトル画面や、メニュー画面などの画面のようなものと考えて大丈夫です。
今のプロジェクトの状態を見てみましょう。
unity20200614-1.png

左側の「Hierarchy」を見て下さい。
現在表示しているのが、「SampleScene」であり、3つのオブジェクトが存在していることが分かると思います。
一番上が「Main Camera」です。プレビューを見てもカメラが存在していることが分かります。これは、プレイ開始時にユーザーが一番最初に見る画面になります。

「MainCamera」をダブルクリックしてみましょう。
unity20200614-2.png

右側の「Inspector」に色々と情報が出てきたと思います。
位置や方向、物理法則など「MainCamera」オブジェクトのパラメータをここで設定することができます。
カメラオブジェクトに関しては、プレビューの右下に「CameraPreview」が出現し、カメラが一番最初に捉える画面を確認することができます。

次に、「Directional Light」です。
これはシーン全体を照らす照明になります。
ダブルクリックしてみましょう。
unity20200614-3.png

黄色い線は、光を照らす方向を表しています。
「Inspactor」内の「Transform」の中にある、「Lotation」のパラメータを変更すれば、方向を変えることができ、シーン全体の照明具合が変化します。
試しに色々な値を入れてみて下さい\( 'ω')/

3番目の「Cube」は、前回の最後に追加したものです。

地面を追加する

それでは、新たなオブジェクトを1つシーンに追加していきましょう!
「Terrain」というオブジェクトを追加することで、簡単に地面を生成することができます。

「Hierarchy」内の空白を右クリックし、「3DObject」→「Terrain」と進んで下さい。
unity20200614-4.png

新たなオブジェクトを生成することができました!
これが地面となるオブジェクトの初期状態の姿です。
幅と奥行きが、1000×1000で構成されています。
ここからパラメータを色々弄って地面っぽく仕上げていきます。

まずは、カメラを地面の中に持っていきたいので、位置を変更してみましょう。
「Inspactor」内の「Transform」の中にある、「Position」の値を変更します。
x,zの値をそれぞれ-50に設定してください。
X座標が横、Y座標が高さ、Z座標が奥行きです。
unity20200614-5.png

これで地面を画面の中に持っていくことができました!
立方体が埋もれてしまっているので高い位置に設定しましょう。
立方体を選択し、Y座標の位置を増やします。
unity20200614-6.png

これで実行してみてみましょう!
unity20200614-7.png

地面の上に立方体が浮いているような構図ができました。色々と見回してみてください✌︎('ω'✌︎ )

平地では寂しいので、高低差を付けていきましょう。
Terrainオブジェクトではとても簡単に高低差を付けることができます。

Terrainを選択します。
「Inspector」内の「Terrain」から「ブラシのマーク」を選択します。
下の選択欄を、「Raise or Lower Terrain」に変更してください。
unity20200614-8.png

これは、高低差を付けるためのブラシツールになります。
実際にプレビュー画面上で絵を描くようになぞるだけで、山などを作ることが出来ます。

描く前に、さらに設定を確認しておきましょう。
中央のマークはブラシの種類になります。険しい山を作りたいのか、ただの段差を作りたいのかでブラシの種類が変わってきます。
BrushSizeはブラシの大きさです。広範囲を描きたいなら値を大きく、狭い範囲で良いなら値を小さくしてください。
Opacityは高低差の傾斜具合です。より急斜面を作りたければ値を上げ、緩やかな斜面を作りたければ値を下げてください。

それでは、適当に高低差を付けてみましょう。
高低差を付けられたら、実行してみてください。
unity20200614-9.png

表示画面は違うと思いますが、無事に山が作れたらOKです!
表示がバグってしまう場合は、傾斜がカメラに被ってないか確認してみてください。
被っていたら正常に表示されないので、カメラを動かすか、傾斜の位置を変えて下さい。

これで少しは景観に遊びが出たと思います。
Unityでは木を植えたり、自然に囲まれているようなテクスチャに変更することは簡単にできるのですが、「アセットストア」の説明をしないといけないため、今回は端折らせて下さい。
第4回で地形を仕上げていきましょう!

オブジェクトに物理法則を付与する

オブジェクトに物理法則を付与することにより、落下させたり当たり判定を加えたりすることができるようになります。この設定も、Unityだと簡単にできます!

まずは、「Cube」オブジェクトに重力を付与しようと思います。
「Hierarchy」から「Cube」を選択し、「Inspector」から「Add Component」を選択します。
unity20200614-10.png

「Physics」から「RigidBody」を選択してください。
コンポーネントを追加することで、オブジェクトに新たな属性を与えることができます。
Physics(物理)のRigidBody(剛体)の属性を追加したので、この「Cube」オブジェクトは剛体として見られることになります。

この属性を追加したことによりどのような変化があるのか実際に見てみましょう!
「RigidBody」の「Use Gravity」にチェックが入っていることを確認し、実行してみてください。
unity20200614-11.png

unity20200614-12.png

さっきまで不動だった立方体が落下してきたことが分かります。
UseGravityパラメータにより重力が付与されたのですね!
Unityでは傾斜などの複雑な地形の当たり判定も自動で行ってくれます。
本当に便利ですね・・・

このCubeは今の所剛体の設定のみですが、「物理マテリアル」というものを用いることで、反発係数などを使った更に複雑な物理演算も可能になります。
新たに球を追加し、弾性衝突をさせてみましょう!

Cubeを追加した要領でSphereを追加します。
「Hierarchy」の空欄を右クリックし、「3D Object」→「Sphere」と進みます。
unity20200614-13.png

このままでは立方体と位置が被ってしまうので、適当な位置に移動させて下さい。
unity20200614-14.png

私は、カメラの後ろ側に移動させました。
反発する設定にするので、振り返っても運動の様子が確認できます✌︎('ω'✌︎ )

次に「物理マテリアル」を追加していきます。
これは物理演算用の素材で、オブジェクトに適用することで物理法則を付与させることができます!
下側の「Assets」というエリアの空欄を右クリックし、「Create」→「Physics Material」と進んで下さい。
unity20200614-15.png

作成する物理マテリアルに名前を付けられます。私は分かりやすさを重視し、「FullBound」という名前にしました。

作成すると、右側の「Inspactor」に属性が1つ出てきます。
unity20200614-16.png

上から、「動摩擦力、静止摩擦力、反発係数」の設定値となっています。
どれも0が最小、1が最大です。
今回は弾性衝突する物体を作るので、反発係数を1に設定してください。

次に、今作成した「FullBound」をさっき作成した「Sphere」に適用します。
「Sphere」を選択してください。
「Inspactor」内に「Sphere Collider」属性があると思います。
その中に、Materialという項目があります。
「None」になっていると思うので、そこに「FullBound」をドラッグ・アンド・ドロップして挿入してください。
unity20200614-17.png

Sphereに弾性衝突を設定した物理演算を与えました。
運動させるためには、さっきの立方体と同じく、Sphereに剛体の属性を与えなければなりません。
さっきと同じ手順で、「RididBody」属性を付与しましょう。
unity20200614-18.png

これで、Sphereは跳ね返り運動を起こすようになります。
実行してみましょう!
unity20200614-19.png

見事反発の設定を与えることができました!

物理マテリアルの存在理由は、再利用が簡単だからだと思います。
実際にシーンを作っていくとなると、反発係数や摩擦係数が同じ物体や違う物体などが大量に存在することになるので、オブジェクトに物理マテリアルを付与する方法でやると、設定の時間を削減することができます!

色々なオブジェクトや物理マテリアルを作成し、シーンを盛り上げてみて下さい!

地面の作成、物体の動かし方が分かりました!
次回は、コントローラーを使った移動を行っていきたいと思います!

では、また!

【Unity】VRで自分だけの世界を作ってみよう!【#1】

どうも、カズズ軍曹です。
みなさんはVRヘッドセットを持っていますか?
VRヘッドセットを持っていても、大抵の方は企業などが作ったゲームをダウンロードして遊んでると思います。
でも、せっかく高いお金を出してヘッドセットを買ったので、自分で作った世界を覗いてみたいと思いませんか?
Unityを使うことで、簡単に実現することができます。
早速やっていきましょう!

使用するヘッドセット

今回は、Oculus rift sを用いて開発を行っていきます!

Oculus rift sはPCとの接続が必要となるヘッドセットですが、Unity上で簡単に動作します✌︎('ω'✌︎ )
接続にはDisplayPortとUSBポートが必要です。
Amazonでの値段は、執筆段階で71,800円です。

※VRは非常に高負荷なため、そこそこの性能を有するPCでないと快適に動作しません。

Unityとは?

Unityとは、最高の知名度を誇るゲーム開発エンジンです。
物理演算にも長けており、非常に沢山のゲームの開発環境として使われています。

Unityのセットアップ

Unityは公式ページからダウンロードすることができます!
以下のページにアクセスしてください。

unity20200609-1.png

UnityにはUnityHubと呼ばれる便利な管理ソフトがあります。
UnityHubをダウンロードしてください。

インストールファイルをダウンロードしたら、起動してください。
unity20200609-2.png

「同意する」を押して次に進みます。
unity20200609-3.png

「インストール」を押してインストールを完了させましょう。
unity20200609-4.png

「UnityHubを実行」を押して、ランチャーを起動します。
unity20200609-5.png

起動すると、このような画面が出てきたと思います。
Unity本体をインストールしたいので、右上の青い「インストール」と書かれたボタンを押します。
unity20200609-6.png

Unityのバージョンですが、2020/06/09時点では2019.3.15f1が最新のようです。
最新の正式リリースバージョンを選択して次へを押してください。
unity20200609-7.png

インストールするモジュールは特に弄る必要はありませんので、そのまま次へを押して下さい。

すると、選択したバージョンのUnityのインストールが始まります。
結構ファイルサイズが大きいので、気長に待ちましょう!
unity20200609-8.png

プロジェクトを作成する

Unityのインストールが完了したので、プロジェクトを作成します。

左側にある4つの項目のうちの、「プロジェクト」をクリックしてください。
unity20200609-9.png

右上の青いボタン「新規作成」をクリックします。
unity20200609-10.png

テンプレートは、3Dを選択します。
プロジェクトの名前はなんでもいいのですが、「VRTest」という名前にでもしておきましょう\( 'ω')/
「作成」を押すと新規プロジェクトが作成され、エディタが起動します!
unity20200609-11.png

この画面がエディタです。
左側がシーンのオブジェクト一覧、下側がプロジェクトのファイル一覧、右側がオブジェクトのパラメータ設定欄、中央がシーンのプレビューです。
用語や操作方法などはまた後日解説します。

ヘッドセットを接続する

Unityのプロジェクトが作成できましたら、VRヘッドセットをPCに接続しましょう!
初めてVRヘッドセットを使う場合は、セットアップが必要なのでセットアップを終わらせて下さい。
Oculus rift sを使用している場合は、Oculusの公式ソフトウェアを使用すると簡単にセットアップができると思います。

プロジェクトの設定をする

それでは、Unity上でVRヘッドセットを用いた開発ができるようにプロジェクトの設定をやっていきましょう!
設定はとても簡単です。

「Edit」→「Project Settings」と進んでください。
unity20200609-12.png

左側のメニューで「player」を選択します。
「XR Settings」を開き、「Virtual Reality Supported」にチェックを入れます。
unity20200609-13.png

設定はこれだけです。
閉じて起動してみましょう!
起動するには、プレビューの上にある三角マークを押します!
unity20200609-14.png

起動できましたでしょうか!
プレビューに写っている画面が、ヘッドセット上で見れれば問題なくセットアップできています!
なお、実行中はヘッドセットでみている画面がプレビュー上でも連動して表示されます。
止めるには同じく三角マークを押して下さい。

オブジェクトを追加する

では、最後にオブジェクトを1つ追加してみましょう\( 'ω')/
立方体を追加してみます。

左側のオブジェクト一覧のエリアを右クリックし、「3DObject」→「Cube」と進んで下さい。
unity20200609-15.png

すると立方体が出現したと思います。
unity20200609-16.png

右側で、今作成したオブジェクトのパラメータを設定できますが、現在は無視で大丈夫です。
ここで物理法則を付与したり、大きさや位置や模様などを変えることができます。

それでは実行してみてください!
unity20200609-17.png

今追加した立方体をヘッドセットで見ることができました!

このように、Unityではオブジェクトの追加とパラメータの設定によりシーンを作っていきます。
次回は地面を追加したり物理法則を追加したりして遊んでいきたいと思います!

それでは、また!
プロフィール

カズズぐんそー

Author:カズズぐんそー
岡山県在住の情報工学系の大学生です。
情報処理安全確保支援士試験合格。
麻雀とゲーム制作、低貸スロが趣味の自由人です。

最新記事
最新コメント
月別アーカイブ
カテゴリ
アクセスカウンター
オンラインカウンター
スポンサーリンク
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
メールフォーム

名前:
メール:
件名:
本文: