Category Archives: IT系その他

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などのゲーム機、さらに多くの幅広いプラットフォームで展開できます。

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

AR Quick View対応のusdzのアレコレ

イマイです
前回の記事で簡単なARQuickViewの表示をする記事を書きましたが
あの後調べたら色々問題点があったのでその辺を今回はもう少し詳しく書いてみます。
まだ私の調査不足で間違っているところなどあるかもしれません…!
もし間違っているところなど有ればご指摘ください!

VECTARYの欠点

前回はusdzを書き出す際にVECTORYのサイトで書き出すという方法を採用しましたが、これには以下のような問題点があったようです。
・テクスチャを設定できない
・アニメーションを設定できない
色々調べたのですがこの二つはVECTORYは現時点では設定出来ないようです。
(私の調査不足かもしれませんが…)

この二つを解決するためには今の所公式のXcode10のCommandLineToolsを使うしかなさそうです。
今回はこちらのやり方を書いてみます。

必要なもの

以下が今回の作業で必要なものになります。
・macOS High Sierra以上のMacOS(私はMojaveでやりました。)
・Command Line Tools
・モデル
・テクスチャ

※現段階ではXcode10は正式にリリースされていないのでAppleのデベロッパ登録が必要になります。
続きを読む →