Continue(s)

Twitter:@dn0t_ GitHub:@ogrew

Unity

【Unity】DMI vs DMI2

はじめに (界隈には今さらな技術かもしれませんが…。) あるメッシュを大量にレンダリングしたいとき、Unityではいくつか方法がありますがGPU Instancingはその中で強力な手段の1つです。 特に今回はUnityが用意している2つの描画用API Graphics.DrawMesh…

UnityのCompute Shaderに入門する。その2

前回に引き続き、ComputeShaderを使っていろいろ試行錯誤していきます。 taiga.hatenadiary.com 前回は最終的にGPUまで登場させてUnity関係なく四則演算をちょっとやっただけだったので、今回はオブジェクトを1つ回転させて見るところから始めます。 まずは…

UnityのCompute Shaderに入門する。その1

はじめに なにはなくともCompute Shaderに挑戦してみよう!の回です。 いくつか文献をあたって学んだこと、そして実践したことなどをまとめています。 複数回にわたる予定です。その1回です。 (いきなり余談ですが、Compute Shaderに関する書籍やサイトっ…

【Unity】Unity Shader Programming Vol.03読んだ。(その4)

はじめに Vol.3 の読書メモは今回で終わり。 taiga.hatenadiary.com 最後もどーんと、ノートのスクショです! 第14~16章 第17~19章 たぶんこんなんだろう、という用語の理解をまとめたメモ。(違ってたら直す。) Name 名前 説明 カラー 動画 Norm…

【Unity】Unity Shader Programming Vol.03読んだ。(その3)

最近知ったロンドンのミュージシャン、Bakarにすごいハマっています。ランニングのお供に最適。 さて、今日も続きをやっていきます。 taiga.hatenadiary.com といっても、今日はノートのスクショが主です。 非常に難しい部分で、本書でも「難しいから細かい…

【Unity】Unity Shader Programming Vol.03読んだ。(その1)

約半年ほど、時間を開けてしまいましたが、こちらの読書記録シリーズの続きです。 taiga.hatenadiary.com taiga.hatenadiary.com もはや自分にとって教科書みたいなシリーズです。(印刷してホチキスで止めている。) vol.3は全18章(改訂ではさらに+1章らし…

【Unity】Unity Shader Programming Vol.02読んだ。

はじめに Vol.1を読んで勉強になったので、引き続き暇な時間にVol.2を読みました。 taiga.hatenadiary.com あ、Boothのリンクも貼っておきますね。 xjine.booth.pm 学んだことのメモ(章ごと) 1.スクリプトからシェーダの値を設定する Materialに対してだっ…

【Unity】shader_featureとmulti_compileの話。

vol.1を読んだ勢いでvol.2を読み始めた。 booth.pm 第7章まで読んでShader Variantが登場したので、まとめ記事を上げる前にここだけ別途メモを残しておく。 まず、Variantというのはググると「変異体」とか「変形」みたいな言葉が意味としてまず出てくるけ…

【Unity】Unity Shader Programming Vol.01読んだ。

はじめに 仕事でShaderLabのことを調べていると各所で紹介されているシリーズ本、のその1冊目を読み終わった。 booth.pm というのもちょうど今、コロナの影響などでvol.3がセール中だったので積読を1冊増やす代わりにちゃんと読もう、となったわけです。 一…

【Unity】そろそろラムダ式の便利さを。

ラムダ式を使えるようになりたいと思って、人様の書いたコードを見様見真似で書いているうちに雰囲気を掴めたので簡単な例を出してまとめておく。 やることは与えられた数値の配列から正の数値だけに絞るという超簡単なもの。 まずは素直に... using System.…

【Unity】コルーチンから始めてUniTask便利ってなるまで(前編)

はじめに Unityで仕事を初めて2ヶ月が経って、コルーチンを使った非同期処理みたいなのはスムーズに書けるようになってきたが、周りはUniTaskとか使っていてレビューのたびに「え、ここってこういうことなんですか?」みたいなコメントをして人のリソースを…

【Unity】スマホの画面タッチで回転させたいしピンチイン・ピンチアウトさせたい

●学んだことメモ 「対象のオブジェクトをフリックで回転、それからピンチイン・ピンチアウトできるスクリプト書いて~」って言われて着手。 最初はデバッグしながら進めたかったので「マウスのクリックで擬似的にやるか~」と思って Input.GetMouseButtonDow…

【Unity】アプリからSNSへのシェア機能をつくる.

SNSシェア機能と仰々しく書きましたが、つまりはShare Extensionを表示させる方法です。 (ちなみにShare Extensionという用語はAndroid /iOSで共通なんでしょうか?まあどちらにせよ意味は通じると思いますが。) ググってみるといくつか方法が出てきますが…

【Unity】スクリプトからフラクタルな造形。

※動きます。 Inspectorの様子 メモ child = new GameObject("Fractal Child").AddComponent<Fractal>(); 再帰させたいだけなのでただのGameObjectを作成してこのコンポーネント自体をアタッチしている。 float t = i / (maxDepth - 1f); t *= t; ...... mats[i, 0].co</fractal>…

【Unity】スクリプトからプロシージャルにTerrainもどき。

こちらの続きです。 Meshを無数に生成しそこにPerlinNoiseをかけることで地形っぽい形状を作り出します。 この部分がキモ。 というか、なるほどー、となった。 「1つの四角 = 2つの三角 = 6つの頂点」 // 1つ目の三角 triangles[tris + 0] = vert + 0; trian…

【Unity】スクリプトからMeshを描画する。

特に面白みはないけどスクリプトから動的にMeshを描画することができたので今日は満足。 というかVEXでおんなじようなこと書いたなぁ。 参考 www.youtube.com

【Unity】スクリプトからマテリアルの色(Properties)を変更する

さきに使ったスクリプト貼っとく。 gist.github.com 学んだこと ①スクリプトからプロパティへのアクセス id = Shader.PropertyToID("_Color"); ... mat.SetColor(id, Cd); シェーダーのプロパティへは SetXXX みたいなメソッドでアクセスができるっぽいのだ…

【Unity】子オブジェクトとしてInstantiateしたり、子オブジェクトまとめてDestroyしたり。

あるオブジェクト(親)に対してInstantiateで子オブジェクトを任意の数生成したり、あるいはそのオブジェクトの子オブジェクトをまとめて消したりしたいケースは多い。 [ContextMenu("XXXX")] はコンテキストメニューに"XXXX"の名前で新たに項目が追加され…

【Unity】"XXXX.app" requires a provisioning profile. に頭を抱える.

unityアプリの自動iosビルド化に頭をかかえる日々。 そういった頭痛の種の中でも先週一番大きかったのがerror: exportArchive: "XXXX.app" requires a provisioning profile. ...つまり「お前が指定したplistにはProvisioning Profileに関する項目がないぞ!…

【Unity】UnlitShaderを読んで完全に理解した.

ちなみに コメントにひたすらメモを残す邪悪な手段でUnlitShaderを完全に理解した。 pic.twitter.com/3eZfocfIUC— 0kawara (@dn0t_) 2020年1月11日 あらためて Carbon めっちゃ便利だな、と思った。ここまで長くても特に問題ない。 参考 booth.pm amagamina.…

【Unity】HLSLに入門(おもちゃラボさんの記事を読んで。)

はじめに 読んでね。 nn-hokuson.hatenablog.com できたやつ 学んだことメモ 上のナンバリングに沿ってシェーダを記載。 ① fixed4 frag(v2f i) : SV_Target { fixed4 black = fixed4(.1, .1, .1, 1.); fixed4 red = fixed4(.9, .2, .1, 1.); float x = step(…

【Unity】公式チュートリアル"Create with Code"をすすめる。

ちょうど1年前にこの講座でUnityにちゃんと入門した。 Udemy - ユニティちゃんが教える!初心者向けUnity講座 そのときはまさかこんな形でUnityエンジニアにジョブチェンジするとは思っていなかった。 ただこの講座で学んだことはすっかりどこにもメモが残さ…

【Unity】UnityEditor.MenuItemで自分だけのメニューを追加する

Unityのエディタ拡張の方法の一つとして自作のメニューバーを作るときに使えるAttributeがあります。それがMenuItemってやつです。 一番単純な例として、Asset/Editor/CustomMenu.csというスクリプトを以下のように書きます。 using UnityEngine; using Unit…