Unityで面積を求めたい 3Dの場合

こんにちはイマイです

最近書いてあるARKitのアプリで3次次元空間の3点で作れる面の面積を求めたいなぁと
思ったので実装方法を考えてみました。

調べてみると公式見当たりませんでしたね…
(ご存知の方がいましたらご教授ください)

以下のサイトをみると意外と簡単にベクトルを使って計算できるみたいなんで実装してみました。

エクセルを用いた3次元空間上の三角形の面積計算

null

public void CalculateArea(){
    //3点の初期化
    Vector3 A = new Vector3(1, 2, 5);
    Vector3 B = new Vector3(3, 1, 5);
    Vector3 C = new Vector3(3, 3, 5); 
    
    //BベクトルとCベクトルの外積を求める
    Vector3 D = Vector3.Cross(B-A,C-A);
    
    //平行四辺形の面積を求めて2で割る
    float S = D.magnitude / 2;
    Debug.Log(S);
}

magnitudeはベクトルの長さを返してくれます

Unity – スクリプティング API: Vector3.magnitude

あなたの作品をどこへでも!Unityはゲームやグラフィカルなアプリケーションを開発するための最高の開発環境です。Unityで作れば、Webブラウザ、Windows, Mac OS X, iOS, Android, PlayStation 4やWii U, Xbox Oneなどのゲーム機、さらに多くの幅広いプラットフォームで展開できます。

普通のゲームで使い道なさそうですね…

第3回UnityでARkit2アプリを作る!距離測定アプリを作る

こんにちはイマイです。

前回までの記事でARkitで開発する環境を構築することができたと思うので
これから本格的にアプリをつくっていきます!

今回の目標

動画のような距離を測定するアプリケーションをつくります!

動画でみると距離の誤差は1cm未満と実用性も十分であることがわかりますね!

続きを読む →

第2回UnityでARkit2アプリを作る! ARKitRemoteを使ってラクをしよう

イマイです
今回もARKitのアプリを作っていきましょう!

前回の記事を読んでいる中で
Unityで書き出し→Xcodeでビルド
この工程はとてもめんどくさい!!
そしてUnityエディタでテストができないのでトライアンドエラーに時間がかかる!
と思ったのではないでしょうか?
この二つを解決するために用意されているのが「ARKitRemote」です

この機能を使うことで
Xcodeへの書き出しを省略して
iPphoneとPCをUSBケーブルでつなぎUnityエディタ上でテストができるというものです。
続きを読む →

第1回UnityでARkit2アプリを作る!

イマイです。

以前投稿していた記事
UnityでARKitアプリを作る!
ですが、ARKitの更新やUnityのバージョンの変更で大幅な修正が必要になった部分があるので書き直していこうと思います!

ARKitとは?

・iOS11で搭載されたARフレームワーク
2017年の秋のアップデートで正式にリリースされたiOS11にARKitのフレームワークが搭載されました。
昨年まではARKitでしたが、2018年iOS12へのアップデートに伴いARKit2がリリースされました!
・床だけでなく壁の認識
・AR空間の共有
その他様々な機能が追加されました!

詳しくは公式ホームページから

iOS 12

iOS 12は、アプリケーションの速さと反応の良さを一段と向上させます。みんなとつながる方法も、カスタマイズできることも、あなたの楽しみも、一段と広がります。

なお、対応している機種は
A9/A10チップ以降機種となります。(iPhone6s以降の機種)
続きを読む →