PointCloudConsortium > PCCブログ

PCL、3D関連の情報をブログ形式で発信します。

Unityで点群を可視化したアプリをAndroidスマートフォン用に書き出し表示します。

■UnityからAndroid用アプリに書き出し


以前の記事で紹介いたしました「Unityで点群データを可視化」データを使用してAndroid用アプリに書き出しを行いスマートフォンで点群を表示します。
手順としては
・Unityでコンテンツを制作
・AndroidSDKをインストール(インストール時にJavaが入っていない場合はインストール)
・UnityのBuildを行いAndroid用のアプリに書き出し
・Android用アプリデータ(apk)をスマホに入れる
・スマホでインストール
と以上の手順で行っていきます。


■UnityコンテンツをAndroidアプリとしてBuild

<1>AndroidSDKとJavaをインストールしUnityに設定
前回の記事で作成した点群を表示するコンテンツを使用します。
今回はAndroidアプリに書き出すことが目的のためコンテンツ内容は適当なものを使用します。


AndroidSDK、JDKを設定していきます。
Unityのメニュー/Edit/Preferences…からPreferenceウィンドウを開きます。

External Toolsを選択するとAndroidの設定画面が表示されます。
SDK、JDKのところにある「Download」ボタンを押すとそれぞれダウンロードページがブラウザで開きますので環境に合わせたデータをダウンロード、インストールします。

インストール完了後に再度PreferenceウィンドウからAndroidのSDK、JDKを設定します。

<2>UnityでAndroidアプリにビルド
UnityのBuild Settingsでビルド前の設定を行っていきます。
Build SettingsのPlatformから「Android」を選択します。
次にウィンドウ下部にある「Player Settings…」ボタンを押してInspectorを表示させます。

InspectorのCompany Name、Product Nameに任意の名前をつけます。
Inspector下部のAndroidマークを選択してOther Settingsタブを開きます。
Other Settingsタブ内にIdentification項目のPackage Nameの記述を先に設定したCompany Name、Product Nameに書き換えます。
書き方は「com.CompanyName.ProductName」と記述します。

後はAndroidのバージョンを設定して基本的な設定は以上でOKです。
他にアイコンの設定やスマホの回転への対応などの設定ができますので任意に設定します。
すべて設定が完了しましたらBuild Settingsウィンドウの「Build」ボタンを押して書き出します。
エラーなく書き出しが完了すると指定場所に「.apk」ファイルが作成されます。


■Androidスマホにソフトをインストール

作成した「.apk」ファイルをスマホに移します。
スマホへの移動方法はiPhoneと違い簡単です。メール添付で送っても良いですし、サーバにアップしてダウンロードでも良いですし、PCにUSBをつなげて直接ストレージに入れてもOKです。
とにかくスマホ内に「.apk」ファイルを入れます。

アプリをインストールする前に設定のセキュリティから「提供元不明のアプリ」をONにします。
Playストアなどから正規にインストールするわけではありませんのでこちらをONにしなければインストールできません。(自己責任でお願いします)

設定が完了するとさほどストレージ内に入れた「.apk」ファイルをタップしてインストールを行います。

特に問題がでなければ上記のようにUnityで制作したまま表示させることができるかと思います。

※注意事項
・Point Cloud Free ViewerをそのままだとAndroid側で表示できませんでした。
Point Cloud Free Viewerで一度Playすると「Resources」を生成しそのなかに点群をPrefab化してくれるのでそれをHierarchyに入れてオブジェクトとすると表示されます。
・Player Settings Inspectorの「Company Name」と「Product Name」の文言は数値や記号で始まる文言はエラーになる。


■まとめ

Unityで制作したアプリを実際にAndroidスマホに実装してみてマルチプラットフォームの素晴らしさを実感しました。 同時にそれぞれのプラットフォームへの書き出しにはそれなりの設定などが必要となりそこまで気軽にはできないというのも感じました。
コンテンツ開発の環境としてはこういったマルチプラットフォーム対応アプリが主流になっていくのではないかと思われます。
引き続きUnityでどのようなことができるのか可能性の検証を行っていきたいと思います。

有限会社マグネットインダストリー
西内伸太郎

2018年3月14日
デプスセンサー等で取得した点群データをUnityで読み込み可視化する方法を紹介します。
今回はUnityのAsset Storeからフリーのビューアをインポートして可視化してみます。

■Unityで点群データを可視化

Unityで点群データを表示して動かしたり、カメラアングルを変更したりしてシミュレーターなどアプリケーション化することができます。 点群を表示させるには点群データから座標値、色値を読み込み3D空間に点として配置していく方法でUnity上に表示することができます。

今回は簡単に点群を表示させるため以前の記事でも紹介しました「Point Cloud Free Viewer」をAsset Storeからインポートして点群データを可視化していきたいと思います。
(Point Cloud Free ViewerはAsset Storeからインポートすることができる無料の点群ビューア)


■Assetをインポートして点群データを可視化

<1>Point Cloud Free Viewerのインポート
まずAsset Storeから「Point Cloud Free Viewer」をインポートしていきます。

Unityを起動してAsset StoreタブをクリックしてStoreを開きます。
検索キーワード入力欄に「point」、「cloud」とキーワードを入力して検索すると「Point Cloud Free Viewer」が表示されますので「インポート」ボタンを押します。


「インポート」ボタンを押すと「Import Unity Package」ウィンドウが表示されますのでさらに「Import」ボタンを押して読み込みを行います。
読み込みが完了するとProjectウィンドウのAssets内に「PointCloud」というフォルダが作成されます。
これでインポートは完了です。後は少し設定を変更するだけで点群データを表示することができます。

<2>Sceneの設定
次にScene内での設定をしていきます。

・Assets内の「Example」をダブルクリックしてSceneを開きます。
・Hierarchy内の「PointCloudManager」を選択してInspectorを表示させます。
・Inspector内のData Pathに記述されているパスが点群データのファイルパスになりますのでこの部分を用意した点群データに書き換えます。

※用意する点群データは「.off」データとなりますのでPCDデータ等の場合MeshLab等で「.off」データに変換します。

Playボタンを押して再生すると点群が表示されます。
後は、カメラの設定やGUIなどを追加していくことで表示させた点群を自由に動かしたり、ボタンアクションで点群を切り替えたりしてシミュレーターやアプリを作っていくことができます。


■点群を表示させるためのコード内容について

今回簡単に点群データを表示させるためにフリーのAssetを使用して表示する方法を紹介しましたが当然1からコードを書いて点群を表示させることもできます。
ここではコードを記述していく際の簡単な流れを紹介します。

<1>コード内容の流れ
 ①点群(off)データを読み込む
 ②offデータを行ごとに分解して格納していく
 ③各行に記述されているX,Y,Z,R,G,B,A(座標とRGBA色値)に分解して格納する
 ④読み込むオブジェクトの上限値を指定して制限以上になるとオブジェクトを分割していく
 ⑤格納した座標値、色値をMeshに生成していく
 ⑥Meshの頂点を表示させ点群として描画します(VertexColorの設定が必要)

.offファイル (Object File Format)はすべてASCIIファイルとなっており点群データの場合X,Y,Z,R,G,B,Aを数値で表現しているファイルのようです。
.pcdファイル等はバイナリデータで渡されることもあるのでフォーマットを限定するために「Point Cloud Free Viewer」ではoffデータでの読み込みにしているのではないかと推測します。
(間違っていたらごめんなさい)

以上の手順でコードを書いていけばUnityで点群データを描画することができるかと思います。
試しにUnityScriptでコードを書いてみましたが問題なく表示することができました。

追記:
・新規で1から作る場合VertexColorに設定する頂点表示用のShaderを作る必要があるようです。
・頂点表示用コードのMeshTopology.PointsはwebGLでビルドを行うと表示されないようです。
(Quads、Lines、LineStripは表示されますがPointsはダメなようです)
引き続き検証してみます。


■まとめ

これまで点群を可視化する際にはPCLを使用したビューアやJavascriptで表示させたりとアプリケーション開発を行うには敷居が高い感じでしたが、Unityで点群や3Dデータを扱えることで感覚的にアプリ開発が進められるのではという可能性を感じました。
Unity等のゲームエンジンは今後様々な用途で活躍できるアプリケーションかと思いますので引き続き可能性を探っていきたいと思います。

有限会社マグネットインダストリー
西内伸太郎

2016年8月17日
3dsMax等の3DCGソフトで作成したアニメーション設定された3DデータをUnityに読み込みUnity上でアニメーション制御を行う方法を紹介します。

■Unityでアニメーション設定

<1>3dsMaxでアニメーション設定を行い書き出し
まずは3DCGソフトにてアニメーション設定を行っていきます。 今回は3dsMaxを使用してアニメーション設定を行います。以下のように3Dオブジェクトに動きを付けたアニメーションを作成します。

アニメーションは後でフレーム数ごとに分割ができますので複数の動きがある場合でも1つのファイル内に複数のアニメーション設定してOKです。
例えば
・手の動き … 0-90フレーム
・足の動き … 100-190フレーム
・頭の動き … 200-290フレーム
っといった感じで。
アニメーションの設定が完了できましたらFBX形式で書き出しを行います。

<2>UnityでFBXを読み込みアニメーションの初期設定
上記で書き出されたアニメーション付きのFBXデータをAssetsに読み込みます。
Assets内の読み込んだデータを選択してInspector/Animationsタブを選択するとアニメーションの詳細情報が表示されます。読み込んだアニメーションは
・四角柱が左へ曲がりもとに戻る … 0-15フレーム
・四角柱が右へ曲がりもとに戻る … 15-30フレーム
というアニメーションを設定しているためフレームごとにアニメーションを分割します。

①Clipsの「+」ボタンを押して分割する数だけClipを増やします。
ここではすべてのフレームを再生、左曲がり、右曲がりの3つのClipを作成しました。


それぞれのClipを編集するには「Clamp Range」ボタンを押してスライドバーもしくは数値入力で各Clipのフレーム数を設定することができます。
各設定が完了するとInspectorの一番下にある「Apply」ボタンを押して設定完了となります。画面サイズによってはスクロールしないと見えないので忘れがちですが別操作をしようとするとアラートが出ますのでそこで「Apply」してもOKです。


アニメーションの設定が完了したオブジェクトをHerarchyにセット(ドラックドロップ)します。
AnimetorControllerでアニメーションの設定したものをHerarchy内のオブジェクトにセットするのですがAnimetorControllerがないためAssetsで右クリックしてCreate/AnimatorControllerで作成します。
AnimetorControllerを設定していく前にHerarchyのオブジェクトに作成したAnimetorControllerをセットします。
オブジェクトにセットすると上図のようにInspector/Animator/Controllerに作成したAnimetorControllerがセットされていることを確認できます。

<3>AnimetorControllerの設定
作成したAssets内のAnimetorControllerをダブルクリックすると以下のようにAnimatorタブが表示された画面になります。 ヘッダメニューのWindow/Animatorでもタブは表示されます。

初期設定で作成したClipをAnimatorタブ内にドラックドロップで追加することができます。 再生されると「Entry」からアニメーションが始まるため最初にドラックドロップしたClipに自動的に矢印が生成されます。 再生時にアニメーションを止めた状態にした場合は空のClipを作成して「Entry」からまず待機状態の空のClipに飛ばすようにします。 (右クリックCreateState/Emptyで空のClipを作成できます)


次に配置したClipにそれぞれ紐づけをしていきます。
Clipを選択して右クリックでMakeTransitionで矢印が出てきますので次に移動するClipをクリックすると矢印がつながります。
各Clipを矢印でつなぐことでアニメーションを次に動作するアニメーションを設定できます。


次にトリガーを設定していきます。画面左上の「+」ボタンを押すと以下のトリガーを設定していくことができます。アニメーションを制御する際に使用しやすいパラメーターを設定します。
・Int … 整数
・Float … 小数部分を持つ数値
・Bool … true、false の値 (チェックボックスで表現されています)
・Trigger … トリガー名がパラメーターとして使用できる

トリガーの設定が完了後にAnimetorのClipに設定した矢印を選択してInspectorのConditionsにトリガーを設定することでアニメーションの再生を制御することができます。
Boolで設定したトリガーはなぜか「true」の場合が止まり、「false」の場合が進むとなるので少し混乱します。
後はこのトリガーの制御をスクリプトで制御することでアニメーションをどのタイミングで再生して、止める、繰り返すなどを制御することができます。
スクリプトの記述方法は以下の通りです。
・SetTrigger(“パラメーター名”);
・SetFloat(“パラメーター名”,value);
・SetBool(“パラメーター名”,value);
・SetInteger(“パラメーター名”,value);

■まとめ

今回3DCGで設定したアニメーションをUnityでどのように再生させるのかを検証してみました。
Unityのアニメーション設定は少しクセがあり思い通りの制御をするには慣れが必要なように感じましたが3DCGで作成したアニメーションをそのまま再現できるという点ではかなり使えるかと思います。
Unity上でもアニメーションの設定ができるようですが慣れているCGソフトでアニメーション設定を行い制御だけUnityで行う方が効率が良さそうに思います。

有限会社マグネットインダストリー
西内伸太郎

2016年8月15日
UnityのLightMapを作成して雰囲気のあるリアルな影を表現する方法を紹介します。

■Unityの影表現は?

Unityで3Dオブジェクトとライトを配置して影をつけようとしてもSoftShadowだけでは影のぼかし具合やオブジェクトの接地している箇所に雰囲気を出すことができません。 オブジェクトを配置しただけでは3DCGソフトのシェーディング表示に影がついたレベルの表現になります。
雰囲気のある3D表現を行う際にはLightをBaked(焼き付けて)テクスチャのように影をオブジェクトに貼り付けることで可能となります。 焼き付けてテクスチャのように扱うためPlay時に処理が遅くなることがないのがメリットですがBakedを行うオブジェクトはテクスチャとして影が焼き付けられてしまうため静的(Static)なオブジェクトである必要があります。


上画像のように影を焼き付けて雰囲気のある影を表現する方法を順に紹介します。

■LightMapを作成してリアルな影表現を行う方法

<1>設定前に確認すること
LightMapを作成する前にやっておくこと、確認しておくことは以下の通りです。

①3DオブジェクトがStaticになっているか確認
 3Dオブジェクトを選択してInspectorのオブジェクト名横のStaticにチェックを入れる。
②Mesh Renderer設定をチェック
 3DオブジェクトInspectorのMesh Renderer項目で「Cast Shadow = ON」
 「Receive Shadows」 = チェック
③Lightオブジェクト設定
 焼き付ける(Baked)LightのInspectorでShadow Type = Soft Shadowsに設定
④Generate Lightmapをチェック
 3Dオブジェクトが読み込みデータの場合Assetsに読み込まれた3Dオブジェクトを選択して
 Inspector/Model/GenerateLightmap… = チェック
⑤LightingのBuildのAutoチェックを外す
 Lightingタブの下にあるBuild横のAutoのチェックを外す。
 チェックが入っていると設定変更があるたびにBuildされてしまうためです。
まずは上記の5項目を確認して準備します。

<2>LightのBaked設定
次に実際に焼き付けるLightの設定を行っていきます。
初期に設置されているライトがDirectional Lightですのでこちらに設定していきます。
(当然ですが新規で作成したライトでもOKです)
主に設定する箇所はライトのInspector/Light/の以下の項目となります。

・Baking : Realtime → Bakedに変更
・Color : ライトの色設定
・Intersity : ライトの明るさ設定
・Bounce Intensity : 間接光の強さ設定(1を基準に反射光が明暗します)
・Shadow Type : ライトが落とす影の種類(Soft Shadowsに設定)
・Baked Shadow Angle : 擬似的なぼかし処理の強さ、数が大きいほど影がぼけます。

<3>焼き付け(Baked)を行います
LightingタブのSceneを選択してAmbient GIをRealtime → Bakedに変更に変更します。
ここまで設定ができましたらLightingタブの下にあるBuildボタンを押すとレンダリング処理が開始されLightMapを作成されます。

LightingタブのSceneで主な設定としては以下の項目となります
●Environment Lighting
・Ambient Source : シーン内をとりまいて存在する環境を設定
・Ambient Intensity : シーン内での環境光の明るさ
・Ambient GI : 環境光のGIモード(Realtime or Baked = 焼き付けの場合はBaked)
・Reflection Source : 反射エフェクトの設定
・Reflection Intensity : 反射するオブジェクトに反射のソース(skyboxなど)が映り込む度合
・Reflection Bounce : 1つのオブジェクトからの反射が別のオブジェクトに反射される度合

以上の設定を行いBuildが完了するとLightingタブのLightMapsにLightMapテクスチャが作成されリアルな影の表現ができるかと思います。

<4>LightMapで焼き込んだ場合の注意点
LightMapはテクスチャのように影を焼き込むため3Dオブジェクトが変化した場合には再度Buildしなければ更新されません。 たとえば下画像のように球オブジェクトを移動した場合影は焼き付けられているのでオブジェクトの変化に影が更新されません。

このような場合は再度Buildすることで影が更新されます。

■SSAOで簡易的にリアルな影を動的に表現する

ここまではLightMapにより影を焼き付ける方法を紹介してきましたがやはり動的に影の表現を変化させたい場合などがあります。 LightMapと違いソフトとして負荷はありますがSSAOにて簡易的にリアルな影表現を設定することが可能です。
●Assetsへ読み込み
Assetsで右クリックしてImportPackage/Effectsを選択します。
Import Utility Packageウィンドウが表示されますのでその中から「ImageEffects」にチェックを入れてImportボタンを押します。


●SSAOの設定
読み込んだImageEffectsのScriptsに入っている「ScreenSpaceAmbientOcclusion」を配置されているカメラにドラックドロップで設定します。
すると配置されている3Dオブジェクトの接地部分に影が表現されます。
動的にオブジェクトを移動させても影の表現が更新されることを確認できます。
設定されたカメラのInspectorでScreenSpaceAmbientOcclusioのパラメータを設定することで影の強さ、ぼかし具合などを調整することができます。


■まとめ

今回3Dを扱う上で最も気になるCG表現のクオリティがどの程度まで表現できるのかをLightMapを制作して検証してみました。
オブジェクトを配置しただけのシェーディング表現だけですと物足りない感じがありましたがLightMapを併用して静的な部分、動的な部分を使い分ければアプリのパフォーマンスを損ねることなくリアルな表現を行うことができるかと思います。
Unityにつきましては引き続き機能ごとに備忘録として記事にしていきたいと思います。

有限会社マグネットインダストリー
西内伸太郎

2016年7月20日
これまでの記事ではPointCloud(点群)データを主に記事としてきましたが今回は3Dデータを使用してシミュレーターやゲームを制作することができるゲームエンジンのUnityについて紹介します。

■Unityとは

Unityとは3DCG、3DCAD等で制作した3Dデータを読込、カメラやライティングを設定することでインタラクティブなコンテンツを制作することができるゲームエンジンソフトウェアです。
マルチプラットフォーム対応しておりデスクトップ、モバイル、WEB等複数のプラットフォームに出力することが可能です。ゲームエンジンとは3D/2Dの表示、音源の再生、インターフェース制作などを備えたゲーム制作のための統合開発環境です。



Unityには現在以下の4つのライセンスがあります。
・Personal:フリー版ですが年間の売り上げ制限付きです。
・Plus:Personalよりも多くのサポート受けられ年間の売り上げの上限が拡大。
・Pro:年間の売り上げ制限なく使用することが可能。
・Enterprise:大組織でソースコードやエンタープライズ向けサポートやコンサルティング対応が可能。
※今回Personalしか使用していないため他のライセンスがどこまでの機能があるか不明です。
フリー版のPersonalは公式サイトよりダウンロードすることができます。

■Unityの基本画面、操作について

<1>基本画面構成
Unityを起動するとまず下図のような画面が開きます。この画面上で様々な操作を行いゲームおよびシミュレーターの制作を行うことができます。

基本的には下記の6つのエリアで作業を行います。

①Scene:オブジェクトの操作、設定を行う実際の作業フィールドです。
②Game:プレイモードで最終的な公開プレイテストを表示することができます。
③Hierarchy:シーン内のオブジェクトを管理します。
④Project/Assets:プロジェクトで使用するファイルの管理を行うことができます。
⑤Inspector:選択オブジェクトの設定やシーンの機能編集などを行います。
⑥Console:メッセージや警告、エラーやデバックの出力を表示します。
後はヘッダメニューやツールバーを操作しながら設定を行っていきます。

<2>基本操作方法
どのようにオブジェクトを配置したり設定したりするのかを基本操作方法として簡単に説明します。
●シーンにオブジェクトを配置して質感を設定する

①Hierarchyで右クリックしてサブメニューから3D Object/Sphereを選択するとシーンに3Dの球が配置されます。
②続けて質感を設定するためにはMaterialを作成してオブジェクトに設定ししなければなりません。
Aseetsで右クリックしてサブメニューからCreate/Materialを選択するとAssetsにマテリアルが作成されます。 マテリアルの詳細については様々な設定が可能ですが情報が多いため割愛します。


③質感が設定されたことがわかるためマテリアルのInspectorからAlbedoのカラーパレットで色のみ設定しておきます。
④作成したマテリアルを制作したSphere(3Dの球)に設定するにはマテリアルをドラックドロップで設定することができます。 設定が完了するとScene、Gameにマテリアルの色付の球が作成されます。

このように基本的な操作の流れとしては制作した3Dオブジェクトをシーンに配置してマテリアルを設定していくという操作になります。 3Dオブジェクト以外に一般的な3DCGソフトにもありますカメラや光源の設定を行っていくことで3Dシミュレーターやゲームアプリを 制作していくことが可能となります。

●外部3Dデータの読み込み
「*.FBX」「*.dae (Collada)」「*.3DS」「*.dxf」「*.obj」
形式のデータを読み込むことができます。
また公式サイトには独自の3Dアプリケーションファイル形式をサポートしているようです。
「Unity が変換してインポートできるファイル: Max、Maya、Blender、Cinema4D、Modo、Lightwave、Cheetah3D、たとえば .MAX、.MB、.MA など」ということですがアプリケーションを持っていないため未検証です。

①Aseetsで右クリックしてサブメニューからImport New Asset…で読み込む3Dデータをローカルから選択します。
②読み込まれた3DデータがAssets内に表示されますのでHierarchyにドラックドロップすることでシーンに設置することができます。

<2>カメラ、光源操作、スクリプトの設定
●カメラ設定
通常NewProjectで新規作成された際にはHierarchyに「Main Camera」がすでに配置されております。
カメラが無い場合はGame表示になにも表示されない状態になりますので必ずカメラは1台以上設定する必要があります。 もし新規でProject作成時にカメラが無ければHierarchyで右クリックして「Camera」選択で設定することができます。

●ライト(光源)設定
カメラと同様NewProjectで新規作成された際にはHierarchyに「Directional Light」がすでに配置されております。 もしライトが無い場合はカメラ同様にHierarchy内に作成することができます。
ライトの種類としては
・Directional Light…太陽光
・Point Light…ポイントライト(全方向に光を放射)
・Spotlight…スポットライト(指定した方向に光を放射)
・AreaLight…エリアライトは空間内の長方形によって全方向に放射されます。
※AreaLightはリアルタイムでは表示できない(Baked時のみ使用可能)

●スクリプト作成
配置した3Dオブジェクトやカメラ、光源の操作などインタラクティブに操作できるシミュレーターを作成しようとした場合にスクリプトによって制御していきます。
Unityでは以下の2言語でプログラムを記述することが可能です。
・C#
・UnityScript…JavaScript をもとにモデル化された Unity 独自設計の言語
※UnityScriptは基本JavaScriptと同じ作法で記述することができますがUnity独自の記述やできないこともあるので注意が必要。特に配列は特殊
スクリプトの作成、設定方法は

①Aseetsで右クリックしてサブメニューからCreate/Javascriptを選択でAssets内に作成されます。
②作成されたスクリプトデータをHierarchy内のGameObjectにドラックドロップすることで初めてプログラムとして機能します。


■点群データはUnityで表示できるのか?

Point Cloud Free Viewerで点群を読み込み
点群データは3Dデータのようにそのまま読み込みをしてUnityで表示させることができないようですが Asset StoreからPoint Cloud Free ViewerというAssetを使用すると読み込みができるようです。

読み込みできるデータ形式はoff形式です。MeshLab等でoffデータに変換することができますので別形式の場合はoff形式に変換する必要があります。

■まとめ

これまで点群関連のソフトなどを紹介してきましたが今回紹介しましたUnityは3Dを扱うという点では同じですが、これまでのソフトと違い制作した3Dデータをインタラクティブに操作できるようなアプリケーションを開発するためのアプリケーションとなります。
こちらのソフトを使い込んでみましたが制作した3DCGデータをインタラクティブに操作できるようなシミュレーターの制作を比較的導入しやすいソフトのように感じました。以前使用しておりましたFlashのような感覚で3Dオブジェクトを配置してスクリプトによる制御を行うことができるためゴリゴリのプログラマーでなくてもある程度のアプリを制作することが可能でした。今後PCCでも備忘録のカタチで記事をアップしていければと思っております。

有限会社マグネットインダストリー
西内伸太郎

2016年7月11日

本コンソーシアムに関するお問合せ、PCL・3D関連のご相談はお問合せフォームよりご連絡ください。

  • PointCloudLibrary
  • エス計画
  • マグネットインダストリー
  • DERiVE
PCL
Copyright (C) 2014 PointCloudConsortium All Rights Reserved.