読者です 読者をやめる 読者になる 読者になる

ScreenPocket - 画面の隙間

Unityエンジニアの日々の雑記。たまにpython3とDirectXも触ります

CEPHtmlEngineによる高い使用率による問題、の解決策ファイル(DL224.zip)のある場所

全くプログラム関係ないですが、新年早々イライラ案件があったのでメモ。家のPCでやけにCPU使用率が高く、Adobe製品を立ち上げた覚えもないのに CEPHtmlEngine タスクの使用率が高いことがわかりました。 ※Photoshopのみインストール済みで、見つけた記事が…

Vector3に値を代入する速度を測ってみた

Unityエンジニアなら皆毎日使っているVector3。 値の代入方法は色々ありますが、 そういえば結局どれが早いのだろう?と気になったので測ってみました。☆環境 Unity5.4.3f1 PCエディタで計測 ☆試した方法 下記4つを10,000,000回ずつ回した new Vector3(x,y,z…

SharedBetweenAnimatorsAttribute メモ

SharedBetweenAnimatorsAttribute を指定すると、メモリフットプリントを削減できるそうな。docs.unity3d.comただ、変数の変更が他のAnimatorにも影響しちゃうみたい? なので、振る舞いだけを書いた StateMachineBehaviour派生クラスだったら指定してみるの…

Photoshop クリッピングマスクをOn/Offするスクリプト

ScriptListenerでレコったのをメモ。選択中レイヤーのクリッピングマスクON var idGrpL = charIDToTypeID( "GrpL" ); var desc13 = new ActionDescriptor(); var idnull = charIDToTypeID( "null" ); var ref7 = new ActionReference(); var idLyr = charIDT…

Photoshop CC用Scripting Listenerのダウンロード

地味に迷ったのでリンク紹介だけAdobe Photoshop Scripting | Adobe Developer Connection現状このページの中段くらいにあります。と思ったら、こっちにもあった。helpx.adobe.com後はqiita.comこの辺とかオリジナルのスクリプトの作り方 | Dearpsこの辺を見…

Eclipseから、自作ExtensionBuilderプロジェクトをPhotoshop2015.5で実行する方法

またしてもPhotoshopネタ。 EclipseからPhotoshopのExtensionBuilderの実行に手間取ったのでメモ。 http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/cs-extension-builder/pdfs/CC_Extension_SDK.pdf ここに書いておるとおりに、 lab…

Photoshop CC 2015.5 で、自作エクステンションパネルのデバッグを通す方法

またまたUnityとは関係ないですが、初期設定でハマったのでメモ。主に参考にしたのはこちら nxpg.net何はともかくHalloWorldという事でやってみましたが、我が家のPhotoshopCC2015.5ではHalloWorldすら表示できなかった。そこで見つけたのがこちら。 www.dav…

外接円1.0の正多角形メッシュを作る

「あー、メッシュ欲しいなー、けどメタセコやMaya立ち上げて面張るのダルいなー」っていう時に使える関数。 この間の連休で作ったので共有。 public static Mesh GenerateRegularPolygonMeshXY(int vertexCount) { //Meshの作成 Mesh mesh = new Mesh(); Vec…

d3dxefffects11.hとEffects11.libがほしい時の対処

※今回Unity関係ないです。 久々に新しいwinPCを入手したので、過去に作った自作DirectXライブラリをビルドしてみようと色々試したのですが、案の定簡単にはビルドが通りませんでした。中でも、d3dxeffect11.h、Effects.libについては、以前はDIrectXSDKのSam…

BoxCollider2Dのsizeをfloat.MaxValueにすると当たらなくなってしまう

タイトルでオチてしまった。はい、それだけです。無限遠の地面がほしいと思った時に横着してfloat.MaxValueを入れたところ、 全く当たらなくなってしまって原因究明に時間がかかってしまった。という覚え書き。

OnPostRender()でのスクリーンキャプチャ

前回、スクリーンエフェクトをかける場合は、OnRenderImage()で行うと重そう(…と言うより、OnRenderImage()を定義するだけでも重そう)だから、OnPostRender()でスクリーンキャプチャして画像加工すればいいんじゃない? と書きましたが、じゃあOnPostRende…

OnRenderImage()を定義するコストについて

ふと、OnRenderImageの第1引数をデバッガで参照した時にこんな記述が、 「ImageEffects Temp」…? ふむ、定義した覚えのないRenderTextureですが、Unityちゃんが自動で定義してくれたんだろう。 ん?ということは、OnRenderImage()を定義しただけで負荷が増…

unity_FogParamsの値について

Builtin_Shadersの中で、UnityCG.cgincを見てみると、フォグに関わるマクロについては UNITY_CALC_FOG_FACTOR フォグの強さを決める+変数定義UNITY_FOG_COORDS_PACKED フォグ演算(の結果の値を渡すため)に使うテクスチャ座標の定義UNITY_FOG_COORDS 同上U…

iPhone用のSetPlatformTextureSettingsが反映されない場合の対処

Unity - Scripting API: TextureImporter.SetPlatformTextureSettings には、 platform の文字列は BuildTarget の列挙体を文字列へ変換したものと同じものです。 とか書いてあるから Unity - Scripting API: BuildTarget を見て、iPhone用に第1引数に "iOS…

ARB って何?

シェーダ指定で fragmentoption ARB_precision_hint_fastest と指定するとARB命令の精度を良い感じに軽くしてくれる、らしいですが http://developer.download.nvidia.com/GPU_Programming_Guide/GPU_Programming_Guide_Japanese.pdf そもそもこの ARB って…

ParticleSystem の 更新間隔を間引く

朧村正を最近遊んでいて、桜吹雪の更新間隔がキャラの更新間隔よりも遅く、それでいて気にならないので、ParticleSystemで似たようなことができないかどうか試してみました。 書いたコードはこちら↓ using UnityEngine;using System.Collections; public cla…

ParticleSystem - Renderer - NormalDirectionを0指定してParticleにライトを当ててみる

最近知ったのですがParticleSystemコンポーネントのRendererのNormalDirectionを0にすると、Particleの中心を0としてのベクトルが法線情報に入るっぽい。 ↑法線を表示するシェーダを載せたらこんな感じ …って事はライティングしてボリューム感出せそうだな〜…

ProjectSettings - Graphics Settings - Built-in shader Settings の設定差によるパッケージサイズの差

GraphicsSettings http://docs.unity3d.com/ja/current/Manual/class-GraphicsSettings.html の Built-in shader Settings ですが、モバイルだとほぼほぼDefferdRenderingすることもなさそうだし必要ない気がする。 遅延シェーディング、遅延ライティングと…

PreserveAttribute について

適当に開いてみたリファレンスの項目を適当に調べて見るテスト 今回は「UnityEngine.Scripting.PreserveAttribute」 http://docs.unity3d.com/ja/current/ScriptReference/Scripting.PreserveAttribute.html https://unity3d.com/jp/unity/whats-new/unity-5…

CameraEvent.Before/AfterSkyboxについて

CameraEvent.AfterEverythingで指定されたCommandBufferは全ての最後に行う…ってことは、逆に全ての最初に行うCameraEventも有るのかな??と思ったのですが対になるCameraEvent.BeforeEverythingは無い模様…。 ならば、きっと最初に描画されるSkyBoxの前、B…

スクリプトからのConstantカーブの指定方法

アニメーションのカーブを自前で追加したかったので、スクリプトでAnimationCurveを作ってKeyframe指定などをしていたのですが、どうにもLinearかSmoothしか指定できない様子。。 調べた結果Keyframeには隠されたパラメータ、tangentMode という項目がありそ…

nearクリップ面基準での、傾斜並行投影変換

Unityのマニュアルにある傾斜錐体の変換 docs.unity3d.com こちらは透視投影だと上手くいくのですが、平行投影で同じ変換を行うと、farクリップ平面基準の変換がかかってしまうみたい。 ※つまりカメラ位置が大幅にずれる どうしたもんかなーと色々探した結果…

VisualStudio2012で.Net Framework 3.5 を指定するための方法

こちら http://www.ruche-home.net/boyaki/2012-10-14/CCLIVisu や Visual Studio 2012 C++で.NET Framework 4.0 以前をターゲットする方法 - コード スペランカー こちらで書かれている TargetFramework エレメントが*.vcxprojの中に発見できなくて困ってい…

CameraのClearFlagsによる負荷

新しいシーンを作ってすぐにstatsを表示してみる。何も置いていないのにBaches 1、Tris 1.7k Verts 5.0k !!?? シーンを作っただけで1,700面5,000頂点とかヒドい…!で、こちらの描画関連の値ですが、MainCameraのClearFlagsで変化するので調べてみました…

ScriptableObjectのプレビュー

これまた備忘録ですが、自前で作ったScriptableObjectのプレビューは↓で作ることが出来そう http://docs.unity3d.com/ja/current/ScriptReference/ObjectPreview.html ScriptableObjectでモデルを組み合わせたりするときは、ロード中はHasPreviewGUIをfalse…

Assetを作った時のコールバック

特定のフォルダ以下にAssetを追加した時にアセットバンドル名を自動で指定する仕組みをAssetPostprocessor.OnPostProcessAllAssets()で作ったのですが、それだとどうにも対応できない事があって悩んでいました。 http://docs.unity3d.com/ja/current/ScriptR…

CommandBuffer事始め

ネットを検索したところ、あまりコマンドバッファについての記述が見つからなかったので、とりあえず簡単なのを書いてみた。 using UnityEngine.Rendering;public class CommandBufferTest : MonoBehaviour { Camera myCamera; // Use this for initializati…

モーションの計算を間引くには?

西川善司の「試験に出るゲームグラフィックス」(2)「GUILTY GEAR Xrd -SIGN-」で実現された「アニメにしか見えないリアルタイム3Dグラフィックス」の秘密,後編www.4gamer.net 上記のLimitedAnimationの記述を見て、「そういえばモーションの計算を間引く…

Preferenceで設定したAndroidSDKのパスを取得する方法

http://docs.unity3d.com/ja/current/ScriptReference/EditorPrefs.htmlを見たところ、windowsではEditorPrefsの内容はレジストリに入っているみたい。 ということでregeditでキー値を確認しつつ、取得を試みたところ問題なく取得できた。 var path = UnityE…

GASで気づきたくなかったメモ

なんとライブラリ内の関数をAddItemで直接呼ぶことが出来ない様で・・・。 ライブラリをインポートするだけで、自動でライブラリ内のOnOpen()が呼ばれて、自動でメニューが構築されますよ〜!とが出来ないのは前書きましたが、せめて構築されたメニューの中…

GASで気づいたことメモ

・ライブラリを持ってきても、onOpenなどの関数を自動で呼んでは貰えない → ライブラリを入れた先のプロジェクトで新たにonOpen()を定義する必要あり ・ライブラリ内で他のライブラリを使用していると、インポートした先のプロジェクトでも内部ライブラリの…

GAS用 Notable Script Libraries

Notable(注目)のGAS用ライブラリだそうで、UnderscoreGSがよく検索で引っかかるので備忘メモ。 Notable Script Libraries | Apps Script | Google Developers ※googleではなく第三者が作ったので動作保証はされないとか。 underscoreGS - Google Apps Script…

Adreno Profiler Mac版

検索すると、Windows版しか無いと引っかかるAdreno Profilerですが、 ダウンロードページを見てみるとMac版、Linux版もあるようですね。 Adreno GPU Profilerdeveloper.qualcomm.com ダウンロードにはアカウント登録が必要なのでご注意。 で、起動にはMonoの…

GoogleAppsScriptを独立して作成するには?

スプレッドシート > ツール > スクリプトエディタ から作れるGASですが、 ライブラリとして作成する際には特定のシートからは独立させたい。 教本を見ると、Googleドライブ > 追加 > その他 で作れると書いてあったけど見当たらなかったので困っていたら…

リスコフの置換原則

派生先の型 と 派生元の型 の 型比較で真になる原則には、「リスコフの置換原則」という名前がついていたんですね。 リスコフの置換原則 - Wikipedia 多態性(ポリモーフィズム)と合わせて覚えておきたい言葉でした。

シェーダでのプリプロセッサ

そういえばcgのプリプロセッサは何が使えるんだろうかと思って調べてみたけど、 <a href="http://http.developer.nvidia.com/Cg/Cg_language.html" data-mce-href="http://http.developer.nvidia.com/Cg/Cg_language.html">Cg_language</a> Cg_language ここ見ると、 Preprocessor Cg profiles must support the full ANSI C standard preprocessor capabilities: #if,…

はじめまして & お久しぶりです

2015年、新しいことをやってみようということで久々にブログを立ち上げてみる。 子供が生まれる前まで書いてたから8年ぶりかな? 今回はどこまで続けられるやら。