はじめに Steamでは体験版を公開したときに、ウィッシュリストに追加してくれている人達に、以下のようなメールを一斉送信する事が出来ます。 ただし、リリース時と違って手動で送信する必要があるので、今回はその方法の紹介です! メールを一斉送信する方法
個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。
個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。
体験版公開時、ウィッシュリストに追加した人にメールを一斉送信する方法と、送信するタイミング【Steam】
はじめに Steamでは体験版を公開したときに、ウィッシュリストに追加してくれている人達に、以下のようなメールを一斉送信する事が出来ます。 ただし、リリース時と違って手動で送信する必要があるので、今回はその方法の紹介です! メールを一斉送信する方法
Claude CodeをUnity×Riderに導入し、AIにプログラムを書いてもらう方法(Mac)【Unity】【JetBrains Rider】【AI】
この記事でのバージョン Unity 6000.0.34f1 JetBrains Rider 2025.1.3 Claude Code 11.3.0 はじめに 今回はAnthropic製のAIコーディングアシスタント「Claude Code」を Unity×Rider(Mac)で使う方法の紹介です! 以前紹介した、GitHub×OpenAIが提供するAIのコーディング支援機能「GitHub Copilot」は、コードの補完を支援する感じの使い方でしたが、 Claude Codeはテキスト(日本語でもOK)で指示して、コードの修正や作成を行わせる感じで、コードを自分でガッツリ書いてくれます。使い方…
体験版(デモ)を製品版のストアページの上に表示する方法【Steam】
はじめに 先日、現在Steam向けに開発中の「孤独なインディーゲーム開発者の一生」の体験版を出しました。 この時、体験版の専用ストアページを作ったのですが、 製品版の方には体験版が表示されていませんでした。という事で今回は体験版を製品版のストアページの上に表示する方法の紹介です! 体験版を製品版のストアページの上に表示する方法
「孤独なインディーゲーム開発者の一生」の体験版(Steam Nextフェス用)を公開しました!【新作】【Steam】
現在Steam向けに開発中の「孤独なインディーゲーム開発者の一生」の体験版を出しました!ゲーム内の年齢で30歳〜35歳(1時間ぐらい)までプレイ出来る感じです。 【孤独なインディーゲーム開発者の一生】の体験版をリリースしました!(Steam Nextフェス用の期間限定)https://t.co/JfmJJXHPTHぜひ遊んでもらえると嬉しいです!ウィッシュリスト追加でさらに嬉しいです!!レビューまでかいて頂けたら喜悦の極みでございます!!!!#SteamNextFest pic.twitter.com/poYWG54xLE— カン@ゲームクリエイター(Unity/Steam/スマホアプリ/UE…
Text Animatorで前のテキストが一瞬表示されしまう場合の対処法【Unity】【アセット】【Text Animator】
この記事でのバージョン Unity 6000.0.34f1 はじめに 以前テキストにアニメーションを追加したり、 文字送り(文字を最初から順番に表示する)を実装出来たりする、 Text Animatorというアセットを紹介しました。 今回はそのText Animatorを使ってる際に、一度テキストを消してから再度表示しようと思ったら、前のテキストが一瞬表示されしまう場合の対処法です! Text Animatorで前のテキストが一瞬表示されしまう場合の対処法 実はこの問題の対処法は公式のドキュメントに書いてあったりします。 追伸: キャンバスの設定によっては、テキストが 1 フレームだけちらつく…
Steamのストアを多言語対応(ローカライズ)する際の各種設定方法と確認方法【Steam】
はじめに 今回はタイトル通り、Steamのストアを多言語対応(ローカライズ)したい時に、どこから設定するのか、どうやってそれを確認するのかという紹介です! Steamのストアを多言語対応(ローカライズ)の設定方法と確認方法
Steamの開発者・パブリッシャーホームページへのリンクが楽になった話【Steam】
はじめに Steamには開発者やパブリッシャー専用のページである開発者・パブリッシャーホームページという物があります。 このページにはリリースした全ゲームの一覧(載せないゲームを選ぶ事も可)、最新作のゲーム、現在セール中のゲーム、自分のゲームの中だけでの売上ランキング等を載せる事が出来ます。また、TwitterやYoutubeへのリンク、ページ自体のフォロー機能もあります。(ページをフォローしてくれたユーザに新作が出た時等に通知を飛ばす事も可能) さらにSteamの各ゲームのページにある開発元やパブリッシャーのリンクから専用のページに飛べるようにもなります。(このページを設定していない場合は検…
Steamの体験版は左上に専用のマークが表示され、そのマークとタイトルが被るとリジェクトされる【Steam】
Steamは無料の体験版(Demo)を配信することができ、製品版とは別に専用のストアページを作成する事も可能です。 もちろん、ストアページを別に用意するということはそれ用の画像素材も必要になるのですが、製品版と同じ物でも基本大丈夫です。 ただし、体験版は左上に専用のマークが付くため、これとタイトルが被るとリジェクトされます。なので、素材の修正が多少は必要になるかもしれません。 なお、実際リジェクトされると以下のように指摘されます。 ストアページは審査に通過しませんでした。カプセル画像に「Demo」バナーが重なり、製品名が隠れてしまっているためです。カプセル画像は Steam ストア内のさまざま…
はじめに Steamは無料の体験版(Demo)を配信することが出来ます。 The Hundred Line -Last Defense Academy- Demo Ver. on Steam 今回は、その体験版の設定方法の紹介です! 体験版の設定方法
Steamの体験版(Demo)は製品版とは別に専用のストアページを作ったほうがいいのか?【Steam】
はじめに Steamは無料の体験版(Demo)を配信することが出来ますが、↓のように製品版とは別に専用のストアページを作成する事も可能です。 The Hundred Line -Last Defense Academy- Demo Ver. on Steam と言う事で今回は、体験版は製品版とは別に専用のストアページを作ったほうがいいのか?という話! なお、先に結論だけ言ってしまうと、「基本は別のストアページ作った方が良いけど、やる事増えてちょっとめんどくさい」という感じです。 体験版は製品版とは別に専用のストアページを作ったほうがいいのか
ノーマルマップを合成する無料ツール NormalMapMerger【便利サービス】
3Dモデルを扱う時には凸凹などを表現するためにノーマルマップ(法線マップ)という物がよく使われ、画像からノーマルマップを生成するツールなんてのもあります。 今回はそのノーマルマップを合成するNormalMapMergerという無料サービスの紹介です! 以下のように異なるノーマルマップ(サイズが違くてもOK)を一つにするものです。 使い方も簡単、ページ上部の「ファイルを選択」で画像を選ぶだけで合成され、下部の「合成画像をダウンロード」からダウンロード出来ます。 これ使えば、最初から凹凸のあるモデルに、新たに別の凹凸を足すことが簡単に出来ます。(変えたのはノーマルマップだけで、テクスチャは変えてい…
平坦な画像でも立体感が出しやすいノーマルマップ生成ツール Normal map generator【便利サービス】
はじめに 3Dモデルを扱う時には凸凹などを表現するためにノーマルマップ(法線マップ)という物がよく使われます。 今回はそのノーマルマップを簡単に作れるNormal map generatorというツールの紹介です! なお、Windows限定で有料(と言っても500円)です。ちなみに以前、無料でノーマルマップが作れるサービスも紹介しましたが、 元の画像が平坦だと特に、今回紹介するツールの方が良い感じでした。(左が以前の無料ツールのもの、右が今回紹介するもの) Normal map generator
カメラにどのポストプロセスが使われているか、Rendering Debuggerで簡単に確認する方法【Unity】
この記事でのバージョン Unity 6000.0.34f1 (URP 17.0.3) はじめに Unityは3Dでも2Dでも簡単にポストプロセス(Post Processing)を使う事が出来ますが、 今回はどのポストプロセスが使われているか、簡単に確認する方法の紹介です! カメラにどのポストプロセスが使われているか、簡単に確認する方法
X(Twitter)に載せるURLを短くするためにBitlyを使ってたけど、広告出るようになったのでX.gdに変えた話【便利サービス】
はじめに 「X(Twitter)の自己紹介欄にURL載せたいけど、文字数制限厳しいので載せられない!」そんな時にBitlyというURL短縮サービスを使うと良いよという話を以前したのですが、 しかし、Bitlyは残念なことにたまに広告が出るようになってしまいました。(短縮URLをクリックすると、クッションページが表示される感じ。必ず出るわけではない) 有料プランにすれば解決するのですが、そこまで重要な使い方をしてるわけでもないので、今回は代替となるX.gdというURL短縮サービスの紹介です! ちなみに国産の非営利のサービスらしく、会員登録や有料プランはありません。 X.gdの使い方
値型にnullを設定出来るNullable型(null許容型)【C#】
この記事でのバージョン Unity 6000.0.34f1 はじめに C#で値型の変数にnullを入れたいみたいな事がたまにあります。例えば以下のようなメソッドで「xは常時指定したい、yは基本指定しない」という時です。 public void Sample(int x, int y){ /*xの処理は毎回する*/ /*yの処理は基本しないが、たまにする)*/ } オーバーロードでも実現は可能ですが、メソッドが増えるのがちょっと微妙です。 public void Sample(int x, int y) { /*yの処理をここでする*/ Sample(x); } public void Samp…
Unity Cloud Diagnosticsをエディタ上や開発ビルドでは止める(レポートを送らない)方法【Unity】【Unity Services】
この記事でのバージョン Unity 6000.0.34f1 はじめに UnityにはUnity Servicesという無料でもある程度使えるサービス群があり、その中に、エラーやクラッシュを監視するUnity Cloud Diagnosticsがあります。 しかし、このUnity Cloud Diagnosticsはデフォルトの状態で使うと、エディタ上や開発ビルドでもエラーも記録してしまうため、不要なログが溜まりがちです。 という事で今回はUnity Cloud Diagnosticsをエディタ上や開発ビルドでは止める方法の紹介です! Unity Cloud Diagnosticsをエディタ上や…
最近のUnity Cloud DiagnosticsやAnalyticsの導入はPackage Managerから【Unity】【Unity Services】
この記事でのバージョン Unity 6000.0.34f1 Unity Services UnityにはUnity Servicesという無料でもある程度使えるサービス群があり、 以前はServicesという専用のウィンドウから有効にしていました。 しかし最近のUnity(Unity 2022.1辺りから?)では、このServiceというウィンドウはなくなり、PackageManagerからInstallする形式になっていました。 一瞬どこから導入するのか分からなかったのですが、他のパッケージと同じ所で管理出来るようになったのは分かりやすくなった気がします。
スプリングセール開催!約300のアセットが50%オフ!一部のアセットが日替わりで70%になるフラッシュディールも同時開催中!【Unity】【アセット】
はじめに Unity Asset Storeにてスプリングセールが始まっています!(期間 : 2025年5月8日23:59:59まで) 約400ものアセットが50%オフになっている上に、 Unity Asset Store - スプリングセール 24時間限定で最大70%オフにもなるフラッシュディールも同時開催されています! Unity Asset Store - フラッシュディール 今回はこのセールに便乗して、今まで書いた「アセット紹介記事の中からセール対象になっているもの」をまとめてみました! 目次 はじめに 目次 エディタ拡張系アセット Hot Reload : コードの変更しても…
Googleフォーム(Google Forms)の多言語(ローカライズ)対応【Google Forms】
はじめに 今回はGoogleフォーム(Google Forms)で、多言語(ローカライズ)に対応する方法の紹介です! と言っても、Googleフォーム自体には作成者が設定した質問などを多言語対応する機能はありません。(※送信や必須などのデフォルトのUIは自動で翻訳される) かといって言語ごとにフォームを複数作るのは管理が面倒ですし、「名前 / Name」のように併記するのも言語が増えてくると現実的ではありません。 ということで、今回紹介するのは最初に言語選択をして、セクションを変える方法です。 Googleフォームの多言語対応
UnityのUI(uGUI)上で動画を再生する方法 【Unity】【uGUI】
この記事でのバージョン Unity 6000.0.34f1 はじめに 今回はUnityのUI(uGUI)上で動画を再生する方法の紹介です! UnityのUI(uGUI)上で動画を再生する方法
Newtonsoft.Json(Json.NET)をUnityで使う【Unity】
この記事でのバージョン Unity 6000.0.42f1 Newtonsoft.Json 3.2.1 はじめに UnityにはJsonUtilityというJSONデータを手軽に扱えるクラスがありますが、 JsonUtilityは手軽に扱える反面、機能がかなり少ないです。 という事で、今回はNewtonsoft.Json(Json.NET)というライブラリの紹介です! Newtonsoft.Json(Json.NET)
UnityのJsonUtilityでJSONの変換失敗を検知する方法【Unity】
この記事でのバージョン Unity 6000.0.42f1 はじめに UnityにはJsonUtilityというJSONデータを手軽に扱えるクラスがあります。 そんなJsonUtilityはJSONの形式がおかしいと以下のようにエラーを出します。ArgumentException: JSON parse error: Missing a name for object member. //Jsonから変換する用のサンプルクラス [System.Serializable] public class SampleData { public int number; public string tex…
バージョンの文字列(1.1や1.0.1など)のどちらが新しいかを判別する簡単な方法【C#】
この記事でのバージョン Unity 6000.0.34f1 はじめに ゲームのバージョンの表記は"1.1"や"1.0.1"など、ドット区切りで表記することが多いですが、今回はそのバージョンの新旧を比較する簡単な方法の紹介です! なお、Unityでの使用を想定しているためDebugを使っています。ちなみにUnityのプロジェクトのバージョンはUnityEditor.PlayerSettings.bundleVersionで取得できますが、エディタでしか確認出来ないので、ゲーム中に使いたい場合は定数かつ自動更新にしておくと便利です。 バージョンの新旧を比較する簡単な方法
TMPのSprite Assetに後から簡単に画像を追加するための運用方法【Unity】【TextMesh Pro】
この記事でのバージョン Unity 6000.0.34f1 はじめに UnityのTextMesh Proにはテキスト中に好きな画像を表示させる機能(Sprite Asset)がありますが、 テキスト中に表示させたい画像を一つにまとめる必要があるため、後から画像が追加する必要が出た場合がちょっと面倒です。 特に画像ごとに位置やサイズを調整したい場合はさらに面倒で、画像を新しくするたびに、再設定する必要があります。 ということで今回は、TMPのSprite Assetに後から簡単に画像を追加するための運用方法の紹介です! 余白を最初から用意しておく
Unity6からSprite ModeのデフォルトがMultipleになった話とPresetを使って戻す方法【Unity】
この記事でのバージョン Unity 6000.0.34f1 はじめに Unity6(Unity 2023.1?)からSprite ModeのデフォルトがMultipleになりました。 最初はバグかと思ったのですが、どうやら仕様変更らしいです。 The change was intended because based on the user feedback we gathered, users are more likely to use multple sprite mode compared to single sprite mode. この変更は、収集したユーザーからのフィードバックに…
設定したフォルダに入っているのに一部の画像がSpriteAtlasに設定されない【Unity】【SpriteAtlas】
この記事でのバージョン Unity 6000.0.34f1 はじめに Unity内で複数の画像を1枚にしたい時に便利なSpriteAtlasですが、 フォルダを設定し、その中の画像をいれているのに、なぜか一部の画像だけアトラスに含まれないという事がありました。 一部の画像がSpriteAtlasに設定されない原因 この原因は画像のSprite ModeがMultipleになっていて、 かつ、Spriteが設定されていないという事でした。 なので、Sprite ModeをSingleにするか、Sprite EditorでSpriteを設定すれば解決しました。
複数の画像をまとめて1枚の画像にして保存するエディタ拡張【Unity】【エディタ拡張】
エディタ拡張とは この記事でのバージョン Unity 6000.0.34f1 はじめに ゲーム開発では小さい画像をそのまま使うという事は少なく、だいたい大きな画像にまとめて使います。そしてUnityでは画像をまとめたい時は、基本的にSpriteAtlasを使います。 ただ、TextMesh Proの中で画像を表示したい場合は、SpriteAtlasは使えず、ファイルとして一つの画像にする必要があります。 今回はそんな時に使える、複数の画像をまとめて1枚の画像にして保存するエディタ拡張の紹介です! 複数の画像をまとめて1枚の画像にして保存するエディタ拡張
TMPでSprite Assetの画像が表示されない時にマテリアルが設定されてなかった話【Unity】【TextMesh Pro】
この記事でのバージョン Unity 6000.0.34f1 はじめに UnityのTextMesh Proにはテキスト中に好きな画像を表示させる機能(Sprite Asset)がありますが、 これがなぜか表示されない事ありました。 上記の導入記事を一通り確認しても問題が見当たらなかったのですが、アセットをよくみると、Default MaterialがNoneになっており設定されていませんでした。 なお、UnityのメニューからSprite Assetを作ると設定されているのですが、エディタ拡張のプログラムから作成したので、設定されていなかったようです。もちろん、設定し直したら表示されるようにな…
floatをintにキャスト(変換)する時の(int)とMathf.FloorToIntの挙動の違い【Unity】【C#】
ゲームを作ってるとfloatをintにキャスト(変換)したい事はよくあります。小数部分を切り捨てたい場合、Unityでは主に(int)とMathf.FloorToIntという選択肢があります。 この2つ、正の値なら結果に変わりはないのですが、 float value1 = 1.2f; float value2 = 3.9f; Debug.Log($"{value1}(float)をint化, FloorToInt : {Mathf.FloorToInt(value1)}, (int) : {(int)value1}"); Debug.Log($"{value2}(float)をint化, Fl…
RiderでTODOのようなオリジナルのコメントパターンを設定し、記載した所を一覧で表示する方法【JetBrains Rider】
この記事でのバージョン JetBrains Rider 2024.1.2 はじめに Unityでも使える便利なエディタにJetBrains(会社名)のRiderというのがあります。 Riderは色々と機能が豊富で開発効率が段違いになるので、今ではRider無しでは開発が考えられないぐらいです。 このRiderはTODOやBUGと記載したコメントは普通のコメントとは別の色で表示され、 後から一覧で確認する事が出来ます。 さらにオリジナルのパターンを設定する事も出来るので、今回は設定方法の紹介です! Riderでオリジナルのコメントパターンを設定する方法
TMPでテキスト内の特定の文字や、数字の位置(座標)を取得する方法【Unity】【uGUI】【TextMesh Pro】
この記事でのバージョン Unity 6000.0.34f1 はじめに 今回はUnityのTMP(TextMesh Pro)で特定の文字や、数字の位置(座標)を取得する方法の紹介です!これを使えば「テキスト内の数字の場所に他の数字テキストを飛ばす」みたいな事がテキストのオブジェクトを分けずに実装出来ます。 TMPでテキスト内の特定の文字や、数字の位置(座標)を取得する方法
Text Animatorでオリジナルのタグ(カスタムアクション)を実装する方法【Unity】【アセット】【Text Animator】
この記事でのバージョン Unity 6000.0.34f1 Text Animator 2.2.1 はじめに 以前テキストにアニメーションを追加したり、 文字送り(文字を最初から順番に表示する)を実装出来たりする、 Text Animatorというアセットを紹介しました。 Text Animator for Unity - Unity Asset Store このText Animatorには待ち時間や文字送り速度を変えるタグも用意されていますが、 2.5秒待ちますよ。<waitfor=2.5> 2.5秒待ちました! オリジナルのタグとその処理を実装する事も可能です。 オリジナルタグの前、この…
Text Animatorでタグを使って待ち時間や文字送り速度を変える方法【Unity】【アセット】【Text Animator】
この記事でのバージョン Unity 6000.0.34f1 Text Animator 2.2.1 はじめに 以前テキストにアニメーションを追加したり、 文字送り(文字を最初から順番に表示する)を実装出来たりする、 Text Animatorというアセットを紹介しました。 Text Animator for Unity - Unity Asset Store 今回はこのText Animatorでタグを使って待ち時間や文字送り速度を変える方法の紹介です!イメージとしては以下のような感じ。 月間売上本数ランキングは<1.5秒待ち>…<1.5秒待ち>…<3秒待ち><文字送り速度4倍>6,544位!…
Text Animatorを一時的に止める方法 【Unity】【アセット】【Text Animator】
この記事でのバージョン Unity 6000.0.34f1 はじめに 以前テキストにアニメーションを追加したり、 文字送り(文字を最初から順番に表示する)を実装出来たりする、 Text Animatorというアセットを紹介しました。 Text Animator for Unity - Unity Asset Store 今回はこのText Animatorを一時的に止める方法の紹介です! Text Animatorを一時的に止める方法
TextMeshProからタグがない状態のテキストを取得する GetParsedText【Unity】【uGUI】【TextMesh Pro】
この記事でのバージョン Unity 6000.0.34f1 はじめに UnityのTMP(TextMesh Pro)はタグを使って色々な装飾が出来ます。 そしてtextを参照すると、タグ付きの文字列が取得できます。 //タグ付きの文字列を取得 var text = _tmp.text; しかし、場合によってはタグがない状態の文字列、つまり表示されたままのテキストを取得したい場合もありますが、そんな時はGetParsedTextというメソッドが便利です。 //タグが付いてない文字列を取得 var text = _tmp.GetParsedText(); 例えば、タグ付きの文字列を設定したText…
TextMeshProなどのタグ付きテキストを、Consoleのログにそのまま表示する簡単な方法【Unity】【uGUI】【TextMesh Pro】
この記事でのバージョン Unity 6000.0.34f1 はじめに UnityのTMP(TextMesh Pro)はタグを使って色々な装飾が出来ますが、 そのテキストのログを普通に出そうとしても、タグの部分は表示されません。 //TMPのテキスト(タグ付き)の内容をログで表示 Debug.Log($"TextMeshProの内容 : {_text.text}"); という事今回はタグ付きテキストを、Consoleのログにそのまま表示する方法の紹介です! タグ付きテキストを、Consoleのログにそのまま表示する方法
Unityの再生/停止に合わせてApple Musicを自動停止/再開するエディタ拡張【Unity】【エディタ拡張】【Mac】
エディタ拡張とは この記事でのバージョン Unity 6000.0.34f1 はじめに 好きな音楽を掛けながらゲーム開発をしていると、ゲームを再生した時にゲームの音と重なってしまうみたいな事があります。 今回はそんな問題を解決する「Unityの再生/停止に合わせてApple Musicを自動停止/再開する」というエディタ拡張の紹介です!なお、Mac&Apple Music限定です。 Unityの再生/停止に合わせてApple Musicを自動停止/再開する」
Unityエディタの全ての音がミュート(無効)になってるかの判定と切り替え【Unity】【エディタ拡張】
エディタ拡張とは この記事でのバージョン Unity 6000.0.34f1 はじめに UnityはGameビューのスピーカーのマークから、全ての音をミュート(無効)に出来ます。 今回はこのミュートが有効になってるかプログラムで確認したり、プログラムからミュート状態を変更したりというエディタ拡張の話です。 と言っても、EditorUtilityのaudioMasterMuteで簡単に確認出来ますし、 using UnityEditor;//EditorUtilityを使うのに必要 //ミュート状態の確認(trueならミュート = 音が鳴らない状態) Debug.Log($"EditorUtil…
特定のアセットの変更や移動、削除を禁止したり確認を出したり出来る AssetModificationProcessor【Unity】【エディタ拡張】
エディタ拡張とは この記事でのバージョン Unity 6000.0.34f1 はじめに UnityはAssetPostprocessorを使えば、アセットが変更され後の処理を実装する事可能ですが、 あくまで変更された後なので、変更をキャンセルしたりはできません。 という事で今回は、アセットの変更や移動、削除を禁止したり確認を出したりする方法の紹介です。「このアセットは基本的に削除や移動してほしくない」みたいな時に役立ちます。 アセットの変更や移動、削除を禁止したり確認を出したりする方法
オブジェクトをエディタ専用(ビルド時は自動で消える)に出来る、EditorOnlyタグの使い方と注意点【Unity】
この記事でのバージョン Unity 6000.0.34f1 はじめに Unityでゲームを開発している時に「エディタ上でしか使わないデバッグ用のオブジェクト(ビルド時は消したい)」みたいな物を使いたくなる事がよくあります。 今回はそんな時に使える、EditorOnlyというタグの紹介です! EditorOnlyの使い方と注意点
UniTaskのRunOnThreadPoolを使って非同期でファイルを書き込み、成功と失敗の判定込みで完了を待つ方法【Unity】【UniTask】
この記事でのバージョン Unity 6000.0.34f1 はじめに 今回はUnityでファイルを書き込む時に非同期かつ、成功と失敗の判定込みで完了を待つ方法の紹介です! 大容量のファイルの保存のようにメインスレッドがブロックされて、フリーズしそうな時や、セーブデータの保存など、書き込みに失敗した時にそのままにするとマズい時に使えます。 非同期でファイルを書き込み、成功と失敗の判定込みで完了を待つ方法
はじめに 僕はゲーム開発を生業にしていて、その中でも少人数や個人で作るゲーム、いわゆるインディゲームでご飯を食べて生きていこうという、頭のおかしいスリリングな生き方をしています。 個人ゲーム開発者のお金と時間に焦点を当てたシミュレーションゲーム【孤独なインディーゲーム開発者の一生】のSteamストアページを公開しました🎉ぜひウィッシュリスト追加をお願いいたします!https://t.co/oms4JGOfIs「死ぬまでにあと何本作れるだろう」「売れなかったらどうしよう」… pic.twitter.com/EdbgeTSkut— カン@ゲームクリエイター(Unity/Steam/スマホアプリ/U…
ビルド時にシーンに対して処理を行える IProcessSceneWithReportのOnProcessScene【Unity】【エディタ拡張】
エディタ拡張とは この記事でのバージョン Unity 2022.3.32f1 はじめに Unityでゲームを作ってる際に、「ビルド時に特定のオブジェクトだけ消したい」「ビルド時にシーンのオブジェクトやコンポーネントをチェックしたい」というようにビルド時にシーンに対して何か処理を行いたいみたいな事があります。 今回はそんなときに使える、IProcessSceneWithReportのOnProcessSceneの紹介です! ビルド時にシーンに対して処理を行う
Unityエディタのテーマ(スキン)をダークにする方法 (Personalライセンスでも可)【Unity】
この記事でのバージョン Unity 2022.3.32f1 はじめに Unityにはライト(Light)とダーク(Dark)の2つのテーマ(スキン)があります。 ちょっと前まではダークは有料ライセンス限定だったのですが、現在は無料のPersonalライセンスでも使う事が出来ます。という事で今回はUnityエディタのテーマをダークにする方法の紹介です! Unityエディタのテーマをダークにする方法
Text Animatorで文字送り中に文字に合わせてSE(効果音)を鳴らす方法【Unity】【アセット】【Text Animator】
この記事でのバージョン Unity 2022.3.32f1 はじめに 以前テキストにアニメーションを追加したり、 文字送り(文字を最初から順番に表示する)を実装出来たりする、 Text Animatorというアセットを紹介しました。 Text Animator for Unity - Unity Asset Store 今回はこのText Animatorで「表示される文字に合わせてSE(効果音)を鳴らす」というゲームでよくあるやつを実装する方法の紹介です! Text Animatorで文字送り中に文字に合わせてSE(効果音)を鳴らす方法
Text Animatorで文字送り中に全文表示する方法、文字送り中かを判定する方法【Unity】【アセット】【Text Animator】
この記事でのバージョン Unity 2022.3.32f1 はじめに 以前テキストにアニメーションを追加したり、 文字送り(文字を最初から順番に表示する)を実装出来たりする、 Text Animatorというアセットを紹介しました。 Text Animator for Unity - Unity Asset Store 今回はこのText Animatorで「ボタンを押した(タップした)時に、文字送り中なら全文表示する」「ボタンを押した(タップした)時に、文字送りが終わっていたら次のテキストを表示し始める」というノベルゲームなどでよくあるやつを実装する方法の紹介です! Text Animato…
UniTaskで任意のタイミングでタスクを完了できる UniTaskCompletionSource【Unity】
この記事でのバージョン Unity 2022.3.32f1 UniTask 2.5.5 はじめに UnityはUniTaskというパッケージを使えば「待つ」という処理が簡単に実装出来ます。 例えば「1秒待機」「メソッドの処理が終わるまで待つ」みたいな事も以下のような感じに。 private async UniTaskVoid Start(){ //SampleMethodの処理が終わるのをまってから後続処理をする await SampleMethod(); /*後続の処理*/ } public async UniTask SampleMethod() { /*なにか処理1*/ //1秒待機 a…
Unity系技術ブログの週2更新を10年続けて、いくら稼げたのか【お金】【ブログ運営】
はじめに 今回は当ブログ(:3[kanのメモ帳]の2024年の収益とついでにPVも公開しちゃおうという感じの記事! ここら辺の数値は日頃まとめたり、比較したりという事をほとんどしてないので、自分のためにも、1年に1度ぐらいは確認しておこうという感じの記事です。 ちなみに今年で8回目。 2017年 (ほぼ)Unityの技術ブログを週2で3年更新し続けて、いくら稼げたのか【Unity】【お金】【雑記】【ブログ運営】 - (:3[kanのメモ帳] 2018年 Unity関連の技術ブログ、kanのメモ帳の2018年の収益と広告枠販売開始のお知らせ【お金】【広告】 - (:3[kanのメモ帳] 2019…
はじめに 新年明けましておめでとうございます!今年もよろしくお願いします!! さてさて年明けという事で、今回は開発関連の去年の振り返りと今年の抱負みたいなものを書いちゃおう、という感じの記事です。 なお、誰かに向けて書いてるというよりは、去年がどんな年だったか忘れないため、自分の考えをまとめるため、来年の自分に向けて書いてる、みたいなやつです。 ちなみに今年で8回目。 2017-2018年 2017年の振り返りと2018年の抱負【雑記】 - (:3[kanのメモ帳] 2018-2019年 2018年の振り返りと2019年の抱負【雑記】 - (:3[kanのメモ帳] 2019-2020年 201…
Unity関連の技術ブログ、kanのメモ帳の2024年人気記事トップ10【雑記】【ブログ運営】
はじめに 今年も無事に週2の更新を継続し、この記事を含めて計105本投稿する事が出来ました!そしてなんと10年連続で100本以上の記事を書けました! そして今回は2024年の記事の中で人気だったものをランキング形式で再度紹介しようという試み。ちなみに2018年~2023年のランキングは以下の通り。 2018年 2019年 2020年 2021年 2022年 2023年 なお、順位は今までは、はてなブックマーク数だったのですが、なぜか今年は、はてなブックマークが全然なかった(コメント表示をミスでオフにしてたから?)ので、PV(表示回数)でランキングを付けてみました。 なお、順位は2024年12月…
ImageやText(TMPも)にアニメーションエフェクトが簡単に付けられる UIEffectTweener【Unity】【uGUI】
この記事でのバージョン Unity 2022.3.32f1 UIEffect 5.0.0 はじめに 以前、UGUIのImageやText(TMPも)を装飾するUIEffectという無料パッケージの紹介をしました。 今回はそのUIEffectに含まれるUIEffectTweenerというコンポーネントの紹介です!(UIEffect自体の導入や、基本的な使い方は上記の記事を参照の事) UIEffectTweenerは名前の通り、UIEffectの装飾をTweenでアニメーション化するもので、「1秒かけてテキストや画像を徐々に燃えるように消す」みたいな事が簡単に出来ます。 なお、記事中では以下のアセ…
はじめに 「みんなちがって、みんないい」 金子みすゞ氏の詩として有名なこの言葉は、広く受け入れられている理想的なフレーズかもしれません。 実際、耳障りはとても良く、誰もが肯定される平和な世界が思い浮かびます。でも、現実的にはなかなか難しいものです。 なぜなら、人と違って当たり前という事を理解出来ても、その"違い"、特に自分が嫌だと思う価値観を受け入れられる人はそう多くはないからです。 その証拠に、他人の違う価値観に苛立って、攻撃的な言葉を投げつけている場面など日常茶飯事です。(特にネット上では) 僕は個人ゲーム開発者として活動しているのですが、この界隈でも、他人のゲームや活動の仕方に対して、わ…
Unityだけで自由な曲線のメッシュ(3Dモデル)を作る方法 【Unity】【Splines】
この記事でのバージョン Unity 2022.3.32f1 Splines 2.5.2 はじめに 以前、Unityのシーン上で簡単になめらかな曲線を作れるSplines(スプライン)の紹介をしました。 今回はそのSplinesを使って、自由な曲線の3Dモデル(メッシュ)を作る方法の紹介です!(導入や使い方は上記の記事を参照の事) Unityだけで自由な曲線の3Dモデル(メッシュ)を作る方法
指定したルートに沿ってオブジェクト(Prefab)をランダムに配置する方法 【Unity】【Splines】
この記事でのバージョン Unity 2022.3.32f1 Splines 2.5.2 はじめに 以前、Unityのシーン上で簡単になめらかな曲線を作れるSplines(スプライン)の紹介をしました。 今回はそのSplinesを使って、指定したルートに沿ってオブジェクト(Prefab)をランダムに配置する方法の紹介です!(導入や使い方は上記の記事を参照の事) なお、記事中では以下のアセットを使っています。 Low Poly Ultimate Pack 3D Props Unity Asset Store 指定したルートに沿ってオブジェクトをランダムに配置
Unityのシーン上で簡単になめらかな曲線を作れるSplines(スプライン)の導入と基本的な使い方 【Unity】【Splines】
この記事でのバージョン Unity 2022.3.32f1 Splines 2.5.2 はじめに Unity 2022.1にSplinesという公式パッケージが追加されました。 Splinesとは、ざっくり言うと3D空間上に「なめらかな曲線」を設定するための仕組みで、その曲線に合わせてオブジェクトを移動させたり、配置したりと色々と便利な使い方が出来ます。(もちろん2Dでも使おうと思えば使える) 今回はそのSplinesの導入と、基本的な使い方の紹介です! なお、記事中では以下のアセットを使っています。 Low Poly Ultimate Pack 3D Props Unity Asse…
ImageやText(TMPも)を装飾するUIEffectがv5になってさらに使いやすく&強力に!【Unity】【uGUI】
この記事でのバージョン Unity 2022.3.32f1 UIEffect 5.0.0 はじめに 以前、UIEffectという無料(MIT License)で公開されているアセットを使って、画面全体をディゾルブ(トランジション、フェード)させて切り替える方法を紹介しました。 そのUIEffectにv5が出ていたので、今回はその紹介です!ちょっと触った感じ、さらに使いやすく強力になっているようでした。(原文は英語なので、ChatGPTでの翻訳を載せておきます) UIEffect v5の主な特徴 UIEffectはすぐに使える!:インスペクターでパラメーターを調整するだけで、簡単にエフェクトを適…
PC1台(Unity1つ)でマルチプレイを簡単に確認出来る Multiplayer Play Modeの導入と使い方【Unity】
この記事でのバージョン Unity 6.0.23f1 Multiplayer Play Mode 1.3.2 はじめに UnityにはMultiplayer Play Modeという、Unityエディタ上で同時に複数のゲームが起動出来る機能があります。(※現状はUnity6用) イメージとして以下のような感じで、Unityエディタ以外に3つまでゲームウィンドウを表示でき、それぞれが別々のゲーム(プレイヤー)という感じです。 一つのPC&Unityで簡単にマルチプレイがチェック出来るので、オンラインゲーム開発時には重宝する事間違いないしです。今回はこれを試してみようという感じの記事です。 Mul…
インスタンスが作れてSystem.Randomよりも高速なUnity.Mathematics.Randomの使い方と速度比較【Unity】
この記事でのバージョン Unity 2022.3.32f1 はじめに UnityにはUnityEngine.Randomという乱数を生成出来るクラスがあり、 簡単にランダムな値を取得する事が出来ます。 Debug.Log($"乱数 : {Random.Range(0, 100)}"); Debug.Log($"乱数 : {Random.Range(0, 100)}"); Debug.Log($"乱数 : {Random.Range(0, 100)}"); ただし、Staticなクラスなため、「インスタンスを生成して処理ごとに乱数を分ける」事が出来ません。 なので、インスタンスを生成したい場合は…
Unity6はBuild SettingsがBuild Profileに。体験版用などの複数のビルド設定が可能に!【Unity】
この記事でのバージョン Unity 6.0.23f1 はじめに Unity6はBuild SettingsがBuild Profile(s)になりました。 今まで通り、そのままビルドも出来ますが、 Add Build Profileからビルド設定ファイル(プロファイル)が作れます。 そのProfileを選択肢、Switch Profileを押すと Active状態になり、Profileで設定した内容でビルド出来るようになります。 Profileでは今までBuild Settingsにあったビルド関連の設定もできますし、Customize player settingsを押すと、 Player …
ブラックフライデーセール開催!400以上の人気アセットが最大50%オフ!一部のアセットが日替わりで70%になるフラッシュディールも同時開催中!【Unity】【アセット】
はじめに アメリカでは感謝祭(11月の第4木曜日)の翌日はブラックフライデーと呼ばれるセールシーズンなんだそうです。そしてUnity Asset Storeでもブラックフライデーセールをやっています! (2024年12月2日1時59分まで) 400以上もの人気アセットが50%オフになっている上に、 Unity Asset Store - ブラックフライデーセール 一部のアセットが日替わりで70%オフになるフラッシュディールも同時開催されています! Unity Asset Store - フラッシュディール 今回はこのセールに便乗して、今まで書いた「アセット紹介記事の中からセール対象になっ…
文字列の数字の所だけ等間隔にする【Unity】【TextMesh Pro】
この記事でのバージョン Unity 2022.3.32f1 はじめに 普通のフォントは文字ごとに幅が違うので、金額等を並べるとカンマの位置がズレてちょっと不格好な感じになってしまいます。 こういう時、TextMesh Proならmspaceを使えば一部分だけ幅を固定できるのですが、 ただ、カンマや円など全ての文字が変わってしまうので、一括には設定できません。 つまり数字部分だけタグで囲いたいので、↓のようにしたいわけです。 "<mspace=0.55em>12</mspace>,<mspace=0.55em>345</mspace>円" 今回はこれを簡単に行えるメソッドを作ってみました。 指定…
はじめに もう10年以上前の話ですが、学生時代の僕は 「数年で独立するし、給料優先で就職先を選ぼう」 「お金好きだし、給料良ければ大抵の事は我慢出来るでしょ」 という感じで就職活動をしていました。 学生時代に個人開発でスマホアプリを作りまくってたおかげで就活は順調に進み、第一志望の某ソシャゲ企業にエンジニアとして内定を獲得。 しかも給料はなんと額面で月44万円、さらに家賃補助が月5万円もついて、年収約600万円という、かなり恵まれた条件でした。 ただ一つの想定外 入社後の4ヶ月ぐらいは研修期間でした。 良い意味で本物のコミュ強の人に会ってちょっと感動したり、逆に論理的思考が皆無の人に唖然とした…
stringがnull、空、または空白文字のみで構成されている「何も表示されない文字列」かを判定する方法【C#】
C#のstringには、文字列がnullまたは空文字かを判定するIsNullOrEmptyというメソッドがあります。 string text = ""; //文字列がnullまたは空文字か if (string.IsNullOrEmpty(text)) { /*textは空文字なのでここが実行される*/ } そして最近気付いたのですが、それに加えて空白文字だけで構成されているかも判定するIsNullOrWhiteSpaceというメソッドもありました。 string text = " "; //null、空、または空白文字のみか if (string.IsNullOrWhiteSpace(tex…
AdSenseを全て消してもPVは変わらなかった話と、GoogleのコアアルゴリズムアップデートでPVがちょっと戻った話【ブログ運営】
昨年、 本ブログは定期更新を続けているにも関わらず、PVが半減したという話をしたのですが、 それからずっとPVが減少した状態が続き、それに伴って広告収益も下がったので、「このままブログも見られるなくなるのかもな〜。もういっそ広告無くすか」「もしかしたら広告無くせばサイトも軽くなって検索順位とか上がるかもしれない」という感じで実は、6月中旬ぐらいからAdSenseを全て消していたりしました。 しかし、AdSense(広告)を消してもPVは戻らず、むしろさらに減っていきました。 本ブログは収益を得ることがメインではないとは言え、主目的にも多くの人に見られる程良いので、地道に続けても減っていくのであ…
無効化した時に無駄な文字列を生成しないログクラス【Unity】
この記事でのバージョン Unity 2022.3.32f1 はじめに ゲーム開発(というかプログラミング?)に欠かせないログの表示ですが、処理負荷の軽減や情報漏洩防止のためにリリース時には表示しないようにする事がほとんどです。 ただ、シンプルにログ表示メソッドだけを無効化すると以下のような処理結果に応じて長めのログを作る時は無駄な文字列を生成してしまいます。 var log = "テストでログ追加"; /*なんか色々処理*/ log += "\n処理をもとに追加"; /*さらに色々処理*/ log += " + さらにログ追加"; //ログ表示 Debug.Log(log);//ここを無効化し…
エディタ上に折れ線グラフを表示する【Unity】【エディタ拡張】
エディタ拡張とは この記事でのバージョン Unity 2022.3.32f1 はじめに Unityのエディタ拡張で、値の推移を確認するためにグラフを表示したいという事があり、ちょっと調べてみると以下の記事の方法で実現できそうでしたが、残念ながら汎用的に使える感じではありませんでした。 ということで今回は、上記の記事を参考に(というよりほぼそのままに)エディタ上で簡単に(折れ線)グラフを表示するクラスを作ったのでその紹介です! エディタ上にグラフを表示する EditorGraphViewer
Unity6からPersonalでもMade with Unityのロゴを非表示に出来るように【Unity】
この記事でのバージョン Unity 6.0.23f1 Unityの新バージョンであるUnity6から、なんと無料ライセンスであるPersonalでも起動時のMade with Unityのロゴ(スプラッシュスクリーン)を非表示に出来るようになりました! Unity Personal:昨年発表したとおり、Unity Personalは引き続き無料でご利用いただけます。これまで設定されていた総収益および調達金額の上限を現在の 10 万米ドルから倍の 20 万米ドルに引き上げます。これにより、より多くの方に Unity を無料でご利用いただけるようになります。また、年内に予定されている Unity …
「インディーゲームを作るゲーム」を作ろうと思ったら、コンセプトで詰んでた話【雑記】【ゲーム企画】
はじめに 現在Steam向けに【孤独なインディーゲーム開発者の一生】というゲームを作っています。 (記事のタイトルでは没になった感ありますが、鋭意制作中で面白い物が出来そうなので、この機会に是非ウィッシュリスト登録お願いします!🙇) #スーパーゲ制デー #screenshotsaturday個人ゲーム開発者シミュレーションゲーム【孤独なインディーゲーム開発者の一生】を開発中です!雰囲気が感じられる短めの動画作ってみました!ぜひウィッシュリスト登録お願いします🙇https://t.co/5ACpgWpUEo#indiedev #pixelart pic.twitter.com/888lpHgVR…
テキストを逆から(右から左に)文字送りして表示する【Unity】【DOTween】【TextMesh Pro】
この記事でのバージョン Unity 2022.3.32f1 はじめに UnityのTextMesh Proで1文字ずつテキストを表示する、いわゆる文字送りはDoTweenをはじめ、色々な方法で簡単に実現出来ます。 しかし、逆から(右から左に)文字を表示する方法は、意外と用意されていませんでした。と言う事で今回は、テキストを逆から(右から左に)文字送りして表示する方法の紹介です! テキストを逆から(右から左に)文字送りして表示する
Anchorsが異なるRectTransformに同じサイズを設定する方法【Unity】【uGUI】
この記事でのバージョン Unity 2022.3.32f1 はじめに UnityのuGUIで以下のような感じでRectTransformに同じサイズに設定したつもりが、違うサイズになってしまってるという事がありました。 //ウィンドウ1にサイズ指定、ウィンドウ2も同じサイズ(にしたつもり) _window1.sizeDelta = new Vector2(1000, 200); _window2.sizeDelta = _window1.sizeDelta; 今回はそんな時の対処法です! Anchorsが異なるRectTransformに同じサイズを設定する方法
TextAnimatorの文字送りで、特定の文字の時だけ待ち時間を変えて溜めを作る方法【Unity】【TextMesh Pro】【アセット】
この記事でのバージョン Unity 2022.3.32f1 はじめに 以前、テキストのアニメーションを簡単に実装出来る Text Animatorというアセットで、文字送り(文字を最初から順番に表示する)も簡単に実装する方法という紹介をしました。 今回はText Animatorで文字送りをさせる際に、特定の文字の時だけ待ち時間を変えて溜めを作る方法の紹介です! 特定の文字の時だけ待ち時間を変えて溜めを作る方法
TextAnimatorで最終的な表示に合わせて1文字ずつ文字送りする【Unity】【TextMesh Pro】【アセット】
この記事でのバージョン Unity 2022.3.32f1 はじめに 以前、テキストのアニメーションを簡単に実装出来る Text Animatorというアセットを紹介しました。 実はこのアセット、文字を動かすだけでなく、文字送り(文字を最初から順番に表示する)も簡単に実装出来たりします。 しかも、文字送りを実装する時にありがちな「表示される度にテキストの位置やサイズが変わってしまう」という問題が起きません。 という事で今回はTextAnimatorで文字送りを実装する方法の紹介です! Text Animator for Unity - Unity Asset Store TextAnimato…
テキストのアニメーションを簡単に実装出来る Text Animator【Unity】【TextMesh Pro】【アセット】
この記事でのバージョン Unity 2022.3.32f1 はじめに 今回はTextMeshProの文字を動かすアニメーションを簡単に実装出来るText Animatorというアセットの紹介です! Text Animator for Unity - Unity Asset Store 以下のような感じで、タグで囲うだけでその範囲の文字を動かせる優れ物です! ちなみにDredge、Cult of the Lambといった有名ゲームでも使われているようです。 使い方
TMPで表示する文字数やワード数、行数を簡単に設定する方法【Unity】【TextMesh Pro】
この記事でのバージョン Unity 2022.3.32f1 TextMeshProのmaxVisibleCharacters TextMeshProにはmaxVisibleCharactersという表示する文字数を指定するプロパティがあります。(Inspectorには表示されていない) //最初の7文字だけ表示する GetComponent<TextMeshProUGUI>().maxVisibleCharacters = 7; 同様に、表示するワード数を指定するmaxVisibleWordsや、表示する行数を指定するmaxVisibleLinesもあります。 これらはあくまで表示するものを変…
タプルを使った一時変数の要らない変数の値の入れ替え方【C#】
Riderを使ってC#(Unity)のプログラムを書いたら、 var tmp = a; a = b; b = tmp; というよくある変数の中身の入れ替えのコードに改善案の提示がありました。 実際に試してみると、以下のようなコードに変換されました。 (a, b) = (b, a); タプル(Tuple)を使う事によって、なんと一時変数(tmp)を使わずに値の入れ替えが出来るようです。 一応、そもそもタプル(Tuple)とはなんぞや?というのも書こうと思ったのですが、既にこのブログでも紹介していたようです。 そして、値の入れ替えについても既に紹介してました……!!(完全に忘れてた)
「このゲーム、〇〇したら絶対面白くなるのに」本当に?【雑記】【ゲーム企画】
はじめに 皆さんはゲームを遊んでいて、 「このゲーム、〇〇したら絶対面白くなるのに」 とか 「こんな仕様、無くした方が絶対楽しいよ」 みたいに思った事はありませんか? そのように愚痴をこぼしながらプレイするというのも一つの楽しみ方かもしれませんが、一歩進んで「なぜその仕様が無い(もしくは有る)のか」を考えてみるのも、実は面白かったりします。 (特にゲーム開発者の場合は他所の仕様の理由を考えるのは、企画の勉強や練習にもなるのでオススメ) 既に検討された上で却下されたものかもしれない
UIの裏側をボケさせてUIを見やすくしたい時は、ポストプロセスを使うのが楽でエフェクトも色々追加しやすい【Unity】【uGUI】【ポストプロセス】
この記事でのバージョン Unity 2022.3.32f1 はじめに ゲーム中にメニュー画面などのUIを重ねて開いた時に、裏側をボケさせて、前面のUIを見やすくしたいみたいな事はよくありますし、そういう事が簡単に出来るアセットもあります。 ただ色々試した結果、ポストプロセスを使うのが楽で、色々なエフェクトを組み合わせる事も簡単に出来るので、オススメという感じになりました。 という事で今回はポストプロセスでのUIの裏側をボケさせる方法の紹介です! ちなみに参考に出してる画像は鋭意開発中の【孤独なインディーゲーム開発者の一生】というゲームです!(よろしければウィッシュリスト登録よろしくお願いします…
説明文で他のゲームを宣伝するのが禁止された件と、同じ開発者やパブリッシャーのゲームを並べられるようになった件【Steam】【プロモーション】
Steamに新たなルールが導入され、 他のWebサイトへのリンクは禁止-ゲームのストアページから、ソーシャルメディアページを含む他のWebサイトへのリンクを記載することはできません。 ストアページエディターには、一般的なソーシャルメディアプラットフォームや個別のWebサイトにリンクするための特定のリンクフィールドが用意されています。 SteamストアのUIやボタンを模した画像の埋め込みは禁止-Steam UIのウィッシュリストボタンやゲームカプセル、価格表示などに似せた画像やアニメーションは使用しないでください。 Steam上の他のゲームを示す画像、リンク、ウィジェットは禁止-ストアページの説…
第16回ユニティ・アワードに本ブログがノミネートされました!【Unity】【ブログ運営】
第16回ユニティ・アワードの投票受付が開始されました! https://unity.com/ja/awards なお、ユニティ・アワードとは毎年開催されているUnity関連のゲームやアセットなどを表彰するもので、今年はゲームだとスーパーマリオRPGや桃鉄、 アセットだと、揺れ物系アセットとして有名なMagicaClothでお馴染みのMagica Softや、Unity用ビジュアルノベルツール「宴」など、有名所が多くノミネートしているのですが、 なんと当ブログ[kanのメモ帳]もノミネートされました!(お隣のUnity + Meta Quest開発メモも日本の技術ブログだったり) ちなみにノミネ…
uGUIがSceneでは表示されるのにGameでは表示されない【Unity】【uGUI】
この記事でのバージョン Unity 2022.3.32f1 はじめに 今回はUnityのuGUIでSceneビューには表示されているのに、Gameビューには表示されないという特殊な現象に遭遇して驚いた話です。 原因は至極単純で、プログラムでUIを生成した際にZ座標の指定をミスってた事でした。 一定以上Z座標が大きくなると、なぜかGameビューだけ表示されなくなるようです。ちなみに試しにさら大きくしてみた所、Sceneビューにも表示されなくなりました。
テキストの文字数が長すぎたら「〇〇〇…」みたいに省略させる方法【Unity】【TextMesh Pro】
この記事でのバージョン Unity 2022.3.32f1 はじめに 今回はUnityでTextMesh Proを使ってる時に文字数が長すぎたら「〇〇〇…」みたいに省略させる方法の紹介です! と言ってもOverflowをEllipsisに設定するだけ。 ちなみにAuto Sizeを有効にすると、指定したフォントサイズの範囲で縮小するようになるので、 限界まで小さくするけど、それでも表示出来ない時だけ省略するという事も可能です。
数字を高速に変更している時のテキストのガタツキは、mspaceを使って一部分だけ等幅にする事で改善出来る【Unity】【TextMesh Pro】
この記事でのバージョン Unity 2022.3.32f1 はじめに 普通のフォントは文字ごとに幅が違うので、数字のカウントアップ等を高速で行うと、Unityでは他の文字も動いて、ガタツキが気になったりします。 等幅フォントを使ったり、数字部分だけテキストを変えたりといった改善方法もありますが、TextMesh Proならmspaceを使えば一部分だけ幅を固定できるので簡単に改善出来たりします。 月合計:<mspace=0.7em>93</mspace>時間 ただし、記号が入る場合などは等幅にしちゃうと離れ過ぎてしまうという欠点もあります。(左がデフォルト、右が記号込みに等幅) 合計収入:<m…
uGUIのInputFieldをプログラムから選択する(文字入力を有効にする)方法【Unity】【uGUI】
この記事でのバージョン Unity 2022.3.21f1 はじめに UnityのuGUIではInputFieldというコンポーネントを使う事で、文字入力出来るUIを簡単に実装出来ます。 今回はそのInputFieldをプログラムから選択する(文字入力を有効にする)方法の紹介です!なお、「タッチ(マウス)操作とゲームパッド操作に両方に対応したい」「コントローラーで決定した時も入力を開始したい」みたいな時に役立つかと思います。 uGUIのInputFieldをプログラムから選択する方法
InputField入力中にEscキーを押すと、文字化けした文字が入力される場合の対処法【Unity】【uGUI】
この記事でのバージョン Unity 2022.3.32f1 はじめに UnityのInputField入力中に、入力を終えようとEscキーを押したら文字化けした文字が入力されるという現状に遭遇しました。 今回はそんな時の対処法の紹介です! 原因と対処法
アセットが使われている(参照されている)場所をシーン上やプロジェクト内から簡単に検索する方法【Unity】
この記事でのバージョン Unity 2022.3.32f1 はじめに 今回はアセットが使われている(参照されている)場所をシーン上やプロジェクト内から簡単に検索する方法の紹介です! アセットが使われている(参照されている)場所を簡単に検索する方法
売れるインディーゲームだけ作りたい:ゲームコンセプトのプレトタイプでヒットを事前に見極める【ゲーム企画】【Steam】
はじめに 個人的にインディーゲームを『開発する側の良さ』というのはとにかく自由だということだと思っています。 好きなジャンルを作っても良いし、流行りのジャンルを作っても良い。 ひたすらこだわっても良いし、どこかで見切りをつけても良い。 採算度外視しても良いし、売上重視で考えても良い。 大作に挑戦したって良いし、1日で完成目指したって良い。 誰かに意見をもらっても良いし、自分の考えだけで作っても良い。 誰にも邪魔されず、会社の承認も必要とせず、自分が好きなようにゲームが作れるというのは物凄く大変ではありますが、本当に楽しい事だと思います。 ただ、僕自身はせっかく作るのだから売れたいです。 もっと…
uGUIのButtonをプログラムから押す方法【Unity】【uGUI】
この記事でのバージョン Unity 2022.3.21f1 はじめに UnityのuGUIではButtonというコンポーネントを使う事で、押した時に処理が実行できるボタンを簡単に実装出来ます。 今回はそのButtonをプログラムから押す方法の紹介です!なお、「タッチ(マウス)操作とゲームパッド操作に両方に対応したい」「コントローラーで決定した時もボタンを押したように見せたい」みたいな時に役立つかと思います。 なお、記事中では以下のアセットを使っています。 Clean & Minimalist GUI Pack - Unity Asset Store uGUIのButtonをプログラムから押す方…
Cinemachineのカメラが切り替え中(ブレンド中)か判定する方法【Unity】【Cinemachine】
この記事でのバージョン Unity 2022.3.21f1 Cinemachine 2.9.7 はじめに カメラ操作を簡単に行えるUnityの公式機能Cinemachineを使ってる際に、 カメラが切り替え中(ブレンド中)か知りたくなった事があったので、今回はその方法の紹介です!と言っても、CinemachineBrainにIsBlendingという目的通りのプロパティがあるので、それを使うだけ。 if(_brain.IsBlending){ /*カメラが切り替え中(ブレンド中)の処理*/ }
ゲームパッド(コントローラー)の接続/切断や、現在のゲームパッドの種類を取得する方法【Unity】【Input System】
この記事でのバージョン Unity 2022.3.21f1 Input System 1.7.0 はじめに 今回はUnityの公式機能であるInput Systemで、ゲームパッド(コントローラー)の接続/切断や、現在のゲームパッドの種類を取得する方法の紹介です! なお、Input Systemの導入や基本的な使い方は以下の記事を参照の事。 UnityのInput Systemで現在のゲームパッドの種類を取得する方法
BOOTHはゲーム素材も豊富(3Dモデル、シェーダー、フォント、UI、ドット絵、背景、etc)【ゲーム素材】
はじめに ピクシブが運営してるBOOTHは自身の作品を簡単に販売出来るサービスで、基本無料で使える上に手数料も激安です そしてこのBOOTHには、実はゲームで使える素材も豊富にあります。今回はそれをいくつか紹介してみようという感じの記事です。 ただし、素材を販売する専門のサービスはないので、自分のゲームで使ってもいいか、それぞれの規約をしっかり確認する必要はあります。 目次 はじめに 目次 3Dモデル シェーダー フォント UI 背景 ドット絵 3Dモデル
簡単にUIを良い感じに盛れるシェーダー Deco-UI【Unity】【uGUI】【Shader】
この記事でのバージョン Unity 2022.3.21f1 はじめに 今回は簡単にUIを良い感じに盛れるシェーダー 「 Deco-UI」の紹介です! Deco-UIの使い方
URPやHDRPでも簡単に使える高品質な無料トゥーンシェーダー「lilToon」【Unity】【SRP】
この記事でのバージョン Unity 2022.3.21f1 lilToon 1.7.3 はじめに 今回は「lilToon」というURPやHDRPでも使えるトゥーンシェーダーの紹介です! lilToonは高品質でいろいろな表現が出来るのはもちろん、 簡単に設定が出来る上に無料(MITライセンス)です。 なお、記事中では以下のアセットを使っています。 Honoka Futaba Basic Set - Unity Asset Store lilToonの使い方
情熱と非効率は相性抜群 : インディーゲーム開発の場合【雑記】
はじめに とある小説に「熱量と非効率は親和性が高い」という言葉が載っていました。「どんなに効率の悪い事でも情熱さえあれば無理やり達成出来てしまう」 「むしろ非効率であるほど、より情熱が増す」というような意味合いですが、良くも悪くもインディーゲーム開発にも当てはまるというのが今回のお話です。 良い意味で「情熱と非効率は相性抜群」
Unity上でメッシュの一部をテクスチャで指定して削除出来る無料ツール「MeshDeleterWithTexture」【Unity】【エディタ拡張】
この記事でのバージョン Unity 2022.3.21f1 はじめに 今回はUnity上でメッシュの一部をテクスチャで指定して削除出来る無料(MITライセンス)ツール「MeshDeleterWithTexture」の紹介です! なお、記事中では以下のアセットを使っています。 Riko - Unity Asset Store MeshDeleterWithTextureの使い方
ChatGPTのお絵かきAI(DALL-E)にはチャット回数とは別に、1日100回ぐらいの制限があるという話 【AI】【ChatGPT】【DALL-E】
はじめに ChatGPTはDALL-Eという生成AIを使って、イラストを生成する事が出来ますが、 ある程度連続で使うと制限がかかる事がありました。 具体的にどれぐらいで制限がChatGPTに聞いた所、分からないというか明示されてないらしく、 自分(有料のPlusプラン)で試した所、連続で数十回生成すると数分の制限に達し、1日100回ほどで数時間の制限を受け、日本時間3時にリセットされる感じでした。 なお、前は1日あたり20枚だったり3時間で50枚だったりしたらしく、制限は変動するようです。
画像などのUIのアスペクト比(縦横比)を維持したい時はAspect Ratio FitterかImageのPreserve Aspect【Unity】【uGUI】
この記事でのバージョン Unity 2022.3.21f1 はじめに 今回はUnityのUI(uGUI)で、画像などのUIのアスペクト比(縦横比)を維持したいという時の話です。 なお、記事中では以下のアセットを使っています。 2D Casual Game UI Set - Unity Asset Store アスペクト比を維持
Unity上で3Dキャラクター(アバター)の服の着せ替えるが簡単に出来る無料ツール「キセテネ」【Unity】【エディタ拡張】
この記事でのバージョン Unity 2022.3.21f1 はじめに 今回はUnity上で3Dキャラクター(アバター)の服の着せ替えが簡単に出来る無料(MITライセンス)ツール「キセテネ」の紹介です! もともとはVRChatのアバター用ですが、Unityのエディタ拡張なのでゲームのキャラ用にも使え、服の各部位の位置やスケールをスライダーで調整でき、ボタン一つで着せる事が可能という優れ者です! なお、記事中では以下のアセットを使っています。 Riko - Unity Asset Store Rin - Unity Asset Store キセテネの使い方
SourceTreeで強制的にプッシュ(git push --force)する方法【SourceTree】【Mac】【Windows】
今回はSourceTreeで強制的にプッシュ(git push --force)する方法の紹介です!Windowsだと上部メニューのツール/オプションから、 Gitタブを選び、「強制プッシュを有効にする」にチェックを入れれば、 プッシュ画面で「強制プッシュ」が選べるようになります。 次にMacですが、Mac版はなぜか英語でないと設定出来ないので、上部メニューの設定…から、言語を英語に変えてSourceTreeを再起動し、 再度、上部メニューのSettings…から、 Advancedをタブの「Allow force push」にチェックを入れれば、 プッシュ画面で「Force push」が選べ…
複数のAnimationCurveの波形をブレンド(合成)して使う BlendAnimationCurve【Unity】【DOTween】
この記事でのバージョン Unity 2022.3.21f1 はじめに UnityはAnimationCurveを使うことで波形を定義し、波形に合わせた数値を取得する事が出来ます。 [SerializeField] private AnimationCurve _animationCurve; このAnimationCurveの波形をブレンド(合成)して使えるBlendAnimationCurveというものを作ったので、今回はその紹介です! BlendAnimationCurve
DotweenのSetEaseにメソッドを指定して、プログラムで動きを制御する方法 【Unity】【DOTween】
この記事でのバージョン Unity 2022.2.8f1 DOTween Pro 1.0.381 DotweenのSetEase Unityで位置や大きさなどのアニメーション、いわゆるTweenを実装するアセットとしてお馴染みのDOTweenは、 DOTween Pro Visual Scripting Unity Asset Store SetEaseを使う事で値がどう変化するか、どう動くかを指定する事が出来ます。 transform .DOMove(Vector3.zero, 0.5f)//座標(0,0,0)に0.5秒かけて移動 .SetEase(Ease.OutBounce);/…
「ブログリーダー」を活用して、Kan.Kikuchiさんをフォローしませんか?
はじめに Steamでは体験版を公開したときに、ウィッシュリストに追加してくれている人達に、以下のようなメールを一斉送信する事が出来ます。 ただし、リリース時と違って手動で送信する必要があるので、今回はその方法の紹介です! メールを一斉送信する方法
この記事でのバージョン Unity 6000.0.34f1 JetBrains Rider 2025.1.3 Claude Code 11.3.0 はじめに 今回はAnthropic製のAIコーディングアシスタント「Claude Code」を Unity×Rider(Mac)で使う方法の紹介です! 以前紹介した、GitHub×OpenAIが提供するAIのコーディング支援機能「GitHub Copilot」は、コードの補完を支援する感じの使い方でしたが、 Claude Codeはテキスト(日本語でもOK)で指示して、コードの修正や作成を行わせる感じで、コードを自分でガッツリ書いてくれます。使い方…
はじめに 先日、現在Steam向けに開発中の「孤独なインディーゲーム開発者の一生」の体験版を出しました。 この時、体験版の専用ストアページを作ったのですが、 製品版の方には体験版が表示されていませんでした。という事で今回は体験版を製品版のストアページの上に表示する方法の紹介です! 体験版を製品版のストアページの上に表示する方法
現在Steam向けに開発中の「孤独なインディーゲーム開発者の一生」の体験版を出しました!ゲーム内の年齢で30歳〜35歳(1時間ぐらい)までプレイ出来る感じです。 【孤独なインディーゲーム開発者の一生】の体験版をリリースしました!(Steam Nextフェス用の期間限定)https://t.co/JfmJJXHPTHぜひ遊んでもらえると嬉しいです!ウィッシュリスト追加でさらに嬉しいです!!レビューまでかいて頂けたら喜悦の極みでございます!!!!#SteamNextFest pic.twitter.com/poYWG54xLE— カン@ゲームクリエイター(Unity/Steam/スマホアプリ/UE…
この記事でのバージョン Unity 6000.0.34f1 はじめに 以前テキストにアニメーションを追加したり、 文字送り(文字を最初から順番に表示する)を実装出来たりする、 Text Animatorというアセットを紹介しました。 今回はそのText Animatorを使ってる際に、一度テキストを消してから再度表示しようと思ったら、前のテキストが一瞬表示されしまう場合の対処法です! Text Animatorで前のテキストが一瞬表示されしまう場合の対処法 実はこの問題の対処法は公式のドキュメントに書いてあったりします。 追伸: キャンバスの設定によっては、テキストが 1 フレームだけちらつく…
はじめに 今回はタイトル通り、Steamのストアを多言語対応(ローカライズ)したい時に、どこから設定するのか、どうやってそれを確認するのかという紹介です! Steamのストアを多言語対応(ローカライズ)の設定方法と確認方法
はじめに Steamには開発者やパブリッシャー専用のページである開発者・パブリッシャーホームページという物があります。 このページにはリリースした全ゲームの一覧(載せないゲームを選ぶ事も可)、最新作のゲーム、現在セール中のゲーム、自分のゲームの中だけでの売上ランキング等を載せる事が出来ます。また、TwitterやYoutubeへのリンク、ページ自体のフォロー機能もあります。(ページをフォローしてくれたユーザに新作が出た時等に通知を飛ばす事も可能) さらにSteamの各ゲームのページにある開発元やパブリッシャーのリンクから専用のページに飛べるようにもなります。(このページを設定していない場合は検…
Steamは無料の体験版(Demo)を配信することができ、製品版とは別に専用のストアページを作成する事も可能です。 もちろん、ストアページを別に用意するということはそれ用の画像素材も必要になるのですが、製品版と同じ物でも基本大丈夫です。 ただし、体験版は左上に専用のマークが付くため、これとタイトルが被るとリジェクトされます。なので、素材の修正が多少は必要になるかもしれません。 なお、実際リジェクトされると以下のように指摘されます。 ストアページは審査に通過しませんでした。カプセル画像に「Demo」バナーが重なり、製品名が隠れてしまっているためです。カプセル画像は Steam ストア内のさまざま…
はじめに Steamは無料の体験版(Demo)を配信することが出来ます。 The Hundred Line -Last Defense Academy- Demo Ver. on Steam 今回は、その体験版の設定方法の紹介です! 体験版の設定方法
はじめに Steamは無料の体験版(Demo)を配信することが出来ますが、↓のように製品版とは別に専用のストアページを作成する事も可能です。 The Hundred Line -Last Defense Academy- Demo Ver. on Steam と言う事で今回は、体験版は製品版とは別に専用のストアページを作ったほうがいいのか?という話! なお、先に結論だけ言ってしまうと、「基本は別のストアページ作った方が良いけど、やる事増えてちょっとめんどくさい」という感じです。 体験版は製品版とは別に専用のストアページを作ったほうがいいのか
3Dモデルを扱う時には凸凹などを表現するためにノーマルマップ(法線マップ)という物がよく使われ、画像からノーマルマップを生成するツールなんてのもあります。 今回はそのノーマルマップを合成するNormalMapMergerという無料サービスの紹介です! 以下のように異なるノーマルマップ(サイズが違くてもOK)を一つにするものです。 使い方も簡単、ページ上部の「ファイルを選択」で画像を選ぶだけで合成され、下部の「合成画像をダウンロード」からダウンロード出来ます。 これ使えば、最初から凹凸のあるモデルに、新たに別の凹凸を足すことが簡単に出来ます。(変えたのはノーマルマップだけで、テクスチャは変えてい…
はじめに 3Dモデルを扱う時には凸凹などを表現するためにノーマルマップ(法線マップ)という物がよく使われます。 今回はそのノーマルマップを簡単に作れるNormal map generatorというツールの紹介です! なお、Windows限定で有料(と言っても500円)です。ちなみに以前、無料でノーマルマップが作れるサービスも紹介しましたが、 元の画像が平坦だと特に、今回紹介するツールの方が良い感じでした。(左が以前の無料ツールのもの、右が今回紹介するもの) Normal map generator
この記事でのバージョン Unity 6000.0.34f1 (URP 17.0.3) はじめに Unityは3Dでも2Dでも簡単にポストプロセス(Post Processing)を使う事が出来ますが、 今回はどのポストプロセスが使われているか、簡単に確認する方法の紹介です! カメラにどのポストプロセスが使われているか、簡単に確認する方法
はじめに 「X(Twitter)の自己紹介欄にURL載せたいけど、文字数制限厳しいので載せられない!」そんな時にBitlyというURL短縮サービスを使うと良いよという話を以前したのですが、 しかし、Bitlyは残念なことにたまに広告が出るようになってしまいました。(短縮URLをクリックすると、クッションページが表示される感じ。必ず出るわけではない) 有料プランにすれば解決するのですが、そこまで重要な使い方をしてるわけでもないので、今回は代替となるX.gdというURL短縮サービスの紹介です! ちなみに国産の非営利のサービスらしく、会員登録や有料プランはありません。 X.gdの使い方
この記事でのバージョン Unity 6000.0.34f1 はじめに C#で値型の変数にnullを入れたいみたいな事がたまにあります。例えば以下のようなメソッドで「xは常時指定したい、yは基本指定しない」という時です。 public void Sample(int x, int y){ /*xの処理は毎回する*/ /*yの処理は基本しないが、たまにする)*/ } オーバーロードでも実現は可能ですが、メソッドが増えるのがちょっと微妙です。 public void Sample(int x, int y) { /*yの処理をここでする*/ Sample(x); } public void Samp…
この記事でのバージョン Unity 6000.0.34f1 はじめに UnityにはUnity Servicesという無料でもある程度使えるサービス群があり、その中に、エラーやクラッシュを監視するUnity Cloud Diagnosticsがあります。 しかし、このUnity Cloud Diagnosticsはデフォルトの状態で使うと、エディタ上や開発ビルドでもエラーも記録してしまうため、不要なログが溜まりがちです。 という事で今回はUnity Cloud Diagnosticsをエディタ上や開発ビルドでは止める方法の紹介です! Unity Cloud Diagnosticsをエディタ上や…
この記事でのバージョン Unity 6000.0.34f1 Unity Services UnityにはUnity Servicesという無料でもある程度使えるサービス群があり、 以前はServicesという専用のウィンドウから有効にしていました。 しかし最近のUnity(Unity 2022.1辺りから?)では、このServiceというウィンドウはなくなり、PackageManagerからInstallする形式になっていました。 一瞬どこから導入するのか分からなかったのですが、他のパッケージと同じ所で管理出来るようになったのは分かりやすくなった気がします。
はじめに Unity Asset Storeにてスプリングセールが始まっています!(期間 : 2025年5月8日23:59:59まで) 約400ものアセットが50%オフになっている上に、 Unity Asset Store - スプリングセール 24時間限定で最大70%オフにもなるフラッシュディールも同時開催されています! Unity Asset Store - フラッシュディール 今回はこのセールに便乗して、今まで書いた「アセット紹介記事の中からセール対象になっているもの」をまとめてみました! 目次 はじめに 目次 エディタ拡張系アセット Hot Reload : コードの変更しても…
はじめに 今回はGoogleフォーム(Google Forms)で、多言語(ローカライズ)に対応する方法の紹介です! と言っても、Googleフォーム自体には作成者が設定した質問などを多言語対応する機能はありません。(※送信や必須などのデフォルトのUIは自動で翻訳される) かといって言語ごとにフォームを複数作るのは管理が面倒ですし、「名前 / Name」のように併記するのも言語が増えてくると現実的ではありません。 ということで、今回紹介するのは最初に言語選択をして、セクションを変える方法です。 Googleフォームの多言語対応
この記事でのバージョン Unity 6000.0.34f1 はじめに 今回はUnityのUI(uGUI)上で動画を再生する方法の紹介です! UnityのUI(uGUI)上で動画を再生する方法
この記事でのバージョン Unity 2022.3.21f1 Cinemachine 2.9.7 はじめに 今回はカメラ操作を簡単に行えるUnityの公式機能Cinemachineを使って、 カメラにランダムな振動や手ブレを追加する方法の紹介です! なお、記事中では以下のアセットを使っています。 Japanese School Gymnasium - Unity Asset Store Aoi Character Pack - Unity Asset Store Cinemachineでカメラにランダムな振動や手ブレを追加する方法
この記事でのバージョン Unity 2022.3.21f1 Cinemachine 2.9.7 はじめに 今回はカメラ操作を簡単に行えるUnityの公式機能Cinemachineを使って、 自然にカメラ(視点)を切り替える方法の紹介です! なお、記事中では以下のアセットを使っています。 Japanese School Gymnasium - Unity Asset Store Aoi Character Pack - Unity Asset Store Cinemachineで自然にカメラ(視点)を切り替える方法
この記事でのバージョン Unity 2022.3.21f1 Cinemachine 2.9.7 はじめに Unityには、カメラ操作を簡単に行えるCinemachineという公式機能があります。 これを使うと対象を追いかけたりなどのカメラの操作や管理が簡単に行えます。 という事で今回は、Cinemachineの導入と設定、基本的な使い方の紹介です! なお、記事中では以下のアセットを使っています。 Japanese School Gymnasium - Unity Asset Store Cinemachineの導入と設定、使い方
この記事でのバージョン Unity 2022.3.21f1 はじめに UnityはSSR(Screen Space Reflections)と呼ばれる、リアルタイムに反射を計算して表示するエフェクトが使えます。 Japanese School Gymnasium - Unity Asset Store しかし、このSSRはビルドインではポストプロセスとして設定出来たのですが、 URPはサポートしておらず使えません。(HDRPは使える) Universal Render Pipeline (URP) do not support Screen Space Reflections. ということで今…
この記事でのバージョン Unity 2022.3.21f1 はじめに UnityはTimeのtimeScaleを操作する事で簡単に時間の進みを変えられます。 ただし、この値のみを変えると物理演算で動いてる物の動きがカクカクします。例えば以下のようにボールがバウンドしている時に、 timeScaleを0.1にすると、動きはスローになりますが、コマ送りみたいになります。 という事で今回は、timeScaleを下げてスローにした時にカクカクする場合の対処法の紹介です! なお、記事中では以下のアセットを使っています。 Japanese School Gymnasium - Unity Asset St…
この記事でのバージョン Unity 2022.3.21f1 はじめに UnityはAO(Ambient Occlusion -アンビエントオクルージョン)と呼ばれる、現実では暗くなる場所(溝や穴など)をより自然に暗くするエフェクトが使えます。 ビルドインだとポストプロセスで設定出来たのですが、 URPでは設定する場所が変わったようです。 URP のポストプロセスエフェクトとは独立して機能します。ボリュームに依存したり、ボリュームと相互作用したりすることはありません。 という事で今回は、URPでAOを設定する方法の紹介です! URPでAOを設定する方法
この記事でのバージョン Unity 2022.3.21f1 はじめに UnityではAvatar Maskを使う事で、顔や手などの特定の部位だけ別のアニメーションをさせる事が可能です。 今回はそのAvatar Maskの作り方の紹介です! Avatar Maskの作り方
はじめに ゲームを作ることを生業としているので、なにかのゲームがヒットした時は、それがなぜヒットしたのかみたいな事を考えます。 しかし、この"ヒットした理由"というのは、深く考えずとも意外とポンポン出てきたりします。 それは自分がゲーム開発者だからという事ではなく、おそらく普通のユーザーであったとしても1つ2つは簡単に思い付くと思いますし、「〇〇がヒットした理由」みたいな記事もよく見かけます。 しかもそれらの"ヒットした理由"はパッと見ではだいたいがそれっぽく、思い付いた人も自信を持って「ヒットした理由が分かった」と感じているのではないでしょうか? しかし、これらの「ヒットした理由が分かった」…
この記事でのバージョン Unity 2022.3.21f1 3Dモデルの影だけを表示する方法に 今回は3Dモデルの影だけを表示する方法の紹介です。 やり方は簡単、Mesh RendererのLightingにあるCast ShadowsをShadows Onlyにするだけ。(Skinned Mesh Rendererの場合も同じ) なお、記事中では以下のアセットを使いました。 Night Club - Unity Asset Store Night Club (SRP) - Unity Asset Store
この記事でのバージョン Unity 2022.3.21f1 はじめに Unityはデフォルト(ビルドイン)の状態だと複数のカメラ(Camera)を作成しても、CamaraのClear FlagをDepth Onlyにする事で背景が透けるため、重ねて表示する事が出来ます。 しかし、URPにはこのClear Flagという設定がありません。と言う事で今回は、URPで複数のカメラを重ねて表示する方法の紹介です! URPで複数のカメラを重ねて表示する方法
はじめに Steam(works)は非公開ベータテストを使う事で、任意の人を招待して簡単にテストが行えますが、 リリースしていないゲームには使えません。 なので今回はテストプレイヤーとしてユーザーアカウントを追加し、リリース前のゲームをテストプレイしてもらう方法の紹介です!(Steamworksの登録は済んでいる前提なのであしからず) なお、他の人のアカウントを追加せずにテストプレイしてほしい場合は、Steam Playtestやリリースオーバーライドキーを使ってテストプレイしてもらう方法もあります。 Steam(works)でユーザーアカウントを追加する方法
この記事でのバージョン Unity 2022.3.21f1 はじめに UnityではRaycastを使って、指定の位置や方向に何か衝突するオブジェクトがあるかをチェックする事が出来ます。 しかし、Raycastは点や球などの決められた形でしか判定が出来ません。 と言う事で今回は、任意の形で衝突するか通過するかをチェックする方法の紹介です!イメージとしては以下のような感じ。 なお、記事中では以下のアセットを使っています。 Mahjong Complete Set - Unity Asset Store Rigidbody.SweepTest
この記事でのバージョン Unity 2022.3.21f1 はじめに Unityにはデフォルトの描画方法であるビルドインの他に、SRP(スクリプタブルレンダーパイプライン)という呼ばれる、新しい描画方法があります。 そしてSRPには以下の2種類があります。 高品質でリアルなハイエンド向きのHDRP(HDレンダーパイプライン) パフォーマンスとクオリティのバランスが取れた汎用的なURP(ユニバーサルレンダーパイプライン) と、ここら辺までは各説明を見ればなんとなく分かるのですが、じゃあ具体的にどれだけ違うの?というのは意外と分からなかったりします。 見比べてみれば一発で違いが分かるはずですが、違…
この記事でのバージョン Unity 2022.3.21f1 Technie Collider Creator 2 1.2.1 はじめに Unityには3Dモデルのメッシュに合わせてコライダーを作るMeshColliderという機能がありますが、動かしたい時はConvexを有効にする必要があり、Convexを有効にすると形状が雑になってしまいます。 と言う事で今回は、3Dモデルのメッシュに合わせて簡単&正確なコライダーを自動作成してくれるTechnie Collider Creator 2というアセットの紹介です! Technie Collider Creator 2 Physics U…
この記事でのバージョン Unity 2022.3.21f1 Input System 1.7.0 はじめに UnityはUnityEngine.Inputクラスを使う事で、コントローラーへの対応が比較的簡単に行えます。 しかし、様々なコントローラーに対応しようとすると途端に面倒になります。例えばデフォルトの状態だと、XboxコントローラーのスタートボタンとPS4のR2 ボタンが同じ入力として扱われる、みたいな感じです。 という事で今回は、そんな複数のプラットフォームやコントローラーに対応したい時に使えるUnityの公式機能であるInput Systemの紹介です! ちなみに、以下のようなアセッ…
とある一部(現:プライム市場)上場企業に、何でも目的を確認する新卒1年目のエンジニアがいました。 そんな彼は某ソシャゲを運営しているチームに配属されました。 そしてそのチームでは、若手だけで「担当者が何でも良いからゲームを紹介する」というプチ勉強会のようなものが定期的に開催されていました。 彼もその会に誘われました。 彼はゲームが大好きでしたが、それゆえに紹介するものも悩みます。 なので、目的に合わせて紹介するゲームを選ぼうと思い、こう聞き返しました。 「その勉強会の目的はなんですか?」と。 すると、誘ってきたエンジニアの先輩は「出た!何でも目的を確認するヤツw」と笑いました。 それもそのはず…
この記事でのバージョン Unity 2022.3.21f1 はじめに 今回はパーティクルをuGUIのCanvas上に表示出来るParticleEffectForUGUIという無料(MIT License)アセットの紹介です! イメージとしてはパーティクルを他のUIと一緒に配置するする感じで、UIの間にも簡単に表示出来ます。 なお、記事中では以下のアセットを使っています。 Hyper Casual FX Pack Vol.2 - Unity Asset Store Clean & Minimalist GUI Pack - Unity Asset Store 導入と使い方
はじめに Unity Asset Storeにてスプリングセールが始まっています!(期間 : 2024年5月8日まで) 約300ものアセットが50%オフになっている上に、 Unity Asset Store - スプリングセール 24時間限定で最大70%オフにもなるフラッシュディールも同時開催されています! Unity Asset Store - フラッシュディール 今回はこのセールに便乗して、今まで書いた「アセット紹介記事の中からセール対象になっているもの」をまとめてみました! 目次 はじめに 目次 エディタ拡張系アセット Hot Reload : コードの変更してもコンパイルをせず…
この記事でのバージョン Unity 2022.3.16f1 HotReload 1.12.9 はじめに 今回はコード(プログラム)の変更をコンパイルをせずに即座に適用出来るいわゆるホットリロードがUnityで行えるHotReloadというアセットの紹介です! Hot Reload - Unity Asset Store イメージとしては以下のような感じで、Unityを再生しながらコードを編集して、それがゲーム上ですぐに確認出来ます。 Hot Reload for Unity もちろん、全くコンパイルが発生しなくなるというわけではなく、大きな変更の後はコンパイルして、その後の調整や諸々の確認の時…
この記事でのバージョン Unity 2022.3.21f1 はじめに 今回はSteamで配信したゲームアプリ(exeやapp)が、Steamを経由せずに直接起動された場合に、Steamから起動し直す方法の紹介です! ユーザーが意図して直接起動する事はあんまりないと思いますが、ファイルは簡単に確認出来ますし、 「最近起動したファイル」みたいな感じで実行ファイル自体が表示されてそこから間違って直接起動しちゃうみたいなのは全然あり得ると思います。 特にSteamが起動してない時にゲームを直接起動すると、Steam周りの初期化が失敗するので、一応は対策をしといた方が良さそうです。 Steamを経由せず…