1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unityを使ったiOS-Windows間のリアルタイム姿勢計測

Last updated at Posted at 2025-02-15

この記事で分かること

  • Unityでのジャイロセンサーの有効化方法
  • Unityでの3Dオブジェクトの回転制御
  • Unity Remote 5の使い方

#1 事前準備

iPhone側

1.AppStoreから Unity Remote 5 をインストール

image.png

 Unity Remote 5 のインストール:AppStore
2.Unity Remote 5を開いて、iTunesがインストールされたPC(Windows)とUSBで接続
Image.jpg
PC(Windows)にiTunesがインストールされていない場合はこちら
3. iPhone側で「このコンピュータを信頼しますか?」というメッセージが表示されるので、「信頼」をタップ

PC(Windows)側

1. Unity Hub から Installs > Add modules > iOS Build Supportを選択し、インストールする(バージョンは任意のものを選択)

image.png

2. Projectsに戻り、New Project > Universal 3D を選択、好きな名前を付けて Create project を選択する

image.png

3. Hierarchyウィンドウの+マークをクリックして、3D Object > Cube を選択する

image.png

4. Cubeを選択した状態でInspectorウィンドウを開き、Transform > Scaleを
 [X:0.0715, Y:0.1467, Z:0.0078] に設定
 ※iPhone14のサイズをもとに設定
 参考:J:COM 歴代iPhoneシリーズの情報まとめ

image.png

5. Edit > Project Settings... を選択する

image.png

6. Project Settingsウィンドウから、Editor > Unity Remote > Device を None から Any iOS Device にする

image.png

7. Project Settingsウィンドウから、Player > Other Settings(Setting for iOS) > Target minimum iOS Version を 13.0 から手持ちのiPhineのバージョンの番号に変更する

image.png


#2 プログラム作成

1. ProjectウィンドウでAssetsフォルダ内にcodeフォルダを作成し、そのフォルダを開いた状態で+マークをクリックして、Scripting > Empty C# Script を選択し、"iPhone_gyro"という名前のcsファイルを作成する

image.png

2. iPhone_gyro.cs を開き、以下のコードを入力する
iPhone_gyro.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class iPhone_gyro : MonoBehaviour
//           ~~~~~~~~~~~ 波線上はファイル名を入力する
{
    // Start is called before the first frame update
    void Start()
    {
        //ジャイロ機能を有効化する
        Input.gyro.enabled = true;
    }

    // Update is called once per frame
    void Update()
    {
        //クォータニオン(4次元ベクトル)を使用。
        Quaternion attitude = Input.gyro.attitude;
        //Cubeを回転させる
        //iPhoneは実行時の反対側の方向をZ軸の基準にするためオフセット値として180°を設定
        transform.localRotation = Quaternion.Euler(90, 0, 180) * new Quaternion(-attitude.x, -attitude.y, attitude.z, attitude.w);
    }
}
3. Unityに戻り、iPhone_gyro.cs をCubeにコンポーネントする

image.png


#3 カメラ(Gameビュー)の調整

1. Hierarchy ウィンドウから Main Camera を選択し、Transform の Position を [X:0, Y:1, Z:-10] から [X:0, Y:0.17, Z:0.46] に、Rotationを [X:0, Y:0, Z:0] から [X:15.47, Y:180, Z:0] に設定する

image.png

2. Gameビューを開き、Cubeが映っていることを確認

image.png


#4 実行

オススメの実行方法

1. ScaneウィンドウとGameウィンドウが映るようにUnityのレイアウトを調整
2. Transform ToulでCubeオブジェクトを選択する

image.png

3. 実行ボタン(▶)を押してプログラムを動かす
 ※この時にiPhineはモニターに対して上部を向けた状態にする

 Unity画面の出力(Windows PC)

MicrosoftTeams-video (1).gif

 スマホ画面の出力(iOS iPhone)

MicrosoftTeams-video (2).gif


#5 まとめ

今回紹介した姿勢計測を応用すれば、球転がしゲームや簡易的なARゲームなどの作成も可能です
Unity Remote 5 はジャイロセンサ以外のiPhoneのセンサも利用可能なので、組み合わせで使用すると、より高度な作品ができると思います
是非皆さんもUnityを使用したiOS開発の第一歩として気軽に挑戦してみてください!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?