読者です 読者をやめる 読者になる 読者になる

e.blog

主にUnity周りのことについてまとめていきます

C#

uGUIのEventSystemを理解する

概要 Unity4.6から導入されたEventSystem。 調べてみると色々と学びがあるのでメモとして残しておきます。 (若干、今さら感がありますが) まず最初に大事な概念として、このシステムはいくつかのクラスが密接に連携しながらイベントを処理していく形になっ…

ComputeShaderを触ってみる その1 ~スレッド編~

概要 並列化可能な、膨大な数の計算を行う場合はCompute Shaderの出番です。 今回はこの「Compute Shader」を触ってみたのでそのメモです。 Compute Shaderの最小単位 Compute Shaderを利用する場合、まずは.computeファイルを作成します。 そして作成したCo…

HTC Viveの埋め込みカメラの映像をテクスチャとして取得・表示する

概要 HTC Viveのヘッドマウントディスプレイには、フロントカメラが埋め込まれています。 このカメラは、メニュー表示時にカメラを起動し外の状況を確認したり、ゲーム画面自体にオーバーレイで周りの状況を表示して、HMDを脱がなくても色々とできるように、…

Photonを使ってネットワーク同期させる

概要 今作っているコンテンツはネットワークの同期を行って遊ぶゲームを想定していて、プラットフォームにPhotonを選びました。 photonengine.jp ネットワーク同期をする場合、サーバ・クライアント型のものとP2P型のものとがあり、PhotonはP2P型のものにな…

VR内でつかんだオブジェクトをイメージ通りに投げる

概要 今回の記事は、この記事を熟読して実装したものになります。 www.gamasutra.com 今作っているVRコンテンツは、「VRコンテンツ内で誰しもが共通してやることは、掴んだものは必ず投げる」というところに着目して、「VRで投げる」をコンセプトに開発を進…

MenuItemでVR Supportedを切り替える

概要 やってることはただのMenuItemのEditorスクリプトですが。 UNETなどネットワーク対応のコンテンツを作っていると、複数のエディタを立ち上げてネットワーク経由でのやり取りをデバッグしたくなることが多々あります。 (ちなみに、同一プロジェクトを複…

VR空間内をデバッグできるようにマウスで移動する

概要 VR開発をしていると、HMDをかぶるのが意外と手間になります。 そこで、マウスで位置や回転を制御できると便利です。 ということで、カメラに適用しておくとさっと動かせるスクリプトを残しておきます。 こんな感じ↓ using UnityEngine; using System.Co…

VRモードをオフにして起動するバッチファイルを作る

概要 VRコンテンツのネットワーク対応をしていると、ビルドしてexeファイルとエディタのふたつでデバッグするときがあるんですが、VRモードを双方ともオンにしているとあとから起動したほうが終了されてしまいます。 (HMDはひとつのアプリでしか使えない) …

カスタムエディタを使ってシーン内にハンドルを表示する

概要 スクリプトをアタッチして、インスペクタからVector3型の値を操作する、というケースはままあるでしょう。 インスペクタから設定する場合、XYZそれぞれの値を手入力で入力して設定していくことになりますが、位置の調整だったり、回転だったり、といっ…

ゴール駆動型エージェントの実装(実装編)

概要 「ゴール駆動型エージェントの実装(概念編)」の続編です。 こちらでは、前回書いた概念を元に、実際にサンプルプロジェクトで実装した内容を解説していこうと思います。 ※ 前回も書きましたが、あくまで書籍を読んで実際に自分が実装したものの解説で…

NavMeshAgentの挙動を手動でアップデートする

概要 NavMeshを使うことで、Unityでは簡単に目的までのパス(経路)を計算することができます。 docs.unity3d.com 経路探索して移動させたいオブジェクトに「NavMeshAgent」をアタッチし、「Window > Navigation」メニューで表示されるナビゲーション設定に…