転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

Unity

Unityでプロジェクト作成時に出るエラーを解決!Collab service is deprecated and has been replaced with PlasticSCM

Unityでプロジェクトを作成すると、「Collab service is deprecated and has been replaced with PlasticSCM」というエラーが大量に吐かれまくったという経験をしたことは多いのではないでしょうか。 原因としては、Unity Teamsのバージョン管理コンポーネン…

時間経過によるイベント処理を簡単に実装する - コルーチンの活用法

Unityでゲームを作る際、自分は時間経過があるイベントが欠かせません。 例えば、RPGで敵を倒した1秒後に報酬品をテキスト表示するなどです。このような時間経過のイベントには、コルーチンを使います。 ですがこのコルーチン、自分はいつも使い方を忘れてし…

レースゲームで、スタートと同時に時間カウントアップの計測を開始させる方法について

unityroomに投稿した以下ゲームですが、車を操作するゲームです。 unityroom.com 車を操作するスクリプト自体はよくあるものなんですが、車をスタートさせると時間カウントアップを開始させるようにしました。 今後のために、メモとして残しておきます。 車…

unityroomに投稿したゲームのBGMとSEの制御方法

久しぶりにunityroomに投稿した以下ゲームより、メモとして残しておきたい部分を記しておきます。 unityroom.com BGMとSEの制御について BGMとSEは、1つのゲームオブジェクトにAudio Sourceコンポーネントを2つ追加して制御しています。 1つがBGM用、もう1…

ゲーム制作再開!時間カウントアップ方法を徹底解説

かなり久しぶりに、フリーゲーム投稿サイトのunityroomにゲームを投稿しました。 unityroom.com操作は矢印キーで車を操作し、障害物にぶつからないようにゴールを目指すシンプルゲームです。 2023年は1本もゲームを作れておらず、このままではゲーム開発をや…

ブログを再開しました。

久しぶりのブログです。このブログは主にゲーム開発に関する内容を投稿していましたが、ブログを更新していない間もゲーム開発は続けていました。直近でリリースしたゲームは、こちらです。 play.google.com 自分としては、かなり力を入れて作ったゲームなん…

【Unity】エディター操作時のみキーボードから操作する方法

今、ブロック崩しゲームを作ってます。スマホでプレイする際は、画面のボタンから操作するけど、Unityエディター時にはキーボードから操作したいっていう場合の実装方法です。 ちなみに作ってるゲームは、こんな感じ。この緑色のバーを動かすプログラムがこ…

【Unity】コルーチンの停止方法

Unityの技術書を買うと、コルーチンの使い方は必ずといいほど書かれている。けど、実際にコルーチンを使うときって、ある操作を開始したらコルーチンを止めたい時があるんやけど、小tルーチンの止め方を書いてある本って少ない気がする。で、コルーチンの止…

【Unity】Random.Range()の使い方

ゲームを作っていると乱数を扱うことが多々あります。で、いつも使い方が分からなくなるのがRandom.Range()なんで、ここで改めて整理します。 // 0〜9が出力される int num = Random.Range(0, 10); // 0〜10が出力される float num = Random.Range(0f, 10f);…

【Unity】横向きアプリの設定方法

横向き固定のアプリを作り際のUnityの設定方法です。あっAndroidの場合です。Project Settings / Player / Resolution and Presentation で、「Landscape Right」、「Landscape Left」にチェックを入れます。 ※「Portrait」、「Portrait Upside Down」のチェ…

【Unity】子コンポーネントを取得する方法

Unityでゲームを作っていると、ボタンオブジェクトの子コンポーネントにあるテキストオブジェクトの名前を動的に出したいときが出てくる。 例えばRPGでいうと、アイテムを所持していないときは「なし」と表示し、アイテムを拾うと拾ったアイテム名を出したい…

【Unity】オブジェクトのタグを取得する方法

よくUnityでは各オブジェクトにTagをセットする。プログラム内でこのタグを取得して、何かの判定をするというのはよくある実装。 今作っているゲームで、自オブジェクトのTagを取得して判定するという実装を組みたかったのだが、自オブジェクトのTagの取得方…

【Unity】unity1weekで作ったゲームを改良して、Google Play Storeへリリースした

約2カ月かけて、unity1weekで作ったゲームを改良してAndroidアプリを開発した。そのアプリがこれ。 play.google.com いわゆるウォーリーを探せ的なゲームです。全50問作ったのでボリュームは十分で、問題が進むと高難易度の問題もでてきます。サクッとでき…

【Unity】ゲームを作ってリリースしました。

Unityでゲームを作って、Androidアプリとしてリリースしました!超絶シンプルですが、今の自分ができることを詰め込みました。無料で広告なしなので、ぜひぜひ遊んでみてください。 play.google.com

【Unity】ダメージをくらったら、Spriteを点滅させて無敵時間を作る方法

横スクロールアクションや、シューティングゲームでよくあるあれです。 まずSpriteを点滅させる方法は、SpriteRendererコンポーネントのアルファ値を変化させてやれば、実装できる。そのときのソースコードがこれ。 public SpriteRenderer sp; // ダメージ判…

【Unity】TextがSpriteの後ろの隠れてしまう問題

タイトルそのまんまです。ゲーム作ってたら、こんな感じでTextオブジェクトがSpriteの後ろになってしまう問題が発生。 Sprite同士なら簡単にいくのだが、TextとSpriteだとどうしていいのかわからず、結構悩んでいた。 で、解決した方法がこちら。 Textオブジ…

【Unity】30才からプログラミングを始めたサラリーマンが、AndroidアプリをGoogle Playへリリースした。

少し時間が空いたけど、Androidアプリを新たにリリースしました。それがこちら。 play.google.com 30秒間に画面をタップした回数を記録するゲーム。スマホアプリにはよくあるゲームだ。Unityでゲームは作っているが、これまで作ったゲームはUnityの技術書の…

【Unity】Unityで作ったゲームをビルドして、Google Playへ公開する方法

これまで、Google Playへ3つのAndroidアプリをリリースしました。当時の記事がこちら。 uuc1h.hatenablog.jp けど、ちょっと間が空くと、かならずやり方を忘れてしまう。そのため、ここで自分用の完璧な手順書を作っておく。 UnityでAndroidビルドをする方法…

【技術書メモ】確かな力が身につくC#「超」入門

Unityをメインにアプリ開発をしているが、Unityで使用する言語はC#だ。 自分は仕事でJavaを使っているからC#も何となく理解できるが、ここらで一度C#を学んでおきたいと思う。 そこで手に取ったのが、この「確かな力が身につく」シリーズだ。確かな力が身に…

【Unity】スコアの表示方法を、10ずつ足していく方法

private void Update() { if(score > displayScore) { displayScore += 10; if(displayScore > score) { displayScore = score; } RefreshScore(); } } void RefreshScore() { textScoreNumber.GetComponent<Text>().text = displayScore.ToString(); }</text>

【Unity】敵を踏んで、倒す方法

private void OnTriggerEnter2D(Collider2D collision) { if(collision.gameObject.tag == "Enemy") { if(transform.position.y > collision.gameObject.transform.position.y + 0.4f) { rbody.velocity = new Vector2(rbody.velocity.x, 0); rbody.AddForce…

【Unity】敵の移動例

public LayerMask blockLayer; private Rigidbody2D rbody; private float moveSpeed = 1; public enum MOVE_DIR { LEFT, RIGHT, }; private MOVE_DIR moveDirection = MOVE_DIR.LEFT; private void FixedUpdate() { bool isBlock; switch(moveDirection) { …

【Unity】GameObjectをキーボードで操作する方法③

using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerManager : MonoBehaviour { // ブロックレイヤー public LayerMask blockLayer; private Rigidbody2D rbody; // 移動速度固定値 private const float M…

【Unity】カメラが映し出す範囲を表す枠を小さくする方法

Main Camera / Camera / Sizeを小さくする

【Unity】バックグラウンドから復帰時の挙動について

void OnApplicationPause(bool pauseStatus) { if(pauseStatus) { // アプリがバックグラウンドへ移行 } else { // バックグラウンから復帰 } }

iPhoneアプリ第3弾を公開しました!30歳からプログラミングを始めても、ゲームは作れる!

朝食:ポテトサラダ入りサンドイッチ昼食:キーマカレー夕食:レタスのサラダ、フライドチキン、味噌汁 今日は、夕食に白米を抜いてみた。過去最高体重になったので、炭水化物を徐々に抜いてきます。あと、リンゴ酢を飲み始めて、早四日目。うん、体調に全く…

【Unity】DateTime型をPlayerPrefsで保存する方法

DateTime型はPlayrePrefsでは、読み書きができない。そのため、バイナリに変換する必要がある。 PlayerPrefs.SetString(KEY_TIME, lastDateTime.ToBinary().ToString(); // 時間の復元方法 // 第2引数は、デフォルト値の指定 string time = PlayerPrefs.GetS…

【Unity】アニメーションとスクリプトを連動させる方法

1.Animatorウィンドウで、以下の状態を作り出しておく。 ※左のパラメータは、Parametersタブ / +をクリックし、Triggerを選択。 2.New Stateからget@ImageMokugyoの矢印をクリックし、遷移するトリガーを「isGetScore」を設定する。 ※Has Exit Timeをオフに…

【Unity】キーフレームレコーディングモードを使ったアニメーション作成方法

1.Animationウィンドウを開く2.Add Propertyをクリックし、変化させたい項目を選択する。(ここでは例として、Rect Transform / Anchored Postionを選択)3.記録ボタンをクリックし、InspectorのRect Transform / Pos Yの値を変更4.記録ボタンをオフにする。

【Unity】列挙体について

public enum ORB_KIND { BLUE, GREEN, PURPLE, } 連続する定数。最初の定数は0、次は1・・というように設定される。