Unity
GoogleFontで配布されているMatrialIconsはフォント形式でも配布されており、Unityに組み込むことができる。 1.フォントファイルダウンロード github.com ちなみにライセンスはApache License 2.0。 2.TextMeshProの設定 表示させたいアイコンのcode pointを…
TextMeshPro(最新3.0.6)ではDynamicFontの扱いがいまだに面倒で、文字が正確に表示されなくなる場合がある。 DynamicFontではフォントテクスチャがいっぱいにならないよう、適宜ClearFontAssetDataを呼び、テクスチャに空きを確保しなくてはならない。 コ…
Unity2018には既にあった機能なので今更感!はあるんだけど、存在に最近気づいたので便利だったので記事にしておく。 機能自体は次の記事で解説されている。 light11.hatenadiary.com 何が嬉しいか Lens Shift レンズシフト機能をゲームで使うと何が嬉しいか…
セーブデータとか確認するのに使う。 github.com
InputActionのperformed、started、canceledコールバックはマルチキャストっぽいインターフェースになっており、+演算子でAction追加、-演算子で削除を行うようになっている。 inputAction.performed += _ => {}; このままでは使いづらいので作ったのがこの…
導入するうえで検索しづらかった機能について。 コードで入力を受け付けたい : InputActionReference 実は自動生成クラスは不要で、インスペクタで参照設定すればできる。 [SerializeField] InputActionReference submit = default; void Start() { submit.T…
Unityでもnull許容参照型。どう書くか好みの別れそうな部分があったので、個人的な方針。 Unity 2021.1.7f1。 1.どう有効にするか コンパイラオプションでプロジェクト全体を有効にできるけど、それではアセットのコードなんかも影響して警告を出し始めるの…
やること セーブデータ一覧で、ゲーム画面がサムネで表示されてるやつ。 コード public async UniTask<byte[]> GenerateThumbnail(MonoBehaviour coroutineRunner) { Texture2D thumbnail = null; await TextureUtil.CaptureScreenshot(width, height, _ => thumbnai</byte[]>…
Graphics->Shader Stripping->LightmapModesがCustom設定になっている場合がある。 チェックボックスを直すか、Automaticに設定する 参考 【Unity】なんか影が出ない問題の対策 - テラシュールブログ これやっとけばライトマップは焼ける!Unity 2018 ライテ…
書いた。 やっていることは単純なもので、裏でシーンのロードを行い、ロードできた瞬間にGameObjectを非アクティブにしておく。使う時になったらアクティブ状態を戻してやる。 本当はallowSceneActivation=falseでとめておきたかったんだけど、これをやるとR…
書いた github.com あとから気が付いて修正したんだけど、ゴールを複数投げれば最も近いゴールへの経路を返す動きにすることができる。これが便利。 探索結果は蓄積するのでインスタンスを使いまわすと性能がよくなる(はず)。
やること テクスチャを賽の目に切って扱うことで容量を小さくすることができる。そのコードを書いた。 簡単なものだけどテクスチャのダイシング処理。何が美味しいかというとatlas化したときで、サンプルの1905x1920のテクスチャが2048x1024に収まる。https:…
シーン遷移時にはゲームごとの処理として フェードインアウト演出 ローディングゲージ表示 を入れたくなるんだけど、それに対応できるようにしてある。 github.com
こういうツールがあって www.mapeditor.org その吐き出すxmlファイルをUnityでデシリアライズするためのライブラリパッケージ。 github.com
前回の麻雀ライブラリをちょいちょいバージョンアップし、機能追加した。詳しくはREADMEに書いてある。 優先行動処理 チーよりポンの方が優先して実行するとかの対応。 シリアライズ処理 状態をjson文字列にシリアライズできる。保存、通信、巻き戻しとかに…
github.com 何をするライブラリなのか 麻雀のルール部分を実装したライブラリです。 卓上にある牌を管理して、鳴いたりロンしたりといったAPIを提供します。 あるのはルール部分の実装のみなので、「牌を画面に表示する」「ユーザー操作を受け付ける」「AIが…
Cameraのスクリーン上の描画範囲はViewportRectによって設定できる。が、そのままだと使いづらいので、補助のためのスクリプト。 具体的には画面アスペクト比が変化してもレイアウトが崩れないようにできる。(UIのCanvasScalerと同じような感覚で使える) g…
ようやく自作パッケージのサンプルコードに着手しはじめた。とりあえず分かりづらそうなところで、翻訳、ルビ表示、ファイル読み書き。 github.com github.com github.com サンプルコードはpackageManagerからインポートできる。 参考 https://forum.unity.c…
ナニコレ そろそろ音まわりの処理が共通化できそうだなーということでやってみる。 とはいえ音に関してはこだわったことをしたことがないので、機能は必要最低限という感じ。FPSなんか作るともう少し演出的にやるべきことができるんだろうけど…。 リポジトリ…
やること 非公開設定のスプレッドシートからセルの内容を読み込む 環境:Unity2019.2.17、UniTask、Utf8Json 参考:前の記事 toriden.hatenablog.com 手順 1. クライアントID、クライアントシークレット発行 GoogleCloudPlatformでクライアントIDとクライア…
Utf8JsonでDictionary<string, object>とかをガッとシリアライズできるようにします。 初期化 Utf8Json.Resolvers.CompositeResolver.RegisterAndSetAsDefault( new[] { Utf8Json.Formatters.PrimitiveObjectFormatter.Default }, new[] { Utf8Json.Resolvers.GeneratedResol</string,>…
以下のコードでバグがでる。 System.Globalization.CultureInfo.CurrentCulture = System.Globalization.CultureInfo.GetCultureInfo("fr-FR"); var dict = new Dictionary<string, object>(); dict["hoge"] = 1.5f; var jsonString = MiniJSON.Json.Serialize(dict); // {"h</string,>…
UnityUIのボタンやらをキーボードで操作するサンプルプロジェクト。動画の前半はマウスで、後半はキーボードで操作している。https://t.co/QBPndoJgu8#gamedev pic.twitter.com/xIu8ziI8dS— enu@C97火南モ06b (@_enu) 2019年12月1日 github.com なんかの拍子…
やること UnityWebGLビルドをRPGアツマールにアップロードした場合、そのままだと画面サイズが固定になってスマホで遊べない。のでその対応。 index.htmlの書き換え bodyタグを以下のようにする。0.75というのがアスペクト比4:3の数値。 <body> <div id="unityContainer" style="width: 100%; height: calc(100vw * 0.75);"></div> </body> 参考 [css]アスペ…
やること UnityでつくったゲームをRPGアツマールに対応させる。 使ったUnityのバージョンは2019.3.0f1。 成果物 game.nicovideo.jp 0.ググれ すでにネット上に記事があるので、「Unity アツマール」とかでググりましょう。 1.最小構成 まずは動かす game.nic…
結局Animationじゃなくてスクリプトで書くことにする、押したら凹むボタン pic.twitter.com/ngoZbMKZsV— enu@C97火南モ06b (@_enu) 2019年11月11日 凹むっつってもスケールを小さくするだけですが。 ボタンの押下時アニメーションはデフォルトだとColorTint…
翻訳対応 機能自体はすでに作ったものがあったんだけど、パッケージとして上手く切り分けられなくてどうしたもんかなーという感じで。が、いい加減観念してとにかくパッケージ化することにした。 翻訳処理はいまUnity公式で開発中らしいんだけど、まあ待って…
Unity2019.2を試したところ、どうも処理が途中で止まっているっぽい?ということで見てみたところ、Assertで警告が出るとそれ以降の処理が為されていない模様。 この警告、例外をスローしている。 変更 2019.1 2019.2 という感じ。前からもAssert.raiseExcep…
フェードで文字表示 pic.twitter.com/OgozmHdjPm— enu@遊宴雀2 雀-17 (@_enu) 2019年7月23日 packge github.com コード 本文用のTextコンポーネントを作成する。 本文用のオブジェクトにFadeInQuadByQuadをアタッチする ルビ用のTextコンポーネントを作成す…
ルビ表示+リッチテキスト+禁則処理つき改行+文字送り。 pic.twitter.com/IcZt1Nzglh— enu@遊宴雀2 雀-17 (@_enu) 2019年7月22日 Package github.com コード [SerializeField] RubyText ruby; [SerializeField] Text body; IEnumerator Start() { var mess…