actionScript書きの日記

アラフォーFlashデベロッパのブログ。actionscriptやobjective-cを経て、現在はUnity、Spine、AfterEffectsがメイン。

Unity

Unityのシェーダーにおけるプロパティアトリビュートに関して

例えば、あるテクスチャの計算を乗算にするか加算にするか、という設定をマテリアルから行いたい場合、トグルで選択できれば便利なのだが、どうやってマテリアル上にトグルのパラメータを表示するのか、という点がなかなか分からなかった。 以下のリンクを大…

画像をタイリングした際に繰り返し表示するか否かの設定

画像をタイルのように敷き詰めたいときもあれば、繰り返したくないこともあるわけだが、この設定をどこでするのか、シェーダー関連の検索を色々としていたのだが、テクスチャ側の「Wrap Mode」をClampにすることで繰り返しをしないようにできた。単純だが、…

UnityのURPシェーダーでUVスクロールする際のオフセットの取り扱い

UnityのURPシェーダーでUVスクロールをする際にどのように記述するのかを調べてみると、以下のようなコードが出てきた。 float2 offset = float2(_Time.x, 0); o.uv = TRANSFORM_TEX(v.uv + offset, _MainTex); 変数「offset」内に、時間経過に比例して増大…

Unityで知らなかったショートカット二点

Alt + 左クリック→現在のシーンビューの中心点を基準として視点が回転。 Alt + 右クリック→シーンビューのカメラ画角の拡大縮小。 全然知らなかったので、備忘録として。 以下の記事に助けていただいた。感謝申し上げる。 learn.unity.com

Unityで動的にMeshの頂点数を増やしたらメッシュが縮小されてしまった件

前提 UnityのScriptで動的にMeshを生成し、SetVerticesとSetTrianglesを使用して頂点数を変更する処理を作成した。試しに縦横500ずつ頂点を作成すると、Meshの大きさが突然小さくなるという現象が発生した。頂点数をある程度減らすと解決した。 対応 デフォ…

メインスレッド以外からUnityのUIを操作しようとして途方に暮れた件

いやもう本当に、そもそもメインスレッド以外で処理が走っているってことを想像できなかったし、それを指摘されたあとも本当に苦労した。いろいろと書くべきテーマがてんこ盛りの数日間だったのだが、まずは複数スレッドでの命令の受け渡しから。 前提 ある…

Unity Test Runner を使おうとして詰まってしまった3点

新しい仕事においてややコーディングよりの仕事をすることになったので、テスト駆動開発の方法くらいは知っておかないと、と思って泥縄で調べ始めたのだが、いやあ、敷居が高かった。 最初に検索して上位に来たいくつかの記事を読ませていただいた。例えば以…

Houdiniでファイル書き出し時に「TypeError: 'newline' is an invalid keyword argument for this function houdini」と出た際の対処

前提 HoudiniからUnityで使用する「PointCashe」のファイルを書き出そうとした所、「TypeError: 'newline' is an invalid keyword argument for this function houdini」というエラーが出て書き出しができなくなった。 対応 Pythonのバージョンが3未満だとこ…

Houdiniで作成したFlowMapの書き出しとUnityでの使用 その2

前提 前回の記事でHoudiniで作成したFlowmapを、Unityで表示するためのシェーダーを作成する。 ビルトインのシェーダーもあるようなのだが、大まかな構造だけでも把握するために、処理の流れを追ってみることとする。 作業内容の概要 Flowmap上の色情報を元…

Houdiniで作成したFlowMapの書き出しとUnityでの使用 その1

前提 HoudiniでFlowMapを作成し、必要なデータを書き出してUnityに読み込んで表示する。 作業内容の概要 HoudiniでFlowMapを適用するためのジオメトリを作成。 HoudiniでFlowMapを作成。 FlowMapの画像を書き出し。 ジオメトリをFBXで書き出し。 書き出したF…

HoudiniでFlowMapやVectorFieldsを作成してUnityに持っていきたい

※一部自分の認識にずれがあったので、本文やタイトルを直しました。 前提 Unityでのエフェクト制作において、外部の3Dソフトとの連携がほぼ必須になりつつあると感じている。数年前まではテクスチャ画像を After Effects や Substance Designer で作成してパ…

LoadAssetAsyncで動的に生成したPrefabのSetParentを実行してエラーが出る件

前提 「Addressables.LoadAssetAsync<GameObject>」関数で動的に生成したPrefabに対して「SetParent」関数を実行すると、 Setting the parent of a transform which resides in a prefab is disabled to prevent data corruption. とエラーが出る。 対処法 生成したPrefa</gameobject>…

UnityでResourcesフォルダを使用せずに動的にオブジェクトを生成する方法

前提 Resourcesフォルダが非推奨になっているとは知っていたのだが、ではどうするのか、ということを知らなかった。動的にオブジェクトを生成したいときはpublicで変数をもたせてそこに生成したいオブジェクトを代入し、Instantiate関数で生成する方法を撮っ…

UnityのList内の要素を全て削除する方法

Unityで変数として設定したList内のオブジェクトを全て削除して空にしたいときは、Clear関数を使用する。 RemoveAll関数と混同したので、備忘録として。 ちなみに「RemoveAll」関数は、条件に合致する要素を全て削除する関数となる。 以下の記事に助けていた…

LitシェーダーをVisualEffectGraphで使用するとパーティクルが消える件

youtu.be 上記のチュートリアルがとても分かりやすく参考になったのだが、一点詰まってしまったことがあったので備忘録としてメモ。 ShaderGraphでVisualEffect用のシェーダーを作成して、それをVisualEffectGraphで使用するのだが、ふと気が向いて「Fragmen…

UnityのShaderを用いた画像の歪みの実装

なかなかに面白い動画があったので、実際にやってみた。 youtu.be この動画は自分にとって有用な情報がいくつも入っていてとても参考にさせて頂いた。この場を借りて感謝申し上げる。 さて、この動画の6分12秒あたりから、UnityのShaderを用いて画像にディス…

Substance Designerで透過画像を作成する方法

一時期離れていたSubstance Designerをまた触り始めている。理由としては、シームレスなテクスチャを作るのに便利、というのがある。UV Scrollをさせたりする場合にはつなぎ目は重要になるので。 今回は、Substance Designerで透過画像を作成する方法を備忘…

Unity2020で右クリックでUnlitShaderGraphが作成できない件

前提 Unityで「Universal Renderer Pipeline」のプロジェクトを作成し、右クリックでUnlitShaderGraphを作成しようとするも、「Create→Shader」と進んで該当項目がない。 対処法 各ShaderGraphが「Blank Shader Graph」に統合されたため、今後はこれをまず作…

Unityでオブジェクトを指定した角度に回転させる方法のまとめ

前提 Unity上のオブジェクトを、指定した角度に回転させたい。例えば、Rotationの値が(0, 0, 90)になるようにしたい。 簡単なようでいて、この対応が意外とややこしいので、備忘録として。 対応 対応は2種類の方法がある。 Transformの「eulerAngles」を指…

UnityでProBuilderをインストールした後でツールバーが表示されない。

前提 UnityのPackage ManagerからProBuilderをインストールした後、本来表示されるはずのツールバー(下記画像の赤枠内のツールバー)が表示されない。 赤枠内のツールバーが表示されない。 検索しても何も出ず、こんな現象は他では起きないのかと思っていた…

UnityでiOSビルドを行う際に「DXT1 compressed textures are not supported when publishing to iPhone」と出た際の対処法

前提 Unity2019.4.15f1を使用して、iOS用のビルドを行う際に DXT1 compressed textures are not supported when publishing to iPhoneResources/unity_builtin_extra とエラーが出る。 対処法 結論から言うと、「Default-Checker-Gray」を使用していたのが悪…

UnityでAndroidビルドを行う際に「You are missing the recommended JDK. Install the recommended version using Unity hub」と出た際の対処法

突然出たのでめちゃくちゃ焦ったが、Unity Hubから対応可能だった。 プロジェクト生成に使用したバージョンのUnityの「モジュールを加える」メニューから追加可能。ここで「Android SDK & NDK Tools」にチェックを入れてインストールする。 yanpen.net こち…

Unityでプロジェクトを開く際に「this can happen if layout contains custom windows」とエラーが出た際の対処法

前提 UnityHubからプロジェクトを開く、もしくは新規作成する際に、「this can happen if layout contains custom windows and there are complile errors in the project」というエラーダイアログが表示される。 「Quit」「Load Default Layout」「Revert F…

Provisioning profile "XXXXXX" doesn't include signing certificate YYYY って出て困った件

Unityで作成したプロジェクトをiOS向けにビルドすると一旦Xcodeのプロジェクトが書き出されて、そこから更にXcode上でビルドなり書き出しなりをすることになるのだが、AdHoc用のipaファイルを書き出そうとしてAdHoc用のプロファイルを作成したところXcode上…

UnityのAsset「InControl」でiOS向けにビルドするとエラーが出る。(追記あり)

<2020.05.14 追記> 開発者の方に問い合わせたところ、バージョンアップの仕方に問題があるのでは、とのこと。普通にアセットストアのアップデートボタンをクリックしていたが、これだと古いファイルが残ってしまうケースがあるようだ。いったんプロジェク…

Shader GraphでMasterノードのPositionに接続ができなくなる事態への対処法

Shader Graphにおいて、ノイズから作成した白黒画像を外部から読み込んで、各頂点の座標をランダムに変更するような処理を考えていた。 大雑把なノード構成は以下のようになる。 「SampleTexture2D」ノードにノイズ画像を入れて、その色情報をもとに座標を変…

ShaderGraph内でパラメータの真偽に応じて分岐する方法

ShaderGraph内でbool値に応じて使用する値を切り替えるには、「branch」ノードを使用する。 docs.unity3d.com 新たにbool型のパラメータを外出しにしておけば、マテリアルからの値の変更で入力値を切り替えることができる。 画像の反転やスクロール方向の切…

UnityのC#で基底クラスのコンストラクタが引数を持っている場合の対処

クラスAが以下のように存在する。 public class TestA { protected string TestSt; public TestA(string st) { TestSt = st; } } コンストラクタの引数をクラス内の変数に代入している形。 で、このクラスを拡張して新しいクラスを作成したとする。 public c…

Houdini学習その4 Sweepで作成した立体へのUVの設定

Sweepノードのバックボーンに「Circle」ノードを、右側に「Line」ノードを接続して立体を作成し、それにUVを設定する場合を考える。ノード接続は以下のようにする。 このケースにおいて、UVの展開の仕方には「circle1」と「line1」の「Primitive Type」パラ…

エフェクト作成とUnity Shader Graph

Houdiniでのエフェクト作成を学習していくと、「Houdiniでのメッシュ作成 + Unity側でのシェーダー作成」というパターンの作例が一定数出てくる。 ここでUnity側ではShaderGraphを使用することも多いわけだが、これに関してまだまだ自分の知らないことがたく…