• ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

ALAKI株式会社

COZIKEEいつまでも使えるTech情報発信ブログ

リクルートサイトはこちら >
  • ブログTOP
  • AI・ディープラーニング
  • AR
  • VR
  • WEBサイト
  • WEBマーケティング
  • SEO
  • SNS
  • その他
  • お問い合わせ

【Unity】オブジェクト間の距離を取得する

2022年11月20日

  • このエントリーをはてなブックマークに追加

こんにちは!
XRクリエイターの伊東(@ALAKIWebVRAR1)です。

※TwitterでもAR/VRの事を中心に情報発信中です。
よかったらフォローお願いします!
Follow @ALAKIWebVRAR1

今回は、Unityでオブジェクト間の直線的な距離を計算する方法をご紹介します。

この方法を応用して、距離に応じてオブジェクトを変化させたりすることが可能になります。

シーン構成

今回は「Third Person Character Controller」というプレイヤーコントロールの基本アセットを導入している前提で進めていきます。

Third Person Character Controllerについては、こちらをご参考ください。

次に、最小限のシーン構成をみていきましょう。

スクリーンショット 2022-11-20 11.33.36

Third Person Character Controllerのシーンをもとに、「Targets」という空オブジェクトを作り、「TargetA」「TargetB」2つのオブジェクトを作成しました。
それぞれ、「Cube」ジオメトリと、プレイヤーとキューブとの距離を表示する「Distance」というテキストオブジェクトを配置しました。

実行するとこのような表示になります。

スクリーンショット 2022-11-20 11.33.47

スクリプトを用意

プレイヤーとキューブのオブジェクトとの距離を測って、Distanceに表示させるためのスクリプトを記述しましょう。
任意のフォルダ内に、「DistanceController」という名前でスクリプトを作成しました。

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class DistanceController : MonoBehaviour
{

    [SerializeField] private GameObject target;
    [SerializeField] private GameObject player;
    [SerializeField] private TextMesh counter;

    void Start()
    {
    }

    void Update()
    {
        /* ターゲットのポジションを取得 */
        Vector3 targetPos = target.transform.position;

        /* プレイヤーのポジションを取得 */
        Vector3 playerPos = player.transform.position;

        /* ターゲットとプレイヤーの距離を取得 */
        float dis = Vector3.Distance(targetPos, playerPos);

        /* カウンター */
        counter.text = Convert.ToString(dis);
    }
}

Vector3クラスが持つ「Distance」メソッドに、距離を計算したい対象の2点のGameObjectを渡します。
すると、float型で距離の値が受け取れます。

今回はこれをString型に変換して、テキストオブジェクトに表示させています。

Targetにスクリプトをアタッチ

スクリプトが用意できたので、「TargetA」「TargetB」にアタッチします。

スクリーンショット 2022-11-20 14.37.56

実行

スクリプトがアタッチできたら、実行してみましょう!

https://alaki.co.jp/blog/wp-content/uploads/2022/11/7dd4c3f74f006b34bb1d70d7adebd54e-1.mp4

できました!

今回は値を取得するだけにとどめましたが、分岐を加えることで様々なことに応用可能ですので、ぜひ今回のメソッドは覚えておくといいでしょう。

最後に

弊社では、日本各地でARを使ったワクワクするプロジェクトをリリースしてまいりました。
ARのパイオニアとして、高い技術力とビジネス提案が可能です。以下のサイトよりお気軽にご相談ください!

■WebAR開発 特設サイト
https://alaki.co.jp/lp/webar/

また最近では、現実のあらゆる場所からデジタルコンテンツを誰でもAR空間にドロップできる「MUGHEN」というアプリをリリースしました。ぜひインストールしていただき、現実を拡張する感覚を体験してみてください!

■MUGHEN サービス紹介サイト
https://alaki.co.jp/lp/mughen/

ALAKI株式会社では、「MUGHEN」をはじめとする最先端技術を使って世の中に価値を提供するため、一緒に大きな目標に挑戦する仲間を募集中です!興味のある方は、以下のリンクからご応募ください!

■ALAKI リクルートサイト
https://recruit.alaki.co.jp/

  • ツイート
  • このエントリーをはてなブックマークに追加

You may also like...

  • PHPテンプレートエンジンのいろは

    10 6月, 2016

  • macにpythonの開発環境を作ってみよう!

    1 1月, 2023

  • Unity Netcode for GameObjects (NGO) (旧MLAPI)× Relayでマルチプレイを実装する

    30 10月, 2022

プログラマー募集
  • Next story 2年半フルリモートワークの弊社が成果を出すために取り組んでいる3つのこと
  • Previous story WebARで平面認識からインタラクションまで!「AR Quick Look」の新機能を試してみた

運営会社

ALAKI株式会社 ALAKI株式会社採用サイト

弊社サービス

MUGHEN ALAKI クラウド型受発注システム さよなら過去のAR。WebARがイベント集客に革命を起こします。 広報活動の課題を数字で可視化し、出願者数アップをお手伝いします クリエイティブ業務のコミュニケーションを高速化 Webの知識が無くてもWebサイトの品質をチェックできます。

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 色

アーカイブ

  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年2月
  • 2021年12月
  • 2021年9月
  • 2021年7月
  • 2021年6月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年6月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年12月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年6月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2013年10月
  • 2013年9月

Facebook

お問い合わせ

お問い合わせ

人気の記事

  • 「SwinIR」で高画質化した画像を pythonを使用して一括で元のサイズに戻す方法
  • Web制作時に高解像度の元画像がない場合にPythonで高画質化する方法
  • 『考える』が楽しくなる!考えを「広げる」・「深める」12の方法
  • macにpythonの開発環境を作ってみよう!
  • 商品・サービスを圧倒的に成長させる、シリコンバレーで注目の「プロダクト・レッド・グロース」を解説

カテゴリー

  • AI・ディープラーニング
  • AR
  • BtoB
  • CMS
  • Git
  • Google AdWords
  • gulp
  • Javascript
  • Laravel
  • Photoshop
  • Pug
  • pyhotn
  • Sass
  • SEO
  • SNS
  • Twitter広告
  • VR
  • Web3.0
  • WEBサイト
  • WEBマーケティング
  • YouTube
  • コーディング
  • システム開発
  • スマートフォンサイト
  • セキュリティ
  • セミナー
  • その他
  • ツール
  • デザイン
  • ベトナムレポート
  • 仕事術
  • 未分類
  • 業務効率化
  • 色

検索

ALAKI株式会社 © 2026. All Rights Reserved.