渋谷ほととぎす通信

完全趣味でやってる技術メモ。※所属団体とは一切関係がありません。

Unity

Unity Xcodeビルド時に必要フレームワークを自動的にセットする

今更感があっても、自分が分からなかったら記事にする大庭です。 とあるプラグインを導入しているとき、Xcodeのビルド設定にフレームワークを別途追加しないといけないという要件があり、ジェンキンスでビルドを自動化しているので、その辺りも自動化させて…

iOS、Android実機でTouchScriptがuGUIのScrollViewの挙動をおかしくさせた時の対処法

AssetStore上でリリースされている最新のTouchScriptを使っているシーンで、uGUIのScrollViewを使用すると、UnityEditor上では正常に動作しますが、iOSやAndroid上では、少し動かしただけですごい量スクロールしてしまいます。 TouchScriptを使用していない…

Riderエディタ上でマウスホイールすると拡大縮小するのを止める

そういうものだと思って少し諦めていた、意識しないようにしていた案件なのですが、RiderでC#を書いている時、いきなりギュン!!!っと文字が拡大(または縮小)する時があります。 そう、マウスホイールです。 ※正しく記載すると⌘+マウスホイール 私はマジッ…

CRI ADX2×Unity サウンドのループ再生方法

UnityでCRI AD2を使ってループサウンドの実装方法をメモっておきます。 CRI ADX2の思想的に、サウンドの設定はサウンドデータ側に埋め込んでおきましょう。ということなので、ループの設定自体もサウンドファイル内に埋め込まれる形になります。 AtomCraftを…

Unity2019.1.0b1、b2のリリースノートをサラッと読んで気になったところ

Android: Added Android notch support Androidがノッチに対応したようです。 Android: Added OpenGL ES 3.2 support AndroidがOpenGL ES3.2対応。 Android: Added support for ASTC HDR texture formats AndroidがASTCのHDRテクスチャをサポートしたようで…

CRI ADX2と自分の感覚的がずれていてハマったポイント3点の共有

絶賛Unity×CRI ADX2を触っているのですが、自分の感覚とずれていて、少しハマったところをメモしておきます。 1.一時停止メソッドを叩いてもステータスはPlaying CriAtomExPlayer(Unityで言うAudioSource的なもの)には、ステータスが存在し、そのEnumが以下…

CRI ADX2を使用したらUnity上で音がキュルキュル鳴った時の対処法

こちらの記事を参考にADX2をUnityで使用するセットアップをしました。分かりやすく説明されているのでオススメです。 ただ、1点ハマりました。 先の記事があくまでADX2LEについて書かれているもので、僕はプロ版のADX2を使っていました。 ツールのUIが、ほぼ…

Unity製MobileNotificationsのローカルPush通知アイコンをアプリ起動時に消す

www.shibuya24.info 先日執筆した記事の中で出てきた問題点が解決したのでその共有。 通知をタップしたら通知アイコンも消えるのかなって思っていたらですね、消えません...。Unity製Mobile NotificationsでローカルPush通知を実装する(無料) - 渋谷ほととぎ…

Unity製Mobile Notificationsで無料でローカルPush通知を実装する

Unity製のモバイル端末向けローカルPush通知パッケージMobile Notificationsというものを試しました。 必須要件 Android版の対応 通知チャンネルを登録 通知を予約する 通知アイコンが出ない問題 iOS版の対応 Android版との違い 通知アイコン消せない問題 ま…

Unity TouchScriptの実機ビルドエラーにハマる

Unityアセットストアには2013年頃から存在するTouchScript。 手軽にタップやドラッグ、ピンチインアウトなどの特にモバイルデバイスではよく必要とされるが、実装するのは少し面倒くさい、これらの機能をお手軽に追加することが出来るヘルパーアセットです。…

これだけはやっておきたいRider設定ランキング

PCが新しくなり、諸々気持ちが一新し、普段Unity開発で使っていたRiderも初期化されました。 設定ファイルをそのままインポートすれば良いのですが、あえて最低限これだけはやっておきたい設定が何だったのかをランキング形式で確認したいと思います。 Rider…

Unity RenderTextureのメモリを解放するのはReleaseが良いの?Destroyが良いの?

RenderTextureのメモリ確保と解放タイミングを確認し、Release関数、Destroyどちらでも解放されることが分かりました。 2種類どちらを使った方が良いかという考察をしています。 普通に考えると、RenderTexture自体がクラスなのでGCを抑えるためにnewの回数…

Unity RenderTextureのメモリ確保と解放タイミングの落とし穴

RenderTextureを動的にスクリプトから生成して、Blitしてごにょにょするというフローの中で、どのタイミングでメモリが確保され、いつ解放されるのか確認したいと思います。 メモリのプロファイルということでUnity製MemoryProfilerを使います。 本環境はUni…

【WIP】Unityを使ってクリスマス的な何かを制作して季節を体感していきたい

僕は普段1日の大半を室内で過ごしています。外に出ている時間なんて計算すると4%位です。 気づけばそろそろクリスマス。娘がサンタさんに手紙を書いている姿を見かけました。 ということで、本ブログも季節感を取り入れていこうと思い、クリスマスをテーマに…

Unity2018.3.0からDynamicResolutionがiOSやAndroid端末で使えるようになっているので検証

先日リリースされたUnity2018.3の新機能をなめている最中です。本記事ではDynamicResolutionについて検証します。 DynamicResolutionとは? ランタイム中にレンダーターゲットの解像度を変更することができる機能です。 例 : 1920×1080で描画していたものを、…

Unity2018.3.0からGCを作動させないGarbageCollectorというAPIが追加されている

先日Unity2018.3.0が正式リリースされ、リリースノートを粛々読んだり、Unityブログを舐めている最中です。 気になった機能の一つとして、GCをコントロールするAPIが提供されたようなので検証しておきます。 GarbageCollectorクラスを使う UnityEngine.Scrip…

Unityでコンピュートシェーダを始めた時にトラブったこと3点

先日始めたコンピュートシェーダにおけるトラブル備忘録です。

Unityでコンピュートシェーダを始めてみた

マニュアルを見ながら、Mac環境でコンピュートシェーダを始めてみたいと思います。 前提としてコンピュートシェーダとは、頂点シェーダやフラグメントシェーダと違い、GPUを描画に使うのではなく、演算処理をさせるためのシェーダです。 ※GPGPUとも呼ばれて…

Unity 頂点シェーダ内でライト方向を取得する方法

Unityでシェーダを書く場合、とりあえず開発者が必要そうな変数やら関数はUnity側で用意されていることが多いので "UnityCG.cginc"、"AutoLight.cginc"、"Lighting.cginc"この辺りのファイルたちを眺めると良い感じです。 このようなライト方向とカラーを適…

Unity マウスに追随する形で動的にメッシュを生成する

動的にメッシュを生成するシリーズです。 今回はマウスに追随するブラシのようなメッシュを動的に生成したいと思います。

Unity動的にメッシュを生成するシリーズ

1.Unityで三角形を1つ描画、テクスチャまで貼る この辺りでやっているような三角形1つ描画するということをUnityでもやってみたというプリミティブな記事。 生のWebGLで三角形を描画するショートコード - 渋谷ほととぎす通信 C#でDirectX11 SlimDXで三角形を…

Unity 動的にカプセルメッシュを描画をしてみる

前回の球描画に引き続き、今回は以下のようなカプセルを描画します。 本記事は、動的にメッシュを生成するシリーズの一貫です。

Unity 動的に球のメッシュを描画をしてみる

3年前に執筆した↑記事の続きです。 先の記事シリーズでは、三角形を1個描画するところで終わっていますが、今回は↑のような球を動的に描画してみます。 パット見ハードルが一気に上がってそうですが、地道に1つずつ頂点の配置と順序を考えていけば大丈夫でし…

C#でDirectX11 UnityのTransform的な親子関係を実装してみる

Unity然り、FlashのActionScript3然り、表示オブジェクトの親子関係がデフォルト機能のように実装されていて、当たり前のように使ってきたのですが、一度理解してしまえば非常に簡単なのでしたが、自前で実装するとなると結構骨が折れました。 ということで…

UnityからArduinoへのシリアル通信

Arduiono HelloWorldしてみる - 渋谷ほととぎす通信の続きです。 今回はArduinoを使ったシリアル通信をやってみようと思います。

初心者向け事前知識なしの状態からUnityエンジニアがILを読んでみる

先日アセンブリを読むという記事を書き、C#から(コンパイラから)出力されたコードが最近の僕のブームでして、ILも一応読んで、Hello world ILくらいの勉強はしておこうと思います。

Unity Profilerによる計測時間をスクリプトから取得できた件

日曜日の夜って、日常の業務から開放されてUnityリファレンスをぼ〜っと眺めることがあると思うんですが、本記事はそういう時に起こる発見をメモするシリーズです。 ところで、CPU負荷をUnity上でサンプリングする時はProfiler.BeginSample()を使用していま…

TransformSceneHandleについて調べていたら、AnimationJobについて調べていた件

Unity2018.2.12f1時点ではまだExperimentalな機能であるTransformSceneHandleについて調査しました。 リファレンスはコチラ Position, rotation and scale of an object in the scene. A TransformSceneHandle is a safe handle on a TransformAccess. The A…

UnityのRootMotionへの理解がフワっとしていたので明らかにした

まさにタイトルの通りで、Animatorコンポーネントのルートモーションの使い方が実はよくわかっていなかったので確認しました。 サンプルとして、立方体のルート階層をX軸方向に動かすアニメーションで検証します。

UnityHubが過去バージョンのUnityをインストールできるようになっていた

開発バージョンがが少し古いUnityバージョンでマシンにインストールされていない場合、UnityHubに慣れてしまった僕の体は億劫になっていました。 (各マイナーバージョンの最新しかインストールできない仕様) というのもUnityアーカイブページから、必要なバ…