devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

Boltでステートに入ってから一定時間が経過したら次のステートに遷移する仕組みを試してみた。

Flow Graph

Transition内でWait For Secondsノードを使ったらエラーが表示された。

InvalidOperationException: Port ‘enter’ on ‘WaitForSecondsUnit#e1128…’ can only be triggered in a coroutine.

Wait For Secondsノードはコルーチンで使用する必要があるらしい。

Transitionの中身

コルーチンにするにはTransitionで使用するOn Enter StateノードのCoroutineにチェックを入れる。

Coroutineにチェック

IPointerEnterHandlerを実装したコンポーネント。
マウスカーソルが範囲内に入るとDebugメッセージを表示する。

EmptyなGameObjectにコンポーネントを追加しただけだとOnPointerEnterメソッドは実行されない。

GameObjectの子としてImageを追加すると、Imageの範囲内にマウスカーソルが入ると反応するようになる。

DoozyUIアセットをアンインストールするには、
– Doozyフォルダを削除
– Gizmoos/Doozyフォルダを削除
– プロジェクトの設定(Player Settings > Other Settings > Scripting Define Symbols)のdUI_MANAGERを削除

これが残っていると再インストールするときにエラーが発生する。

Lightwave/Modeler用のPythonスクリプトです。

プラグインの詳細及びダウンロードは以下のURLから

https://github.com/narudesign-sekig/Lightwave-Scripts/blob/master/Modeler/MoveSelPolyBG

Lightwave/Modeler用のPythonスクリプトです。

プラグインの詳細及びダウンロードは以下のURLから

https://github.com/narudesign-sekig/Lightwave-Scripts/tree/master/Modeler/SelectLayerSE

Lightwave/Modeler用のPythonスクリプトです。

プラグインの詳細及びダウンロードは以下のURLから

https://github.com/narudesign-sekig/Lightwave-Scripts/tree/master/Modeler/SelectLayersByString

Unityで新規作成したC#ファイルがVisual Studio Communityで正しく認識されず、「その他のファイル」と表示される。ウェブ検索して色々試したが改善されない。インテリセンスも正しく動かず困った状態。

メニュー「ファイル > 移動先」でAssembly-CSharpを指定すれば、とりあえず解決するが、ファイルを作成するたびに指定するのは面倒くさい。

この症状はVisual Studio Community 2017を15.9.2に更新した後から(?)発生したように思う。

解決方法

1. インストール済みのVisual Studio Community2017 15.9.2をアンインストール
2. Windows10 再起動
3. https://docs.microsoft.com/ja-jp/visualstudio/productinfo/installing-an-earlier-release-of-vs2017 から、コミュニティ 15.7.6をダウンロードしてインストール
4. Unity開発のアドオンを追加インストール
5. 念の為、Unityプロジェクトの .vs Libraryフォルダを削除 *.csproj *.sln ファイルを削除

以上で、Unityで新規作成したファイルをダブルクリックしてAssemblyが正しく設定される、ソリューションエクスプローラーがリアルタムに更新される(新規作成したファイルが表示される)ようになりました。

デフォルトではパーティクルはスプライトの上に表示されるが、スプライトの下にパーティクルを表示したい。

Renderをカスタマイズして、スプライトの下に表示されるパーティクルを追加しようとしたが失敗。
パーティクルの上に表示されるスプライト(マテリアル)を作成したら上手く行ったのでメモ。

手順

レンダーのカスタマイズ

builtins/renderフォルダのdefault.renderとdefault.render_scriptをコピー

renderフォルダを作成し、その中にペースト。ファイル名をcustomに変更

custom.render_scriptのinit関数を修正(ハイライト行を追加)

custom.render_scriptのupdate関数を修正(ハイライト行を追加)

custom.renderのScriptをcustom.render_scriptへ変更

プロジェクトのレンダーにカスタマイズしたrenderを設定

マテリアルの作成

builtins/materialsフォルダのsprite.materialをコピー

materialsフォルダを作成し、その中にペースト。ファイル名をsprite_above_particleに変更

materialのタグを変更

マテリアルを設定

パーティクルより手前に表示したいスプライトへマテリアルを設定する

参考

How do I make particles draw behind other objects based on Z position?
https://forum.defold.com/t/how-do-i-make-particles-draw-behind-other-objects-based-on-z-position/121