なんかいろいろしてみます

Aug 9, 2019 - 2 minute read - HoloLens

UE4.23 Preview 5でHoloLens2対応を確認(Preview 7で動作確認)

UE4.23.0 Preview 5から公式のランチャー経由からでもHoloLens 2用パッケージができるようになりました.

現在パッケージまではできましたがエミュレータ―で実行できていません(2019/8/9)

Preview 7でHoloLens 2エミュレータ―の動作が確認できました.(2019/8/24)

HoloLens 2 Emulator導入

UE4.23 Preview 5のインストール

  • 公式サイト https://www.unrealengine.com/ja/what-is-unreal-engine-4 よりUnrealEngineのランチャーをダウンロード,インストールします.
  • UnrealEngineランチャーのエンジンバージョンを4.23.0 Preview 5に設定します.
  • インストール時にオプションを設定する項目があるので,「HoloLens」を選択してインストールを開始します.
  • インストール完了後UE4.23起動してプロジェクトを起動します.

プロジェクトの作成

  • ここでは空のプロジェクトからHoloLens2用プロジェクトを設定します.
  • エンジン起動後「新規プロジェクト」から空のプロジェクトを作成します.

追記(2019/8/24)

  • Preview 7が利用できます.
  • プロジェクト作成時にスターターコンテンツをありにすることで机と椅子をアプリ内で確認することができます.

Pluginの設定

  • プロジェクト作成後HoloLens 2用にPluginを追加,削除します.
  • Augmented RealityHoloLensを有効

  • Virtual RealityMicrosoft Windows Mixed Realityを有効

注意

  • 現在HoloLensパッケージング中にDataSmith関連でエラーが発生してしまうので関連プラグイン「Datasmith Importer」を無効

プロジェクト設定

  • HoloLens 2用にプロジェクト設定を行います.
  • HoloLensのPackagingのSigning Certificate

  • 説明の必要項目はProject NameCompany NameCompany Distinguished Name

  • Company NameCompany Distinguished NameSigning Certificateの値を入力してください.

  • プロジェクトの設定は以下のページも参考にしてください.

注意

  • PackagingのSigning CertificateのGenerate new選択時に以下の画像のようなメッセージが表示され設定ができない場合があります.

  • 上記のような表示が出た場合には,先にCompany Distinguished NameSigning Certificateの項目に CN=YourCampany を入力しそのままパッケージ化を行ってください.

  • 一度パッケージ化に失敗することでSigning CertificateのGenerate newが設定できるようになります.

コード修正

  • UnrealEngineのエンジンビルドは英語環境を想定して作られているため,日本語環境のVisualStudioの場合文字コードに関するエラーが発生する場合があります.
  • (保存フォルダ)\Epic Games\UE_4.23\Engine\Source\Runtime\Core\Public\Miscのコードの以下のコメントを削除しエラーを回避しておきます.
 1 2 3 4 5 6 7 8 910111213141516171819
 	static bool IsUnderscore(CharType Char)
	{
		return Char == LITERAL(CharType, '_');
	}

// ここから
	/**
	* Avoid sign extension problems with signed characters smaller than int
	*
	* E.g. 'Ö' - 'A' is negative since the char 'Ö' (0xD6) is negative and gets
	* sign-extended to the 32-bit int 0xFFFFFFD6 before subtraction happens.
	*
	* Mainly needed for subtraction and addition.
	*/
// ここまで削除
	static uint32 ToUnsigned(CharType Char)
	{
		return (typename TUnsignedIntType<sizeof(CharType)>::Type)Char;
	}

パッケージ化,実行

サンプルの利用

プロジェクトのインポート設定

  • UE4.23.0 Preview 5を起動して上記のページでダウンロードして展開したサンプルプロジェクトを選択します.
  • プロジェクト読み込み時以下のようなダイアログが表示されますが,そのままプロジェクトを読み込みたいので赤丸の順でプロジェクトを読み込みます.

プロジェクト設定

  • 空のプロジェクトと同様に以下を設定します.
  • HoloLensのPackagingのSigning Certificate
  • 説明の必要項目はCompany NameCompany Distinguished Name

パッケージ化,実行

まとめ

  • パッケージ化までできるがエミュレータ―で実行しようとすると正常に実行できない(2019/8/9)

  • Preview 7でパッケージからエミュレータ―の動作を確認できました.(2019/8/24)

  • Datasmithが利用できない(2019/8/9)