見出し画像

Unity1Week「ふる」に参加しました。

Unity1Week「ふる」に参加しました。

今回はかなりの遅刻、1週間遅れでの投稿となりました。
今回のゲームは砂金取りってことで、記憶に残っている自分がやった砂金取り経験をなんとか形にしました。かなり昔のことなんで多分現実の砂金取りとはだいぶ違いますけど、そこそこゲーム(運ゲー)っぽくなったんじゃないでしょうか?

Unity2022へ更新した、あと不具合?

超久しぶりにエディタを更新しました。
ずっと2019LTSを使っていたんで、ちょうど新しくしようかなと思っていたらいいタイミングで最新LTSが始まりました。
早速インストールしてちょっと動作テスト……と思ったら、なんかスクリプト変更の度に前より長めにコンパイル入ってない?
あとエディタで実行するときにこんなにロード時間っぽいの挟んでいたっけ?
って思ったらここでも↓ ↓ ↓

そんな感じの話をしている人がいました。何なんでしょうね、コレ?
とにかくなんだか動作が重いですね……。まあまだLTS始まったばかりだしそれの影響なんでしょうかね?

vs.TextMeshPro

前のパートでエディタが重いということ以上に驚いたのはUIのTextがなくなっていたことです。「えっ、Legacy扱いなの!?」と。
仕方ないのでTextMeshProを使いますけど、いや難しいですね。
表示する文字を前もって設定しておかないといけないらしいですが、なんだかここも凄く動作が重くないですかね?
恐ろしく時間かかっているぞ、終わる気配がない。というわけでホントに必要な20文字前後だけ抽出しました。これは10秒ぐらいで片付きました。
とりあえず今回は少しだけを抽出することで間に合わせましたが、沢山の文字を抽出することは現状だと厳しそうです。
これはやはり機器のスペックの差なのでしょうか?

未だわからないShaderGraph

今回も色々面倒なことが生じたためShaderGraphを使って手を抜こうと思ったら、また面倒なことが発生しました。
Tilingの値を大きくするとテクスチャの端から謎の線が発生するのです。

Tiling=1のときのテクスチャのアルファを抽出
Tiling=5のときのテクスチャのアルファを抽出
画像の端にスペースを作って、Tiling=1
画像の端にスペースを作って、Tiling=5

端の方に色を寄せすぎたからかと元の画像を小さくしたら発生しなかった!
と思ったけど後でTilingの値をめちゃくちゃ大きくしたら結局謎の線が出てきたので、それは勘違いだったのですが。
これも一体何なんでしょうね?とりあえずここでは1以下の値を切り捨ててなんとか形を保ったわけですが。
打ち込みながら思ったけれども、もしかしてアルファの値だから線が生じた?もしかしたら、RGBのどれかだったらこんなことはなかった?今度テストしてみたいですね。

砂を捨てよう

お椀の中の砂を捨てる雰囲気を出すのにShaderGraphを使いました。シェーダーは以下の用になっています。

お椀用シェーダー

今回は元となるお椀の画像から真ん中の部分を除去して、そこの部分に砂のテクスチャを足して砂の入ったお椀を描画しています。
まずお椀の画像を二つサンプリングをして

1.そのまま出力
2.アルファの値を取り出し、先ほどのパートで扱ったTilingの値を大きくすることによって小さくする(ついでに真ん中に寄せる)

そして1から2を引くことによって真ん中に穴を空けます。
その後砂のテクスチャに2を掛け算して穴と同じ大きさにし、先ほどのテクスチャに足して砂inお椀を作っています。
なんか無駄な手間があるような気がします。このシェーダーがもっと簡単に作る方法があったら教えてください。

最後に

今回の遅刻は色々と事情があったということで……。

まあとにかく、こちらのゲームをよろしくお願いします!

この記事が気に入ったらサポートをしてみませんか?