MawaLog

一日一日、楽しく生きる。技術と音楽が好き。

開発日誌::Unity::基本的な挙動の自分用メモ

f:id:k_mawa:20190131164429p:plain

memo

ヒエラルキーにあるgameobjectを、1回prefab化してprefabにコンポーネント足すと、ヒエラルキー上のgameobjectも変更反映されるんだな。実証実験で理解^^


お気軽に押していただければ励みになります^^


C#スクリプトをWindowsコンソールで動作確認する方法(UnityEditor使わずC#の基礎的コードのデバッグをする)

f:id:k_mawa:20190131141437p:plain

経緯

C# & VisualStudioは、Unityインストールと連動させてインストールしたので、Microsoftのほうで用意されている環境パッケージ(と言えばいいのか?)を利用しないで、Unity用にプリントデバッグ( Debug.Log("○○")というおなじみの。 )で毎回デバッグしていたのですが、VisualStudioでアタッチ、ビルドして、UnityEditorで再生ボタン押してコンソールに出てくるの待って・・・というこの時間がとても長く感じていて、リストや配列でちょちょっと動作確認というのを、VisualStudioだけでささっと完結できる方法を調べてできたのでメモしておきます。

手順

手順1:Visual Studio Installerを開く

(Unity経由でインストールすると、新規プロジェクト開始時にVisualC++の環境しか選べなかったので、VisualC#の環境パッケージをインストールする)

この記事など参考になりました^^ azulean.me

手順2:新規プロジェクトの作成でコンソールアプリを選択

(フォームアプリでもたぶんなんでもいいかもしれないです。)

こんな感じです f:id:k_mawa:20190131141917p:plain

手順3:C#コード書く

例えばリストの動作確認をしたくなったときは下記の記事のようなコードを参考にします。

www.sejuku.net

手順4: Ctrl+F5で実行

単にF5実行だけだとバグなしなら、コンソールが起動後一瞬で閉じてしまうようなので、これを防げます。

ict119.com

上記記事の重要部分を引用します。 「Console.ReadKey();と書けば、ユーザーが何かしらのキーを押さない限り、プログラムが終わりません。」

と、いうことで、Console.ReadKey();は書いておくとはかどります。


お気軽に押していただければ励みになります^^


最近勉強しているシェーダーというもので作ってみたものなど

f:id:k_mawa:20181222004652p:plain

シェーダーってなんだろう

このツイートをしり、作品を見てみると、これはカッコいいとなり、ちょっと勉強してみることにした。前から単語は知っていたけども、近寄りがたいなぁって思ってて、この作品集を見てやる気がでたという感じです

勉強した記事

こちらです。毎回こちらのブログは非常に勉強させてもらっています。おすすめです。

nn-hokuson.hatenablog.com

気になったものを上から順に試してみました。

作ってみたもの

こちらです。進捗順です。ツイート貼り付けになります、すみませんm( )m

最後のUI部分はちょっとカメラを2つ使ったちょっと特殊な実装です。解説記事です。

code.hildsoft.com

吹き出しはこちらの記事を参考にしました baba-s.hatenablog.com

Unityで不動産VRを開発中。開発デモ紹介。

f:id:k_mawa:20181213173345j:plain

動作確認バージョン

  • Unity 2018.2.13f1 (64-bit)

現状までのアウトプット

開発画面はこういう感じのものです

デモはこんな感じ

まだ開発中なので、UIとかいろいろいじらないといけないですが、とりあえずコンセプトは伝わるかなという感じです。


お気軽に押していただければ励みになります^^


UnityでOculus Go向けVRサンプルアプリビルドしたときのメモ(動作確認2018年11月)

f:id:k_mawa:20181125011539p:plain

動作確認バージョン

  • Unity 2018.2.13f1 (64-bit)
  • Oculus Go

参考にしたチュートリアル

基本的にはこのチュートリアルでばっちりです。 freesworder.net

この記事では、背景的に押さえるべき点で、これに書いてなかったことを含めて下記チェックリストにして補足説明を自分向けに書いています。

やることチェックリスト

  • Oculus のデベロッパー登録をする( @webサイトのコンソール  下記※参照 www.oculus.com )
  • Oculus Go の連携スマホアプリをインストール
  • Oculus Go の連携スマホアプリを開発者モードにする
  • Oculus Goと開発しているUnityのあるPCをOculus Go付属のUSBでつなぐ。
  • Oculus Go のデバッグを許可する(OculusGoをUnityのあるPCとつないだ時にでてくるウインドウでOKするだけ)
  • JDKのパス設定
  • Android SDKのパス設定
  • (Android SDKを使ったことがない場合) Android Studioをインストールして、APIレベル19以上のSDKをインポートしてください。参考リンク↓ qiita.com
  • (JDKを使ったことがない場合)JDKの最新版をダウンロードしておいてください。参考リンク↓ k-mawa.hateblo.jp

JDKとAndroidSDKの設定など

  • バージョン

Android SDK
APIレベル19以上のSDK
JDK
JAVA => jdk1.8.0_192

  • パス

SDK
C:\Users\(ユーザー名)\AppData\Local\Android\sdk

JDK
C:\Program Files\Java\jdk1.8.0_192

ほかのオブジェクトで押さえておくべきこと

  • Cameraオブジェクトは、ほかのARやHoloLensのように違うカメラオブジェクトにしなくてもOK。ゲーム開発時のデフォルトのカメラオブジェクトでビルドOK

[もうちょっとこの辺色々勉強したいなという方向け告知]
私の所属する開発チームMulesでは、今回の記事のような、AR等のxRの開発情報を共有したり、議論したりできるみんなで勉強を進めていくもくもく会的なSlackグループ、xrdevja(xR Development Japanを略してます)をはじめました。ので、ご興味ある方は、誰でも参加できるので、是非ご参加ください^^ 下記フォームから参加申請可能です。(一応念のため、もちろん無料です。)

Discordのサーバーもあります。こちらもご利用可能です。 discord.gg

リアルイベントもときどき実施しています。DiscordやSkypeで遠隔で参加可能なので、東京以外の在住の方や、仕事の都合などで会場に直接来られない方もお気軽に参加いただけるイベントを多くしています。実際西日本の開発者さん、クリエイターさんも参加いただいています。主催者として、初心者にも温かいアットホームさを大事にしたいと思って運営しています。 xrdevja.connpass.com


お気軽に押していただければ励みになります^^


開発日誌::ARデモアプリをARKit+Unityで作ったときのハマりどころメモ(2018年11月動作確認)

f:id:k_mawa:20181109120332p:plain

コメント

上記のキャプチャ画像のようなARKit2.0の体験デモをビルドまでしてみた。これは今年の9月にバージョンアップがあったらしいので、すごく新しい技術なんですね^^

平面を検知したら青い枠で囲まれ、その青いわくにタップすると、キューブが配置されるというだけのデモ。

これをどう実装したかについて主にハマったところ等をまとめた。

利用チュートリアル

おもちゃラボさんの記事を主に参考資料として進めました。

nn-hokuson.hatenablog.com

環境情報

自分としては、今後ローカル開発をGPUなどの環境が良いWinで行い=>ビルドをMacと分業体制で進めたいため、このあたりが重要です。

【1】プロジェクトファイル一式の入手

  • Win機(OMEN)
  • Windows10 Pro

今回はサンプルシーンをビルドするだけなので、実質ローカル開発はなしですが、一応Macで全完結させない練習としてWinからダウンロードし、フラッシュメモリMacにプロジェクトファイルを解凍済のものをフォルダごと移動しました。画像ファイルなどは圧縮解凍をWin-Macで使いまわした際に不具合がでることもあるので、そういうのが大丈夫かのチェックです。

【2】ビルド

  • MacMac mini
  • OS High Serra(そろそろmojaveにしないといけないかな・・・)
  • Unity ARKit Plugin ( ARKit v2.0)
  • Unity 2018.2.12f1
  • Xcode 10.1
  • 実機 iPhone 8

一応ARCore のようなビルドするのに下記SDKはいらなかったです。(AndroidのようにJAVA関係ないからかな)つまり、UnityEditorのExternal Tool はいじらなかったです。

データ処理の流れ

Unity@Winでプロジェクト構築
(今回は中身はいじってないので追加検証必要)

プロジェクトを丸ごとUSBメモリMacに移動。

Unity@MaciOSビルド

○○.xcodeprojと、関連ファイル群が生成される

Xcodeでビルド
(○○.xcodeprojを選択して開く&実機をPCにつなぐ。なおXcode内でのパラメーターいじりはdevelopment teamのところのみ(後述))

はまりどころ

1 Xcodeのビルドエラー1:XcodeとOSが古い問題

Xcodeでビルド時にエラー。OSとXcodeが古い可能性があったので、アップデート。mojaveにしようと思ったのですがどうもHighSieraの足りないパッケージをインストールしてアップデート完了したみたいです。

これが何故か苦労することに・・・

mocotan.hatenablog.com

こういう方もいるようで、自分はがちゃがちゃやってたらAppStoreからアップデートできましたが、30分くらいかかりました。ゲームしてひたすら待ちました・・・
これをすると同じエラーはなくなりました

2 Xcodeのビルドエラー2:development team 署名なし問題

Xcodeでビルド時にこれがでた。

Showing Recent Messages
:-1: Signing for "Unity-iPhone" 
requires a development team.
 Select a development team 
in the project editor. 
(in target 'Unity-iPhone')

解決策
nn-hokuson.hatenablog.com

この記事のチームを選択したらうまくいきました!

3 Xcodeのビルドエラー3:your device is locked(?!)

Xcodeでビルド実機インストール中にでた。

Development cannot be enabled 
while your device is locked. 
Please unlock your device and reattach. 
(0xE80000E2).

解決策
teratail.com

この記事のにあるように実機をリセットすると行けました。位置情報だけリセットでもいい可能性があります。

teleporter.hateblo.jp

4 Xcodeのビルドエラー4:iPhone is busy(!?)

Xcodeでビルド時にこれがでた。(おいおい・・・エラー多すぎて挫折しそうだよ苦笑)

iPhone is busy: Preparing debugger support for iPhone

解決策

teleporter.hateblo.jp

この記事にそって、再起動をテスト実機にしたらできました。再起動は実機リセット処理の後にしました。

 無事動いた・・・

一苦労でしたね〜^^; 動いてよかった・・・

[もうちょっとこの辺色々勉強したいなという方向け告知]
私の所属する開発チームMulesでは、今回の記事のような、AR等のxRの開発情報を共有したり、議論したりできるみんなで勉強を進めていくもくもく会的なSlackグループ、xrdevja(xR Development Japanを略してます)をはじめました。ので、ご興味ある方は、誰でも参加できるので、是非ご参加ください^^ 下記フォームから参加申請可能です。(一応念のため、もちろん無料です。)

Discordのサーバーもあります。こちらもご利用可能です。 discord.gg

リアルイベントもときどき実施しています。DiscordやSkypeで遠隔で参加可能なので、東京以外の在住の方や、仕事の都合などで会場に直接来られない方もお気軽に参加いただけるイベントを多くしています。実際西日本の開発者さん、クリエイターさんも参加いただいています。主催者として、初心者にも温かいアットホームさを大事にしたいと思って運営しています。 xrdevja.connpass.com


お気軽に押していただければ励みになります^^


開発日誌:xR関係の勉強会を開いてみた

f:id:k_mawa:20181009235923j:plain

詳細は下記にくわしく書きました。 xrdevja.hatenablog.com

良かったこと

  • 幅広いバックグラウンドの方に参加してもらえて情報交換がとても有意義だった。
  • Unityはじめての方も実装が色々できて、楽しんでもらえた模様でホッとした。

課題

  • 遠隔参加の方との音声・映像共有がいろいろ難しいことがわかったので今後工夫が必要。

プロジェクターとWinPC(OMEN)をHDMIケーブルでつないで、DiscordとSkypeで画面共有+チャット+音声会話+参加者カメラ映像の配信をしようとしましたが、画面共有+チャットもしくは、チャット+音声会話までしか実現できず。これはHDMIケーブルの音声出力の機構に原因がありそうでした。うーむ謎。自前のミニプロジェクターがいるかなぁ。。。あとマイクは無指向性の声が色々聞き取れるやつがあるといいかも。

  • もくもく時間が3時間だと限界がある

これはもはや、しょうがないのだけど、何か進捗を大きく出すには、丸1日、あるいは2泊3日くらいのボリュームが欲しいと思った。3時間だとなかなか納得の行くアウトプットが作れない。

次回以降にためしてみたいこと

clusterで、VR空間での集合がしたい。これはすでにアイデアをもらっていたのだけど、時間的に環境構築まで至らず。。。次回にがんばりたい。


お気軽に押していただければ励みになります^^