Unity
前回は、UnityでJoy-Çonを使うため、JoyconLibというライブラリを紹介しました。 nn-hokuson.hatenablog.comこのJoyconLibは、非常に使い勝手がよく、重宝しているのですが、、、、2023年3月現在、Unity2022にインポートするとDllNotFoundExceptionが発生し…
UnityでNintendo SwitchのJoy-Çonを使いたい場合、JoyconLibというライブラリを利用するのが一番簡単です。 ここではJoyconLibの導入方法を説明します。 JoyConLibのインポート プログラムの修正 Joy-Conの接続 Unityで実行する Bluetooth接続が切断された場…
Blenderで作ったシンプルな人型モデルに、Mixamoでリグを入れる方法を紹介します。 Mixamoをつかうことで、手動でイチからリグを入れる手間を省いて、とても簡単にリギングができます。Mixamoでリグを入れる流れは次のとおりです。 Mixamoとは MixamoのBlend…
MirrorやMLAgentsなど、OpenCV+Unity外のパッケージからOpenCV+Unityを参照する場合、C#スクリプトの先頭に using OpenCvSharp;と書くと The type or namespace name OpenCvSharp could not be found とか 型または名前空間の名前OpenCvSharpが見つかりませ…
UnityでデバッグをするときColliderを可視化したいことってありますよね。 コライダーを見える化するには Physics Debuggerを使う 可視化スクリプトを使う の2通りの方法があります Physics Debuggerを使う Physics Debuggerを使うとUnityエディタ上でコライ…
DOTweenには、一回モデルを拡大してから、ビヨンビヨ〜ンと拡縮しながらもとのサイズに戻す「DoPunchScale」というメソッドがあります。 DoPunchScaleの第1引数にはVector3型のscale、第2引数にはfloat型のアニメーション時間を渡します。 transform.DoPunch…
uGUI Textの文中に画像を配置したい場合、特定の文字の座標を取得する必要があります。この記事ではuGUI Textから特定文字の座標を取得し、そこに画像を配置することでインライン画像を実現する方法を紹介します。 uGUI Textの特定文字の座標を取得 uGUIのTe…
画面をタップしたときにパシャっと写真撮影し、撮影画像をPlaneなどに貼って表示するというのが意外と大変だったので、その手順をまとめました。 写真撮影する流れ 画面がタップされてからカメラを起動→撮影とすると時間がかかってしまうため、基本的にカメ…
これまで書いてきた記事の中から、Unityを使うときにちょっと役に立ちそうなTIPSを100個用意しました!お時間のあるときにでも、ちょこちょこ眺めてみてください〜^^ チュートリアル編 【Unity入門】60分でつくるシューティングゲーム 全6回 - おもちゃラボ…
Unityの3D Textは、uGUIと違い空間上に配置できるテキストになります。ただ、この3D Text、他のオブジェクトの裏面に回っても最前面に表示されてしまいます。 そこで、3D Textの前後関係を正しく表示する方法を紹介したいと思います。流れは次の通りです。 …
C#で時々使われるDelegateは、調べてみると委譲とかラムダ式とかコールバックとか、更に難しい単語が出てきて混乱しますね。そこで、ここではC#のDelegateについて簡潔に解説してみたいと思います! Delegateとは コールバックとは タイマーを作ってみる Tim…
Vuforiaのカメラ映像にエフェクトをかけたいときの方法を紹介します。エフェクトをかけるための流れは ポストエフェクト用のシェーダを作る ARCameraにシェーダを設定する 確認とまとめ になります。 ポストエフェクト用のシェーダを作る Vuforiaで背景映像…
UnityでListの内容を表示するため、次のように書いたとしましょう。 List<string> names = new List<string>(){"おそ松", "トド松", "カラ松", "チョロ松", "一松", "十四松"}; Debug.Log(names); 本当は全員分の名前が表示されてほしいのですが、残念ながら次のように「List</string></string>…
Unityでは標準のエディタとしてVisual Studioが使えるようになっていますが、動作が重かったり、補完機能が不安定だったりします。そこで、サクサク動いて補完もバッチリなVisual Studio Codeのインストール方法をまとめます。手順は次のとおりです。 Visual…
UnityのUIを作るときに使うuGUIですが、このuGUIを動かしたいときに使う座標系ってちょっと分かりにくくないですか?uGUIの座標系についてはあやふやなまま使っているという方も多いかと思います。そこで、ここではuGUIで座標を扱うときに、最低限押さえて置…
UnityでOpenCVを使いたい場合には「OpenCV for Unity」と「OpenCV plus Unity」の2種類のアセットがあります。OpenCV for Unityは有償($104)でメンテナンスもこまめに行われている一方、APIが独特でpythonやC++のOpenCVに慣れている人には少し使いにくい…
今回はAR Foundationで光源推定をする方法を紹介します。Directional Lightのデフォルト設定では現実の光源の強さや色合と異なるため、違和感がある映像になってしまいます。AR Foundationでは撮影された映像から光源の強さと色合いを推定できる光源推定機能…
ARKit2.0からは2次元の画像マーカーだけでなく、3次元の物体(例えばぬいぐるみとか、玩具とか)をマーカーに出来るようになりました。ただ、物体マーカーは2次元マーカーのように動かしてもARモデルは追従しないので注意が必要です。 物体をマーカーにする…
この記事では、AR Foundationでマーカーを使ったARを作る方法を紹介します。マーカー型のARといえばVuforiaが有名でしたが、ARKit3からはARKit/ARCoreでも精度よくロバストな検出ができるようになっています。AR Foundationの基礎になっているARKitについて…
Unityを使っていると、ファイルから読み込んだり、ファイルに書き込みをしたい場合が良くあります。C#にはファイルの読み書きをする方法がいくつか用意されていて微妙にややこしいので簡単にまとめておこうと思います。 TextAssetを使って読み込む Fileクラ…
モデルが画面外に出たことを検知したり、画面いっぱいにPlaneを広げたりしたい場合、画面四隅のワールド座標がわかると案外便利です。そこで、この記事では画面四隅のワールド座標を取得する方法を説明します。 ワールド座標変換 画面四隅のワールド座標を取…
Unityエディタ上でモデルを並べる場合、通常はPrefabをシーンビューにドラッグ&ドロップして並べますね。ただ、数が多くなると手作業で並べるのは大変なので、スクリプトを使って並べられると便利です。そこで、この記事ではUnityエディタ拡張を使って、Uni…
この記事では、AR Foundationで検出される特徴点群(Point Cloud)を表示する方法と、各特徴点の座標を調べたり、保存したりする方法を紹介します。特徴点を保存しておけば、次図のように、後から特徴点群として表示することもできます。AR Foundationの基礎…
ARのモデルを表示するとき、現実感を出すためには「影」の存在が重要になります。 影があることで床との接地面が分かりやすくなり「そこに置かれている感」がアップします。この記事では次の流れでモデルに影を付ける方法を紹介します。 丸影を表示する 投影…
前回はAR Foundationを使って平面を検出しました。今回は検出した平面上にARのオブジェクトを配置する方法を紹介します。アプリを起動し、検出した平面をタップすると、タップした場所にオブジェクトが表示されます。作成の流れは次のようになります。 AR Fo…
これまでUnityからARKitを使いたい場合は、Unity ARKIt Pluginを使うのが一般的でした。ただ、Unity2019からはUnity ARKIt Pluginに変わってAR Foundationが公式でサポートされるようになりました。そのため、これからUnityでARを始めたい人は、AR Foundatio…
Unityには様々な形の木を作ることができるツールが付属しています(知りませんでした)。ただ、このツール、設定しなくてはいけないパラメータがめちゃくちゃ多いので、1本の木を作るまでが大変です。そこで、ここではUnity2019を使って、最小限のパラメータ…
ARKitを使っていると、ARとは別にカメラからの映像を取得したい場合があります。そこで、この記事ではARFoundationを使ってカメラ映像を取得する方法を紹介したいと思います。目次は次のとおりです。 ARFoundationのセットアップ カメラ映像をフックするスク…
Unity2019とXcode11を使ってUnityのプロジェクトをビルドすると「library not found for -liPhone-lib」というエラーが出ることがあります。 ld: library not found for -liPhone-lib clang: error: linker command failed with exit code 1 (use -v to see …
ROM(Androidならapk、iOSならipa)をアップロードしたときにつまずくポイントをまとめました。最後の関門なので、早く提出したいのに・・・!と一番イラつく(笑)ポイントなので、その手助けになれば!! 広告を使っていないのにIDFAのチェックで引っかかる…