渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

Unity

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軸方向に動かすアニメーションで検証します。

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

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

初心者向け事前知識無しの状態から、Mac環境でUnityエンジニアがアセンブリに触れてみる

ECS完全に理解した勉強会で、@tnayukiさんのLTでアセンブリが話題になりました。良いプログラマーになるための近道はアセンブリを勉強することだとプログラマ初心者にアドバイスしたという発表が端を発したような気がしています。 #ECS完全に理解した pic.tw…

経路探索Astarアルゴリズムの勉強がてらUnityで実装してみた話

今日、正確には昨日、ECS完全に理解した勉強会に参加してきました。 個人的には制作モチベーションの刺激を頂いた感ある、実りある勉強会でした。 そして懇親会。お寿司がやたら美味しく感じ、おごってくれた & 場所を提供してくれたmixiさんには感謝です。 …

Unity製のアプリをXcodeでプロファイリングするとCPUフレームタイムが常にMAXになる件

Xcodeのバージョンと僕の所持するiPhone6SのOSバージョンの差異から、ここ最近手元PCでビルドしていませんでした。たまには、Xcodeでアプリのプロファイリングでもしようと思い、まずはMacをHigh Sierraにし、Xcode10をインストールしました。 Mojaveがリリ…

UnityEngine.Object.nameアクセスするとGC Allocされる件

UnityEngine.Object.nameするだけで、ヒープ領域を毎回確保するようです。 Unityのプロファイラを見てて気づきました。 以下僕の環境における実績。

UnityでPSDが認識されなくなったときにチェックすべきポイント

UnityはPSDを読み込めてとても便利です。 便利なのですが、突然僕の環境でPSDが読み込めなくなってしまいました。 テクスチャとしては読み込めているのですが、中身が真っ白という状況...

micro:bitの角度センサーを使ってUnityで遊ぶ

let dx = input.acceleration(Dimension.X) micro:bitは、上記のようなコードで傾きが取得できます。 それを使ってmicro:bitを傾けるとサメの進む方向を変えるというものを作ってみました。 ※この成果物は最近パソコンを触ることにハマっている4歳の娘とゲー…

シーンビューのAnimation Materialsチェックボックスの意味

いつのバージョンからかは忘れたのですが、シーンビューのプルダウンにAnimation Materialsという項目が追加されました。 コレなんだろう?って思ってて時が経ち、先程偶然知ることができました。 ↓↓コレです

IJobParallelForTransformでキューブを回転させる

Unity JobSystemをとりあえずやってみる序 IJobParallelForで並列処理させるジョブを作ってみる IJobParallelForTransformを使ってTransformを並列処理させる この辺りの記事の続きにあたりますが、絶賛JobSystemの使い方を探し中です。 今回はたくさんのキ…

IJobParallelForTransformを使ってTransformを並列処理させる

前回、前々回とIJob、IJobParallelForを使ったJobSystemについて触れてきました。 今回は僕的には

IJobParallelForで並列処理させるジョブを作ってみる

前回はIJobインターフェースでJobSystemを使ってみました。 IJobインターフェースで作ったジョブは1つのWorkerThreadに処理を分散することしかできませんでしたが、今回はもっと多くのWorkerThreadに処理を分散させてみようと思います。

Unity JobSystemをとりあえずやってみる序

そろそろUnityのJobSystemをやらなきゃという思いにかられ、少しずつ始めてみようと思います。 実際JobSystemやECSを使わなくてもゲーム自体は作れると思いますが、それらを使うことで、浮いたリソースがクオリティアップにつながるのであれば、やらない手は…

Unityで.NET Framework 4.6以降を使用する際のRider対応

Unityで.NET 4.6以降をしようとすると、Rider上で以下のエラーが出てしまいました。 ※コード補完とか何も効かない状態です Project 'Assembly-CSharp' load finished with warnings: The reference assemblies for framework ".NETFramework,Version=v4.7.1"…

AssemblyDefinitionのイケてないところがわかってきた件

Unity2017.3のAssembly Definitionがコンパイル時間短縮の救世主になりそうな予感 - 渋谷ほととぎす通信 以前このようなAssemblyDefinitionは神だ!!という記事を書きましたが、実際その神を運用してみて分かってきたことがあります。 今回紹介するのはAsse…

神アセットConsole Enhancedが復活していた件

去年の7月の記事ですが、個人的に神アセットと崇めているConsole EnhancedがUnity2017になって動かなくなっていました。 しかし、おそらく去年の12月辺りからUnity2017以降でも動くようにアップデートされたようです。 ためしにUnity2018.2.5f1で試したとこ…

micro:bitとUnityを無線通信するためにSerialPortWrapperを作成

ググればいろいろ出てくるんですが、一旦自分でmicro:bitとUnityの無線通信をやってみます。 送信側micro:bitのAボタンを押して、文字列"A"を送信 受信側micro:bitで文字列"A"を受け取る 受信側micro:bitからUnityへ"A"を送る というアプリを作ってみます。 …

WaitForSecondsはキャッシュして使おう

Unityで演出をスクリプトでタイミングの調整をしたいときにWaitForSecondsを使ったりすることがあります。 刹那的に使うのは問題ないですが、以下のようにWaitForSecondsを高頻度で生成すると問題が出てきます。

CinemachineVirtualCameraが認識されなくなったときに見落としがちな2つのチェックポイント

UnityのCinemachine使用中に時々CinemachineVirtualCameraがCinemachineBrainに登録されなくて、アクティブにならないということが起きました。 そんなときにチェックしておきたいポイント2点をメモしておきます。

Unityとmicro:bit間のシリアル通信におけるResource busyトラブル

この辺りの文脈から最近micro:bitを触りだし、自分の子供と甥向けになにか作ってやろうと思っている次第です。 microbitで娘と夏休みに電子玩具をつくってみよう。とりあえず、サーボモーターあたり注文done #大人の夏休みの宿題— bao_bao_ni (@bao_bao_ni) …

SpriteAtlas、SpritePackerどちらも一括でアトラスサイズを変更できるわけではなかった話

僕の勘違いの共有みたいになりますが。 最近のUnityの主流?のSpriteAtlasでは個別に書き出したSpriteをアトラスにパックした後、アトラス全体のサイズを変更できるのかなって思っていたんですが、そうではなかったんですね。