C#スクリプトをWindowsコンソールで動作確認する方法(UnityEditor使わずC#の基礎的コードのデバッグをする)
経緯
C# & VisualStudioは、Unityインストールと連動させてインストールしたので、Microsoftのほうで用意されている環境パッケージ(と言えばいいのか?)を利用しないで、Unity用にプリントデバッグ( Debug.Log("○○")
というおなじみの。 )で毎回デバッグしていたのですが、VisualStudioでアタッチ、ビルドして、UnityEditorで再生ボタン押してコンソールに出てくるの待って・・・というこの時間がとても長く感じていて、リストや配列でちょちょっと動作確認というのを、VisualStudioだけでささっと完結できる方法を調べてできたのでメモしておきます。
手順
手順1:Visual Studio Installerを開く
(Unity経由でインストールすると、新規プロジェクト開始時にVisualC++の環境しか選べなかったので、VisualC#の環境パッケージをインストールする)
この記事など参考になりました^^ azulean.me
手順2:新規プロジェクトの作成でコンソールアプリを選択
(フォームアプリでもたぶんなんでもいいかもしれないです。)
こんな感じです
手順3:C#コード書く
例えばリストの動作確認をしたくなったときは下記の記事のようなコードを参考にします。
手順4: Ctrl+F5で実行
単にF5実行だけだとバグなしなら、コンソールが起動後一瞬で閉じてしまうようなので、これを防げます。
上記記事の重要部分を引用します。 「Console.ReadKey();と書けば、ユーザーが何かしらのキーを押さない限り、プログラムが終わりません。」
と、いうことで、Console.ReadKey();
は書いておくとはかどります。
お気軽に押していただければ励みになります^^
最近勉強しているシェーダーというもので作ってみたものなど
シェーダーってなんだろう
このツイートをしり、作品を見てみると、これはカッコいいとなり、ちょっと勉強してみることにした。前から単語は知っていたけども、近寄りがたいなぁって思ってて、この作品集を見てやる気がでたという感じです
シェーダー芸人が集まるすごい会社があるそうですね🤔#TokyoDemoFest の3部門(Demo Compo / GLSL Compo / Wild Compo)で1位!😎 https://t.co/eHtHOJ6DvN
— がむ (@gam0022) 2018年12月10日
勉強した記事
こちらです。毎回こちらのブログは非常に勉強させてもらっています。おすすめです。
気になったものを上から順に試してみました。
作ってみたもの
こちらです。進捗順です。ツイート貼り付けになります、すみませんm( )m
シェーダー勉強が進みました^^ シェーダーってすごい!! 参考サイト https://t.co/PczM2YBgXa #Unity pic.twitter.com/TR1EY4OD5k
— mawa (@k_mawa82) 2018年12月14日
シェーダーまたちょっと実践してみた^^ 参考サイト https://t.co/PczM2YBgXa … #Unity pic.twitter.com/vrPr5bFct5
— mawa (@k_mawa82) 2018年12月16日
シェーダー面白くてずっといじってしまいます^^ 参考リンク https://t.co/PczM2YBgXa pic.twitter.com/zvMrbhTkyj
— mawa (@k_mawa82) 2018年12月17日
今日の進捗です^^ なんかMVっぽくしようとして、謎の空間ができた・・・ #unity pic.twitter.com/jk1tLrSgYW
— mawa (@k_mawa82) 2018年12月17日
シェーダー勉強進捗。とりあえず、Unityちゃん踊るprefab配置でそれっぽくしてみた^^ 思い通りのものを作るのはこれから修行たくさんしないとなぁ・・・と思いました^^ 頑張ろ^^ #unity #unitychan pic.twitter.com/1xm8wXs8aR
— mawa (@k_mawa82) 2018年12月19日
今日の進捗。カメラの自動切換え実装。エフェクトアセットでもっと派手にって手を入れてると、こんな時間に・・・アカン^^ #unity pic.twitter.com/bQ0eYI9uCm
— mawa (@k_mawa82) 2018年12月19日
今日の進捗。UIとメインシーン別々のカメラで書き出しでUIに3Dオブジェクトも配置。なんかMステとかCDTVの影響を感じる動画だなぁ・・・^^ #unity
— mawa (@k_mawa82) 2018年12月20日
参考アセット https://t.co/XOJAHuun9X pic.twitter.com/KjiLV7IAfc
最後のUI部分はちょっとカメラを2つ使ったちょっと特殊な実装です。解説記事です。
吹き出しはこちらの記事を参考にしました baba-s.hatenablog.com
UnityでOculus Go向けVRサンプルアプリビルドしたときのメモ(動作確認2018年11月)
動作確認バージョン
- 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月動作確認)
コメント
上記のキャプチャ画像のようなARKit2.0の体験デモをビルドまでしてみた。これは今年の9月にバージョンアップがあったらしいので、すごく新しい技術なんですね^^
平面を検知したら青い枠で囲まれ、その青いわくにタップすると、キューブが配置されるというだけのデモ。
これをどう実装したかについて主にハマったところ等をまとめた。
利用チュートリアル
おもちゃラボさんの記事を主に参考資料として進めました。
環境情報
自分としては、今後ローカル開発をGPUなどの環境が良いWinで行い=>ビルドをMacと分業体制で進めたいため、このあたりが重要です。
【1】プロジェクトファイル一式の入手
- Win機(OMEN)
- Windows10 Pro
今回はサンプルシーンをビルドするだけなので、実質ローカル開発はなしですが、一応Macで全完結させない練習としてWinからダウンロードし、フラッシュメモリでMacにプロジェクトファイルを解凍済のものをフォルダごと移動しました。画像ファイルなどは圧縮解凍をWin-Macで使いまわした際に不具合がでることもあるので、そういうのが大丈夫かのチェックです。
【2】ビルド
- Mac(Mac 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@MacでiOSビルド
↓
○○.xcodeproj
と、関連ファイル群が生成される
↓
Xcodeでビルド
(○○.xcodeproj
を選択して開く&実機をPCにつなぐ。なおXcode内でのパラメーターいじりはdevelopment teamのところのみ(後述))
はまりどころ
1 Xcodeのビルドエラー1:XcodeとOSが古い問題
Xcodeでビルド時にエラー。OSとXcodeが古い可能性があったので、アップデート。mojaveにしようと思ったのですがどうもHighSieraの足りないパッケージをインストールしてアップデート完了したみたいです。
これが何故か苦労することに・・・
こういう方もいるようで、自分はがちゃがちゃやってたら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')
この記事のチームを選択したらうまくいきました!
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
この記事のにあるように実機をリセットすると行けました。位置情報だけリセットでもいい可能性があります。
4 Xcodeのビルドエラー4:iPhone is busy(!?)
Xcodeでビルド時にこれがでた。(おいおい・・・エラー多すぎて挫折しそうだよ苦笑)
iPhone is busy: Preparing debugger support for iPhone
解決策
この記事にそって、再起動をテスト実機にしたらできました。再起動は実機リセット処理の後にしました。
無事動いた・・・
一苦労でしたね〜^^; 動いてよかった・・・
[もうちょっとこの辺色々勉強したいなという方向け告知]
私の所属する開発チームMulesでは、今回の記事のような、AR等のxRの開発情報を共有したり、議論したりできるみんなで勉強を進めていくもくもく会的なSlackグループ、xrdevja(xR Development Japanを略してます)をはじめました。ので、ご興味ある方は、誰でも参加できるので、是非ご参加ください^^ 下記フォームから参加申請可能です。(一応念のため、もちろん無料です。)
Discordのサーバーもあります。こちらもご利用可能です。 discord.gg
リアルイベントもときどき実施しています。DiscordやSkypeで遠隔で参加可能なので、東京以外の在住の方や、仕事の都合などで会場に直接来られない方もお気軽に参加いただけるイベントを多くしています。実際西日本の開発者さん、クリエイターさんも参加いただいています。主催者として、初心者にも温かいアットホームさを大事にしたいと思って運営しています。 xrdevja.connpass.com
お気軽に押していただければ励みになります^^
開発日誌:xR関係の勉強会を開いてみた
詳細は下記にくわしく書きました。 xrdevja.hatenablog.com
良かったこと
- 幅広いバックグラウンドの方に参加してもらえて情報交換がとても有意義だった。
- Unityはじめての方も実装が色々できて、楽しんでもらえた模様でホッとした。
課題
- 遠隔参加の方との音声・映像共有がいろいろ難しいことがわかったので今後工夫が必要。
プロジェクターとWinPC(OMEN)をHDMIケーブルでつないで、DiscordとSkypeで画面共有+チャット+音声会話+参加者カメラ映像の配信をしようとしましたが、画面共有+チャットもしくは、チャット+音声会話までしか実現できず。これはHDMIケーブルの音声出力の機構に原因がありそうでした。うーむ謎。自前のミニプロジェクターがいるかなぁ。。。あとマイクは無指向性の声が色々聞き取れるやつがあるといいかも。
- もくもく時間が3時間だと限界がある
これはもはや、しょうがないのだけど、何か進捗を大きく出すには、丸1日、あるいは2泊3日くらいのボリュームが欲しいと思った。3時間だとなかなか納得の行くアウトプットが作れない。
次回以降にためしてみたいこと
clusterで、VR空間での集合がしたい。これはすでにアイデアをもらっていたのだけど、時間的に環境構築まで至らず。。。次回にがんばりたい。
お気軽に押していただければ励みになります^^