VR/AR開発を学ぶとき、プログラミングガイドやチュートリアルに頼る必要があります。 C# のコーディング、Unity での開発、または VR/AR アプリの構築のいずれを学習する場合でも、知っておくべきコアスキルとアドバイスがあります。 VR および AR アプリケーションのプログラミングを始める前に知っておくべきことなど、講師やオンライン リソースなどからのアドバイスをまとめました。
Download our 10 week XR Development with Unity Course Syllabus
独学は難しいが、可能である。 偽者症候群が忍び寄るとき、プロの開発者の 81% が趣味としてプログラミングを始めたことを思い出してください。 彼らはその情熱をキャリアに変えることができました。
The Basics: 3D ゲーム エンジンの選択
さて、あなたは VR/AR プログラムを自分で開発することを学んでいますね。 まず、どのゲーム エンジンに慣れるかを決定する必要があります。 代表的なゲームエンジンの選択肢は2つあります。 UnrealとUnityです。 どちらも高性能で堅牢ですが、長所と短所があります。 Unity は 2005 年に発売され、最も安定した強力なゲーム エンジンの 1 つに成長しました。 開発者は、3D および 2D ゲーム、アプリケーション、シミュレーションなどを作成します。 モバイル ゲームの 50% 以上、VR/AR アプリの 60% が Unity で作られています。
このエンジンは、すべての主要な VR および AR デバイス用のさまざまなソフトウェア開発キット (SDK) と統合をサポートしています。 Unity のアセット ストアでは、無料から高価なものまで、3D モデルや SDK などをダウンロードできます。 基本的なアセットで作業し、より複雑なアセットに基づいて構築し、独自のアセットを開発することができます。 Unreal は高解像度グラフィックスに優れていますが、Unity も追いつきつつあり、これはもはやこれらのエンジン間の主要な差別化要因ではありません。 ゲーム開発および VR で広く使用されており、VR/AR 開発会社の 90% 以上が C# を使用しています。
Unreal は C++ を使用しており、C# よりも構文が一貫していません。 C# は静的型付けされており、コードが「オン」になる前に Unity によってチェックされることを意味します。 間違いはより簡単に特定され、修正されます。 その上、C#は作業がしやすいのです。 Stack Overflow では、60% の開発者が C# での作業を気に入っているのに対し、46% は C++ を気に入っています (開発者の 53% は C++ を使うのを嫌っています)。 ビルドするデバイスを選択する
各 VR/AR デバイスには独自の SDK があります。 HTC Vive は SteamVR を使用し、Oculus 製品は Oculus Integration を使用する、など。 したがって、開始する前に、どのハードウェア用に構築したいかを調査することが重要です。
しかし、開発者は賢いので、より一般的な VR ヘッドセットのいくつかで動作する SDK を作成しました。 OpenVR です。 OpenVR は、HTC Vive、Oculus 製品、および Windows Mixed Reality ヘッドセット用にビルドできます。 AR に相当するのは、iOS と Android の両方のデバイスで動作する Vuforia でしょう。
どのデバイス用に構築するかを決定するには、アプリに何をさせたいかを検討します。 アプリはアクセス可能である必要がありますか。 広く利用可能である必要がありますか。 高度なインタラクティビティが必要ですか? モバイルか据え置きか? 広い仮想空間が必要ですか。
Unity で各 VR/AR デバイスをセットアップする方法については、こちらの記事で説明されています。 どのデバイス用にビルドしたいのかがわかったら、開発用に設定し、Unity のプラットフォーム設定を変更します。 これでVR・AR開発のプログラミングを始める(学ぶ)準備が整いました!
一般的なコツについては、簡単なar/vrのコツ100をご覧ください。
VR・AR開発を学ぶためのアドバイス
パニックにならないで!
サーキットストリーム講師のNakisaのデスクの背景はこの言葉にしているそうです。 Don’t Panic! これは「銀河ヒッチハイク・ガイド」の引用であると同時に、このアドバイスを心に刻んでいるのだそうです。 「開発には、遊び心を持って取り組むことが大切です。 パニックになると、その能力が制限されてしまうのです。 遊びの精神状態のときに最もよく学べるだけでなく、パニックになると、問題を段階的に考えて解決策を見つける能力が制限されます」
Experiment!
Nakisa が言ったように、VR/AR 開発をいじる姿勢でアプローチすると、Unity で新しい手法を試すのに適した精神状態になるのです。 別のインストラクターである Raghav は、小規模で集中的な演習を自分に課すことで、大規模な実験に飛び込む前に基本に慣れることを勧めています。
「これにより、これから行うタスクの圧倒的なオープンエンド性を、集中した創造活動に注ぎ込むことができます」と Raghav は説明します。 実験的、いじり的な態度は、すぐに成功しなければならないというプレッシャーを自分に与えません」
一度に1つのステップに取り組む
このアドバイスは、プロジェクトの範囲を限定し、一度にプロジェクトの1ステップに取り組むことを確実にすることにも当てはまります。 プロジェクトを開始するときは、一度に1つのツール、アイデア、資産、または相互作用に集中します。 「これは、プロジェクトを小さく管理しやすくするだけでなく、デザイナーのように考える機会を与え、制約の中で、あるいは制約の周りで作業します」
Circuit Stream の主任講師 Usman もこれに同意し、アイデアを計画して書き出し、ビジュアルを作成し、最も基本的なレベルでプロトタイプ化することによって小さく始めることを推奨しています。 「小さなプロトタイプ レベルでシミュレートされたメカニズムやインタラクションを作成し、それをより大きなプロジェクトに適用します」
If you get stuck, take a break and come back later
If you feel stuck or trouble understanding a concept, sometimes the best thing is walk away and come back next day.これは、あるコンセプトで立ち往生しているとき、または理解に苦しんでいるときに、その場を離れて翌日に戻ってくることです。 新鮮な脳は、あなたが理解しようとしている情報をよりよく吸収することができます。 でも、がっかりしてそのトピックを避けてしまわないように、必ず戻って来てくださいね。 MOOCの受講者のうち修了するのはわずか5.5%であり、燃え尽きたり行き詰まったりすることは、自己学習における大きなハードルです。
ラバーダック・デバッグをご存知ですか? 机の上にゴム製のアヒルなどのおもちゃを置いておき、アヒルに自分の問題を簡単な言葉で話してみるのです。 ここに至るまでのプロセスを段階的に説明し、何か見落としているステップがあればアヒルに質問してください。
コミュニティを見つける
一人で学習していると、特に解決できない問題に直面したとき、非常に孤独に感じることがあります。 Reddit の Learn Virtual Reality Development のようなオンライン フォーラム、あなたの街の組織やVR/AR ミートアップなどは、息抜きをしたり、問題を解決したり、お互いの成功を共有したりできる空間を提供します。 フォーラムに加えて、Usman は Virtual Reality、VR Development、Unity – N3K などの Discord サーバーも勧めています。 Facebook では、Women in VR が、どのような経験レベルの女性に対しても非常に協力的であることがわかりました。 また、Virtual Reality Creative Community は、アイデアのワークショップに最適です。
意識的にポートフォリオを構築する
実験し、いじり、プロジェクトを構築しているとき、Raghav は、プロセスを通してメモすることを勧めています。 特に、ポートフォリオ・プロジェクト、またはポートフォリオ・プロジェクトになる可能性のあるプロジェクトに取り組んでいるときは、スクリーンショットを使用してその場でプロセスを記録し、行った決定とその理由、障害にどう対処したかを書き留めるようにしてください。 これは、プロジェクトの文書化プロセスを合理化するだけでなく、全体的な進捗状況を把握し、コミュニティの他の人のためのリソースとしてメモを共有し、開発のウサギの穴に迷い込んだ場合に自分のステップを追跡することができます。 オンライン フォーラムを検索し、そこに答えがない場合は、周囲に尋ねてください。 ほとんどの開発者が喜んで問題を解決してくれます。 私たちは皆、学んでいます。
Jenn Duong (@JennDefer on Twitter) は、VR/AR コミュニティ リソースの素晴らしいリストをまとめました。 ミーティングからブログ、ポッドキャスト、教育プログラムまで、彼女のドキュメントをブックマークして、頻繁に参照したくなることでしょう。 トラブルシューティング、開発セットアップ ガイドの検索、オンライン フォーラムでのアドバイスの求めなど、あなたの旅を助けるリソースが数多く存在します。 他の開発者がどのように作業し、VRにアプローチしているかを見ることで、プログラミングを理解し、開発者として作業する方法について、ユニークな視点を得ることができます。
XR
のライブ オンライン入門ワークショップに参加する
Resources
Building your Community
- Learn VR Dev Reddit
- Jenn Duong の VR/AR Community リソース
- VR and AR Association and its podcast Everything VR and AR
- 27 of the Best VR/AR Meetups in North America
- Women in VR Facebook Group
- バーチャル.AR.NET
- Virtual, オーグメンテッド and Mixed Reality Community
- Virtual Reality Creative Community
- HTC Vive Developers Facebook group
- SteamVR Facebook group
- HoloLens Developers Facebook group
- Magic Leap Developers Facebook group
- Oculus Virtual Reality Facebook group
Learning Development Ropes
- VR デザインのベスト プラクティス
- Learning C# tutorials
- Unity 入門ガイド
- Set up interactive objects in Unity
- Quick Guide to Raycasting in Unity
- Using occlusion to hide objects and more VR および AR で役立つツールやコード
- Unity の便利なツール一覧
- VR 開発に役立つチュートリアル一覧
- 13 VR/AR 資金源
Working with Devices
- VR/ARデバイスの設定に関する総合ガイド
- OpenVR Development Guide for generic VR ヘッドセット
HoloLens
- UnityでHoloLensを設定する
- ARアプリをHoloLensまたはエミュレータにデプロイすることで、以下のことが可能になります。 テスト
- Building for HoloLens tutorial
- HoloLens Development Guides
HTC Vive
- Development with HTC Vive 7- (英語版)ステップチュートリアル
- HTC Viveコントローラで機能を設定するために必要なコード
- Set up pick->
- Set up pick-> HTC Viveコントローラで機能を設定するために必要なコード。HTC Viveコントローラのアップ機能
- HTC Viveコントローラの投射機能のクイックセットアップ
Magic Leap
- Unity で Magic Leap One を設定する
- Magic Leap One に AR アプリをデプロイする方法
- Building for Magic Leap One tutorial
。
Oculus
- Unity で Oculus Rift を設定する
- Required code to pick up objects
- Building for Oculus Rift tutorial
Vuforia
- Vuforiaおよびその他のAR SDKでの構築の概要
- Vuforiaでのカスタム画像の追跡
- Vuforiaのヒントとトラブルシューティング
- サーキットストリームのARとVuforia入門ワークショップ
VuforiaのUXベストプラクティス
作りたいアプリを作ることが可能です。 素早く徹底的に構築するには、独学でも講師と一緒でも、プロジェクトベースの学習が最適な方法です。
独学があまりにも困難な作業に思える場合は、業界のエキスパートが教えるオンラインコースやガイド付きチュートリアルがあります。 また、VRを学べる都市トップ10をまとめました。
CircuitStreamでは、開発の各ステップを通じて、あなたと一緒に指導します。
10週間のコースの終わりには、自分自身でプロジェクトに取り組む自信がついていることでしょう。