気ままエンジニアの読書感想文

ITエンジニアの私が読んだ本の感想や技術についてのメモ、作ったものについて書いていくブログです。

自己紹介

初めまして、このブログを書いているzenです。

 

今回は私の自己紹介をします。

 

プロフィール

職業:ITエンジニア

年齢:30歳前後

資格:応用情報技術者

趣味:ゲーム、読書

 

経歴は、大学卒業後にITエンジニアとして働くも、1年足らずで辞め、フリーターしたり公務員を目指したりしていました。

 

1年ほど経ち、ITエンジニアの仕事が自分に合うと認識でき再度働き始め、2022年8月現在で社会人6年目です。

 

再就職時は受託開発の会社で働き、客先常駐中心の仕事をしていました。

 

その後、自社開発の会社へ転職し、今はリモートワークでITエンジニアとして働いています。

 

このブログについて

このブログでは、読んだ本の感想を中心に書いていく予定です。

 

他にも、エンジニアとしての経験や、転職と無職期間の経験などから、同じ悩みを持った人の手助けになれれるような記事も書いていきたいと思います。

 

ぜひこのブログを読んでいただけたら嬉しいです。

Trail RendererのOrder in Layerが機能しない問題【Unity】

Trail RendererのOrder in Layerが機能しない

Unityで2Dゲームを作成中に、表題の問題が起きたのでその解決策を書き置きます。

【環境】
MacOS:Catalina 10.15.7
Unity:2020.3.21f1
テンプレート:2D

 

状況

自作ゲームで、プレイヤーが動いた軌跡を描画するTrail Rendererを適用しました。

Spriteを通過する際に、軌跡をSpriteより手前側に描画したいので、Order in LayerをTrailRendererは2、Spriteは0を設定したのに、軌跡は奥側を通るままでした。

gazo_feature.png
状況はこの通り。
白い糸のプレイヤーの軌跡が、黒い針の手前を通ってほしい。

Sorting Layerを変えても同じでした。

 解決法

調べてみるとUnityのForumで話題がありました。

 

Problem with Trail Renderer's sorting layer
https://forum.unity.com

 

Trail Rendererに付けたMaterialのShaderがデフォルトのままだとsorting layerが効かないということでした。
そこでMaterialのShaderをSprite/Defaultにしてみます。

スクリーンショット 2021-11-01 21.31.47.png

これで無事にorder in layerが効くようになりました。

スクリーンショット 2021-11-01 21.27.23.png
※針の右半分にorder in layerが最大のスプライトを付けているため、右半分は糸が後ろになっています。

 おまけ

今回のバグを直して作ったゲームです。
Androidのみですが遊んでもらえたら嬉しいです。
https://play.google.com/store/apps/details?id=com.Hayatoya.Itotosi2020

 

針と糸【ゲームリリース】

針と糸というゲームをリリースしました。

Androidのみ対応です。

 

play.google.com

 

糸を針の穴に通し続け、通った針の数がスコアになり最高記録を目指すゲームです。

 

オンラインランキングで世界中のプレイヤーとスコアを競えます。

 

画面をタッチしている間は上に動き、離すと下に動きます。

 

とにかくシンプルで遊びやすいゲームを目指しました。

 

広告はバナー広告のみです。

 

ぜひプレイしてみてください。

配信アプリのプライバシーポリシー

私が配信するアプリでは、広告配信を目的として以下の広告配信業者がご利用者の情報を自動取得する場合があります。この情報から個人が特定されることはありません。取得する情報、利用目的、第三者への提供などにつきましては、以下の広告配信事業者のアプリケーション・プライバシーのリンクよりご確認ください。

 

AdMob (Google Inc.)

広告 – ポリシーと規約 – Google

配信アプリのプライバシーポリシー

私が配信するアプリでは、広告配信を目的として以下の広告配信業者がご利用者の情報を自動取得する場合があります。この情報から個人が特定されることはありません。取得する情報、利用目的、第三者への提供などにつきましては、以下の広告配信事業者のアプリケーション・プライバシーのリンクよりご確認ください。

 

AdMob (Google Inc.)

広告 – ポリシーと規約 – Google

dpとspの違い【Kotolin/Android Studio】

Kotlin/AndroidStudioでのAndroidアプリ開発では、サイズ指定にpxは使いません。

これは、端末ごとに画面密度が違うAndroidには不向きだからです。

代わりにdpとspを使うのでこれを説明します。

 

dpはDecsity-Independen Pixelの略で密度非依存ピクセルのことです。

画面密度が異なっていても、同じような見た目を表示されるようにOSがサイズを計算してくれる単位です。

 

spはScale-independent Pixelの略で、スケール非依存ピクセルのことです。

画面密度の違いに加え、ユーザーが設定した文字サイズも考慮し、OSが表示サイズを計算してくれる単位です。

 

用途としては、ビューやビューグルーにはdpテキストサイズにはspを使い分けます。

 

Kotlinの変数宣言時のエラー

KotlinでFloatを宣言しようとした際にエラーが起きました。

var f: Float = 2.3

これを実行すると以下のエラーが出ます。

error: the floating-point literal does not conform to the expected type Float

 

原因はリテラルの型が違うからでした。

Kotlinでは添字なしのリテラルの整数はInt、小数はDoubleになります。

FloatにDoubleを入れようとしていたためエラーになっていました。

 

なので以下のように修正します。

 

var f: Float = 2.3f

 

これでエラーなくFloat型変数を宣言できました。

 

Double型なら添字なしで型が一致するので宣言できます。

var d: Double = 5.2