おもちゃラボ

Unityで遊びを作ってます

Unity

【Unity】macOSでもJoyConLibが使えるようにする

前回は、UnityでJoy-Çonを使うため、JoyconLibというライブラリを紹介しました。 nn-hokuson.hatenablog.comこのJoyconLibは、非常に使い勝手がよく、重宝しているのですが、、、、2023年3月現在、Unity2022にインポートするとDllNotFoundExceptionが発生し…

【Unity】3分でセットアップ!Nintedo SwitchのJoy-Conを使う

UnityでNintendo SwitchのJoy-Çonを使いたい場合、JoyconLibというライブラリを利用するのが一番簡単です。 ここではJoyconLibの導入方法を説明します。 JoyConLibのインポート プログラムの修正 Joy-Conの接続 Unityで実行する Bluetooth接続が切断された場…

Blenderで作ったモデルにMixamoでリグを入れる

Blenderで作ったシンプルな人型モデルに、Mixamoでリグを入れる方法を紹介します。 Mixamoをつかうことで、手動でイチからリグを入れる手間を省いて、とても簡単にリギングができます。Mixamoでリグを入れる流れは次のとおりです。 Mixamoとは MixamoのBlend…

【Unity】OpenCVSharpがusingできない場合の対処法

MirrorやMLAgentsなど、OpenCV+Unity外のパッケージからOpenCV+Unityを参照する場合、C#スクリプトの先頭に using OpenCvSharp;と書くと The type or namespace name OpenCvSharp could not be found とか 型または名前空間の名前OpenCvSharpが見つかりませ…

【Unity】コライダーを可視化する方法2選

UnityでデバッグをするときColliderを可視化したいことってありますよね。 コライダーを見える化するには Physics Debuggerを使う 可視化スクリプトを使う の2通りの方法があります Physics Debuggerを使う Physics Debuggerを使うとUnityエディタ上でコライ…

【DOTween】DoPunchScaleの拡大率を指定する方法がおかしい!

DOTweenには、一回モデルを拡大してから、ビヨンビヨ〜ンと拡縮しながらもとのサイズに戻す「DoPunchScale」というメソッドがあります。 DoPunchScaleの第1引数にはVector3型のscale、第2引数にはfloat型のアニメーション時間を渡します。 transform.DoPunch…

uGUI Textの文字の座標を取得してインライン画像を実現する

uGUI Textの文中に画像を配置したい場合、特定の文字の座標を取得する必要があります。この記事ではuGUI Textから特定文字の座標を取得し、そこに画像を配置することでインライン画像を実現する方法を紹介します。 uGUI Textの特定文字の座標を取得 uGUIのTe…

【Unity】WebCamTextureで写真撮影

画面をタップしたときにパシャっと写真撮影し、撮影画像をPlaneなどに貼って表示するというのが意外と大変だったので、その手順をまとめました。 写真撮影する流れ 画面がタップされてからカメラを起動→撮影とすると時間がかかってしまうため、基本的にカメ…

Unityで使えるTips100選

これまで書いてきた記事の中から、Unityを使うときにちょっと役に立ちそうなTIPSを100個用意しました!お時間のあるときにでも、ちょこちょこ眺めてみてください〜^^ チュートリアル編 【Unity入門】60分でつくるシューティングゲーム 全6回 - おもちゃラボ…

【Unity】3D Textの前後関係を正しく表示する

Unityの3D Textは、uGUIと違い空間上に配置できるテキストになります。ただ、この3D Text、他のオブジェクトの裏面に回っても最前面に表示されてしまいます。 そこで、3D Textの前後関係を正しく表示する方法を紹介したいと思います。流れは次の通りです。 …

【Unity】C#のデリゲートとコールバック超入門

C#で時々使われるDelegateは、調べてみると委譲とかラムダ式とかコールバックとか、更に難しい単語が出てきて混乱しますね。そこで、ここではC#のDelegateについて簡潔に解説してみたいと思います! Delegateとは コールバックとは タイマーを作ってみる Tim…

【Unity】VuforiaでARの背景にエフェクトをかける

Vuforiaのカメラ映像にエフェクトをかけたいときの方法を紹介します。エフェクトをかけるための流れは ポストエフェクト用のシェーダを作る ARCameraにシェーダを設定する 確認とまとめ になります。 ポストエフェクト用のシェーダを作る Vuforiaで背景映像…

【Unity】Listの内容をDebug.Logで表示する

UnityでListの内容を表示するため、次のように書いたとしましょう。 List<string> names = new List<string>(){"おそ松", "トド松", "カラ松", "チョロ松", "一松", "十四松"}; Debug.Log(names); 本当は全員分の名前が表示されてほしいのですが、残念ながら次のように「List</string></string>…

【Unity】Visual Studio Codeを使う(2021年度対応)

Unityでは標準のエディタとしてVisual Studioが使えるようになっていますが、動作が重かったり、補完機能が不安定だったりします。そこで、サクサク動いて補完もバッチリなVisual Studio Codeのインストール方法をまとめます。手順は次のとおりです。 Visual…

【Unity】これだけは覚えておきたいRectTransformの基本

UnityのUIを作るときに使うuGUIですが、このuGUIを動かしたいときに使う座標系ってちょっと分かりにくくないですか?uGUIの座標系についてはあやふやなまま使っているという方も多いかと思います。そこで、ここではuGUIで座標を扱うときに、最低限押さえて置…

OpenCV plus Unityサンプル集 20選

UnityでOpenCVを使いたい場合には「OpenCV for Unity」と「OpenCV plus Unity」の2種類のアセットがあります。OpenCV for Unityは有償($104)でメンテナンスもこまめに行われている一方、APIが独特でpythonやC++のOpenCVに慣れている人には少し使いにくい…

【AR Foundation】 光源推定をする

今回はAR Foundationで光源推定をする方法を紹介します。Directional Lightのデフォルト設定では現実の光源の強さや色合と異なるため、違和感がある映像になってしまいます。AR Foundationでは撮影された映像から光源の強さと色合いを推定できる光源推定機能…

【AR Foundation】ぬいぐるみをマーカーにしてARを作る

ARKit2.0からは2次元の画像マーカーだけでなく、3次元の物体(例えばぬいぐるみとか、玩具とか)をマーカーに出来るようになりました。ただ、物体マーカーは2次元マーカーのように動かしてもARモデルは追従しないので注意が必要です。 物体をマーカーにする…

【AR Foundation】マーカーを使ったARを作る

この記事では、AR Foundationでマーカーを使ったARを作る方法を紹介します。マーカー型のARといえばVuforiaが有名でしたが、ARKit3からはARKit/ARCoreでも精度よくロバストな検出ができるようになっています。AR Foundationの基礎になっているARKitについて…

【Unity】ファイルの読み込みと書き込み方法3選

Unityを使っていると、ファイルから読み込んだり、ファイルに書き込みをしたい場合が良くあります。C#にはファイルの読み書きをする方法がいくつか用意されていて微妙にややこしいので簡単にまとめておこうと思います。 TextAssetを使って読み込む Fileクラ…

【Unity】画面四隅のワールド座標を取得する

モデルが画面外に出たことを検知したり、画面いっぱいにPlaneを広げたりしたい場合、画面四隅のワールド座標がわかると案外便利です。そこで、この記事では画面四隅のワールド座標を取得する方法を説明します。 ワールド座標変換 画面四隅のワールド座標を取…

【Unity】メニューからモデルを配置する

Unityエディタ上でモデルを並べる場合、通常はPrefabをシーンビューにドラッグ&ドロップして並べますね。ただ、数が多くなると手作業で並べるのは大変なので、スクリプトを使って並べられると便利です。そこで、この記事ではUnityエディタ拡張を使って、Uni…

【AR Foundation】特徴点群(Point Cloud)の表示と保存

この記事では、AR Foundationで検出される特徴点群(Point Cloud)を表示する方法と、各特徴点の座標を調べたり、保存したりする方法を紹介します。特徴点を保存しておけば、次図のように、後から特徴点群として表示することもできます。AR Foundationの基礎…

【AR Foundation】モデルに影をつける

ARのモデルを表示するとき、現実感を出すためには「影」の存在が重要になります。 影があることで床との接地面が分かりやすくなり「そこに置かれている感」がアップします。この記事では次の流れでモデルに影を付ける方法を紹介します。 丸影を表示する 投影…

【AR Foundation】平面上にモデルを置く

前回はAR Foundationを使って平面を検出しました。今回は検出した平面上にARのオブジェクトを配置する方法を紹介します。アプリを起動し、検出した平面をタップすると、タップした場所にオブジェクトが表示されます。作成の流れは次のようになります。 AR Fo…

【AR Foundation】セットアップから平面検出まで

これまでUnityからARKitを使いたい場合は、Unity ARKIt Pluginを使うのが一般的でした。ただ、Unity2019からはUnity ARKIt Pluginに変わってAR Foundationが公式でサポートされるようになりました。そのため、これからUnityでARを始めたい人は、AR Foundatio…

【Unity】樹木を作る

Unityには様々な形の木を作ることができるツールが付属しています(知りませんでした)。ただ、このツール、設定しなくてはいけないパラメータがめちゃくちゃ多いので、1本の木を作るまでが大変です。そこで、ここではUnity2019を使って、最小限のパラメータ…

【ARFoundation】カメラ映像を取得する

ARKitを使っていると、ARとは別にカメラからの映像を取得したい場合があります。そこで、この記事ではARFoundationを使ってカメラ映像を取得する方法を紹介したいと思います。目次は次のとおりです。 ARFoundationのセットアップ カメラ映像をフックするスク…

【Unity】Xcodeで library not found for liPhone-libのエラーが出る

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 …

【Unity】ROMアップロード時のエラー対処法

ROM(Androidならapk、iOSならipa)をアップロードしたときにつまずくポイントをまとめました。最後の関門なので、早く提出したいのに・・・!と一番イラつく(笑)ポイントなので、その手助けになれば!! 広告を使っていないのにIDFAのチェックで引っかかる…