仮想空間VR:BlenderでUV作成 #1 できました!

かずまなぶ です

Blenderやっていきます。インストールまでは前回やったのでOKですね。下の絵が今回の完成形です。

choose screen leyout から UV editing を選択!! これかー!画面が真っ二つに割れました。

書籍:UnityによるVRアプリケーション開発 に従ってやってもダメでした。もう内容が古いんですかね。

事前準備

  1. まずは、初期状態でObject Modeの画面になっています。Aキーで全選択し、カメラと光源とcubeオブジェクトを全て消し去ります。
  2. 作業のために画面レイアウトをいじりましょう。画面上部のchoose screen layoutからUV editing を選択して、UV用画面を作りましょう。画面が左右真っ二つになります。
  3. 右側のobject Modeの画面の左端 CreateタブのUVSpherで球体を設置しましょう。
  4. 球体を空間の原点に移動しましょう。右側メニューのTransform>Locationで座標(0,0,0)にしましょう。
  5. 球体のサイズをわかりやすく Dimensions(1,1,1)にしましょう
  6. object Mode画面でTabを押して Edit Modeに切り替えましょう。球体がハイライトします。

展開する

  1. 右側のedit modeのウィンドウでテンキーの1を押して姿勢を正す。
  2. その見え方のまま、Uキーを押してUV mapping>project from viewを選択すると、左のUV editingウィンドウに展開図が出る。

画像ファイルを張り付ける

  1. UVウィンドウの下側メニューにopen imageボタンがあるので、そこから画像データを選択する
  2. 展開図のサイズ調整:Sでスケール調整 SXで水平方向スケール調整  SYで垂直方向調整
  3. 展開図の位置調整    :Gキーで移動 GXで水平移動 GYで垂直移動
  4.  まだ、貼れてないので注意
  5. edit modeの右上のつまみを下げて、新しいウィンドウを作る(上の画像の状態)
  6. 作ったウィンドウの左下のボタンを押して、propertyiesに切り替える
  7. type of active date to display and edit(material) > Newボタンを押す
  8. type of active date to display and edit(texture) > Newボタンを押す
  9. type をimage or move にする
  10. image >左のボタン(browse image to be linked)から、さっきedit modeウィンドウに張り付けた絵と同じファイルを選択する。
  11. edit mode window の下の丸い球ボタンを押して、renderingにする

なんか真っ黒なんですけど!!

でもだいじょうぶ、ちゃんとできてます(‘ω’)ノ

ライトで照らしましょう

  • object mode ウィンドウで create>Lamp>Hemi の追加で美しく輝きます。

ひとまず、セーブして exportしましたので、次回はUnityへの取り込みをやっていきたいと思います。かずまなぶ

仮想空間VR:BlenderでUV作成 #0

こんにちは かず まなぶです。

以下、うまくいかなかった例です。

別途、解決した記事を書きましたのでそちらを見ていただけたら幸いです。

今日はBlenderを少し学んでいこうかと思います。

まずはインストール

Blender 2.79bを入れました。

立ち上げましょう。

基本操作

NキーとTキーを押すと、左にツール窓 右にtransform窓がピコピコ出てきます。

立方体を作りましょう 左のToolsタブをCreateタブに切り替えてAdd Primitive>Mesh>Cube

この立方体、デフォルトの(2,2,2)になっていることに注意してください。単位立方体(1,1,1)に直しましょう

カーソルを原点に移動するには shift+S でsnapウィンドウが開くのでConsor to Centerです。

Aキーを押すと全選択になります。 ctrl+A ではありません。

なんと、Xキーが削除です( ゚Д゚) 危険。

UVテクスチャを作ってみる

下にもメニューバーっぽいものがありますので Object ModeになっているところをEdit Modeに切り替えましょう。ほかにはTexture Paintモードというのもあり、こういうモード群をインタラクションモードといいます。

左のShading/UVsタブ>UVs>UV Mapping>Unwrap>Smar UV Project>ok

これで、展開図ででてくるはず・・・ でない。

わかりません!blender やめます(; ・`д・´)

仮想空間VR:遂に初めてのVR作品ができました!

こんにちは かずまなぶ です。

少し、ブログを休んでしまいましたが、その間、VR作品の製作に全エネルギーを傾けていました。

世界3大夜景である函館山からの夜景とユニティちゃんです。

ぜんっぜん!伝わりませんね(*’▽’)

ヘッドマウントディスプレイは ファーウェイP9をアマゾンのタイムセールで売っていた1000円のVRゴーグルに入れて使ってみました。

視野角90度あるかないかってところなので、没入感は強くありませんが、それでもしっかり360°全天周視界の3DOFを実現しています。

Unityをインストールするところから、ここまでちょうど10日間かかりました。色々とはまりどころはありましたが、勉強会で教えてもらったり、ネットの海を彷徨いながらなんとか、VRゴーグルで映し出せるまでにはなりました。

今日は大満足です(*’ω’*)

年末か来年頭くらいに、6DOFでスタンドアロンのoculus Santa Cruzとやらが出そうなので、それを買おうかと思います。

それまでは、スマホで腕を磨いていこうと思います。

はまりどころをメモしておきます。

  1. GridProgectorをつけると、オブジェクトが真っ黒になる(意味不明)
  2. Assets>import Assets は機能しない。普通にAsset Storeでダウンロードしてインポートが吉。
  3. Unity用Google VR SDK(GoogleVRForUnity_1.170.0.unitypackage)を入手するのはココ
  4. ダウンロードしたらそれを実行するとAssetsフォルダ内にインポートされる。
  5. Assets>GoogleVR>Prefabs>GvrEditorGvrEditorEmulator.prefab をMeMyselfEyeにアタッチする。GvrViewerMainというものは今どきはもうない。
  6. Build Settingsでは、Scenes In Buildに 作成中のシーンを追加する。Add Open Scenesを押せばいい。
  7. Platformは Android >Switch Platform
  8. Player Settingsは Android settings内でResolution and Presentation>Orientation=Landscape Leftにする。
  9. Other SettingsはIdentification>Package Name=com.自分の名前.プロジェクトの名称 を任意でつける
  10. 超重要!!Minimum API Levelを19以上にする.
  11. 超重要!!XR Settings>Vritual Rality Supportedのチェックを入れる(外すと書いてある書籍があるのでミスリードに注意)
  12. 超重要!!virtual Reality SDKs>Cardboardを追加
  13. atoha
  14. Build And Run

本日はこれでおしまい。寝ます!おやすみなさい。かずまなぶ( 一一)

仮想空間VR:Unity2018 効果音を組み込んでみる

こんにちは(*’ω’*)かずまなぶです。

今日は、オブジェクトが動き出すときに効果音が鳴るようにしてみました。

スクリプトとしては

GetComponent<AudioSource>().Play();

を一行追加するだけですが、その前にオブジェクトの設定を色々しなければなりません。

オブジェクトの追加

  1. 効果音を鳴らすオブジェクトをGameSceneパネルから選択します。>car
  2. Inspectorパネルの一番下のAdd Componentボタンを押してAudio>AudioSorceを追加します
  3. Audio Souce ウィンドウがInspectorの中に追加されますので、その中のAudioClipの右枠の中にProjectパネル>Assetsの音楽ファイル(car_se)をドラッグインしてください。
  4. Play On Awakeのチェックは外しておいてください。

スクリプトの追加

  • 効果音を鳴らすオブジェクト(car)にアタッチしているCarContorollerスクリプトを開いてください
  • たった一行です! GetComponent<AudioSource>().Play(); を追加してください。

以上です!たったこれだけで効果音を追加できるんですね。簡単でした。

次回は、当たり判定をやっていきます。

仮想空間VR:Unity2018 UIを組み込んでみる

今日はかずまなぶです。

今日も  Unity の使い方を学んでいきたいと思います。

当該ブログでは、Unity 2018をインストールするところからスタートし ました。

Unity を触ったこともない人が、Unity の使い方をマスターするべく 二次元のゲームを作ってみてそれで Unity のインターフェースの使い方を習得するという段階です。

ここまでで一週間かかりました。なにぶんサラリーマンなもので仕事が終わって速攻で家に帰って Unity の教科書を見始めるという生活を送っております。

VR 用のコードを書いてVR ゴーグルを体験をするまでは今しばらく時間かかるかもしれませんが温かい目で見守ってください。

テキストオブジェクトの設置

  1. GameSceneパネルにcreate>UI>TextでTextオブジェクトを作ります。
  2. Textオブジェクトの名前をここではdistanceに変更しましょう。
  3. Sceneに切り替えて、Inspectorパネルを開いて 座標とサイズを調整します。position(0,0,0)    ,      size(360,40)
  4. Font Size=32に設定。先ほどdistanceの縦サイズを40にしたので、それ未満でないと、文字がぶっ飛びます。
  5. 中央寄せボタンを押しましょう。上下と左右です。
  6. Gameタブを押して、文字が真ん中に来ているか確認しましょう。

ディレクターオブジェクトの設置

  1. ゲーム全体の流れを統括するディレクターオブジェクトを設置します。
  2. ヒエラルキパネルのCreate>Create Empty でエンプティオブジェクトを作り、名前をGameDirectorに変更しましょう。
  3. UIを設置するためには、CarControllerスクリプトとはまた別のスクリプトが必要になります。
    ゲーム全体の流れを統括するGameDirectorスクリプトを作ります。
  4. Project>Create>C# script でファイルを作り、名前をGameDirectorに変更しましょう。
  5. このGameDirectorスクリプトファイルをGameDirectorオブジェクトへアタッチしましょう。
  6. 最初はただのEmptyオブジェクトだったものが、Directorオブジェクトに昇格しました(; ・`д・´)

はまりどころ

  • GameObject.Find(“オブジェクト名”)とUnity上で配置したオブジェクト名を一致させておかないと、見つけれられない。大文字と小文字を混在させると、やってしまいがち。小文字に統一しよう。

本日も最後まで見ていただきまして誠にありがとうございました。(*’ω’*)かずまなぶ

次は効果音をつけてみましょう

仮想空間VR:Unity2018 Vector2 と mousePositionを組み込んでみる

こんにちは かずまなぶです。

昨日仕事が終わって家に帰って速攻でこのコードを書いていたんですけども、やっぱり金曜日となるとも厳しいですね。

もうね、頭も体も限界でコードを書いている途中で寝落ちして、気が付いたらコードがぐちゃぐちゃになってるんですよ。

それを修正して動かしてみても、もうエラーだらけでもう動く気配を感じません。

で、それを修正しているうちにまた寝落ちしてコードがぐちゃぐちゃになっているんですよ。

こんなことを1時間くらい繰り返して、力尽きる前に何とか動作確認はできていましたので貼っておきたいと思います。

画面をドラッグすると、ドラッグ距離によって車が動く

本日も見ていただきましてありがとうございました。かずまなぶ

明日はUIを組み込んでいきます。

仮想空間VR:Unity2018 Androidスマートフォンで動作させてみる

こんにちは、かずまなぶです。前回PCで作った動きを、スマホで出来るようにしましょう。

スマホへのインポート:apkファイルを作成する手順

  1. まずは、事前にfile>build setings>platformでAndroid>switch platformにしていることを今一度確認してください。
  2. ここからが結構はまりどころ満載でしたので気合を入れてください。
  3. スマートフォンの設定画面で端末情報>ビルド番号を7回連射してください。デベロッパモード(開発者モード)に切り替わります。
  4. 同設定内で、USBデバックをONにしてください。
  5. PC側のunity メニュー>edit>preferences>>external tools>android>sdk>browserボタンを押してください。sdkが入っているフォルダのパスがテキストボックスに表示されます。C:\Users\omoiy\AppData\Local\Android\Sdk
  6. 途中で、JDKが どーたらこーたら、っていうポップアップしてきたので、C:\Program Files\Java\jdk1.8.0_181を選択します。
  7. file>build settings>player settingsボタンを押す
  8. スマートフォンをつなぐ
  9. build and run ボタンをおす。
  10. ビルドしたファイルを保存するフォルダとapkファイル名を聞かれるのでC:\unity_projects\RouletteフォルダにRoulette_android.apkとして保存する。
  11. スマートフォンの画面にUnityと表示され、ゲームが始まる。
  12. この後に、今回作ったapkファイルをスマートフォンにUSB経由でコピーする。
  13. コピーしたapkファイルをタップするとインストールが始まる。セキュリティが高い場合は下げること。
  14. インストール終了後はホーム画面にunityロゴのapkファイルアイコンが出来上がっている

いや、ほんと文字ばっかりですよね。今日はもう疲れました!!では明日!!

かず まなぶ

仮想空間VR:Unity2018 Android向けゲームの構築

こんにちは かず まなぶです。

c#の基本操作を3日間やってみました。では今から、Android向けのカンタンなゲームを構築しながら、Unityの操作方法を思えていきましょう。

Android向けのセッティング

とても簡単です。

  1. メニューバー>new project>プロジェクト名:Roulette>Template:2D>create project
  2. フォルダにプロジェクトが作成されて、Unityエディタが起動する
  3. グラフィックの準備:ルーレット盤 rouletteと 針needleの画像ファイルをAssetsウィンドウにドラッグアンドペースト
  4. スマホ用にビルドするための設定:file>build settings>platform:Android>switch platform>閉じてOK。(close)ボタンはない。
  5. 画面サイズ設定:gameタブ>Aspect>16:10landscape>sceneタブを押して画面サイズが変わったことを確認する
  6. シーンを保存>file>save scene as>ファイル名:GameScene>save
  7. 以降は作りながらチョイチョイ、file>save scenes をして保存しておきましょう。ctrl+s でもいいですよ。

ゲームを作る:ルーレットが回転して、一定時間後に止まる

  1. Assets内に置いた(自分が)ルーレット盤 rouletteと 針needleのファイルのアイコンをScene画面にドラッグアンドペースト
  2. ルーレット盤を配置する:Scene画面内のルーレット盤をドラッグアンドペーストでゲーム画面内に配置する
  3. ルーレット盤位置調整:Inspector>Transform>Positionを手入力して座標を決める。
  4. 針を配置する:カメラはz = -10 の位置にあるので、針はz = -10~0の間におくこと。
  5. コードを書く:Assetフォルダのなかにc#でコードを作って、ルーレット盤にアタッチして実行する。
  6. 画面をクリックすると。回転して、徐々に速度がゼロになる。完全には止まらない。

本日は、ここまでにしましょう。最後まで見ていただきまして、まことにありがとうございました。かず まなぶ (‘ω’)

次回は、作ったものをスマホで動かしてみます。

仮想空間VR:Unity2018 C# ベクタークラスをやっていく

こんにちは、(=゚ω゚)ノかず まなぶ です。

今回で、いったんC#の基本を終えて、ゲームコンセプトの作り方にいきますので、サクッとやっていきましょう。

Vector クラス

ベクタークラスはキャラクターのポジションとか動くスピードを定義することができます。ベクトルを司るクラスです。

本日も最後まで見ていただきましてありがとうございました。

次回はいよいよ ゲームを作っていきましょう。かず まなぶ

仮想空間VR:Unity2018 C# メソド と クラス

こんにちは、(; ・`д・´) かず まなぶ です。

メソド行きます! 突っ走ります!

「処理のひと塊」のことです

クラス行きます! 突っ走ります!

「変数とメソドをまとめた 塊」です

  1. 変数    :HPとかMPとか
  2. メソド:攻撃するとか防御するとか魔法を詠唱するとか
  3. クラス:キャラクターや武器のような「モノ」単位でまとめたスクリプト
  • int num;  //int型のnum変数
  • Player myPlayer;  //player型のmyPlayer変数。なんのこっちゃ( ゚Д゚) 
  • myplayer変数にはプレイヤーの実体を代入する。実体のことをインスタンスという。一体なんのこっちゃ( ゚Д゚)

本日も最後まで見ていただきましてありがとうございました。(‘ω’)かず まなぶ

次回は ベクタークラスを少しやって、さあいよいよ、Unityでゲームを作っていきましょう!!