2019-01-01から1ヶ月間の記事一覧
Humanoid / GenericアニメーションとAvatarについての基礎知識です。
UniRxのForeachAsyncオペレータの用途と使い方です。
Unityでグローバルイルミネーションを使う上での基礎知識を簡単にまとめました。
エディタ拡張でHDRテクスチャをLDRにエンコードするウィンドウを作る方法です。
Uniteのクォータニオン完全マスターの動画を見ていたら座標変換の説明がとてもわかりやすかったので、 復習と用語の整理を兼ねてまとめてみました。
オイラー角で入力された回転値は、内部的にQuaternionに変換されます。 その際に各軸のQuaternionを掛ける順番が異なると結果が異なるという話と、適用順はZXYであるという話です。
UnityでMVPと、UniRxを使ったMV(R)Pを実装してみました。 また、調べたらいろんな実装方法があったのでそのあたりの考察も加えています。
ノーマルマッピングとキューブマッピングを組み合わせたシェーダの実装方法です。
フラグメントシェーダで接空間<->ワールド空間変換する方法です。
スクリプトからPrefabを操作する方法です。 Unity2018.3以降の新Prefabワークフローに対応した内容となっています。 Unity2018.2以前はこちらの記事を参照してください。 light11.hatenadiary.com
Unity2018.3以降でPrefabを使う方法です。 Unity2018.3からPrefabワークフローが刷新されたことに伴ってまとめた内容となりますが、 Unity2018.2以前を使ったことがない方にもわかるように書いています。
シェーダコードは一般的にプロジェクトの規模が大きいほど共通化の重要性が増しますが、 共通化のために知っておかなければいけない知識がそれなりにあるのでまとめました。
使用するTEXCOORDをマテリアルから指定できるようにする方法です。
シェーダプロパティ用のアトリビュートを自作するMaterialPropertyDrawerの使い方です。
KeywordEnumがスクリプトから扱いづらい問題とその解決案です。
MaterialのInspectorでブレンドモード(加算とか乗算とか)を選べるようにしてみます。
shader_featureやmulti_compileでシェーダのバリアントを作る方法です。
Androidの主要なSoCとそれが搭載するGPUについて軽く調べたメモです。
RenderQueueやRenderTypeをシェーダの外側から、つまりスクリプトから変更する方法です。
UnityのシェーダでUsePassにより他のシェーダのパスを使う方法です。
シェーダでcgincファイルをインクルードして使う方法です。
シェーダでマクロを使う方法です。
FBX内のMeshを複製して独立したAssetとして保存する方法です。
3Dゲームの計算では行列がよく出てきます。 が、行列について調べると用語や計算方法ばかり出てきて、いつのまにか目的を見失いがちです。 ゲームに使う部分だけであれば行列はそんなに難しくないのでこの記事でまとめてみます。
BlenderでFBXをエクスポートしてUnityに取り込む方法です。 何も対処をせずに取り込むとスケール値や回転値がおかしくなるので、その問題点と修正方法を踏まえて解説します。 Unity 2018.2.0 Blender 2.79b
BlenderでFBXをエクスポートしてUnityに取り込む方法です。 何も対処をせずに取り込むとスケール値や回転値がおかしくなるので、その問題点と修正方法を踏まえて解説します。 Unity 2018.2.0 Blender 2.79b
モデルにBlend Shapeを設定するとUnity上のデータにどんな影響があるのか気になったので検証しました。
シンプルなRadial Blurのポストエフェクトの実装方法を紹介します。