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

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

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…

AWSクラウドプラクティショナー合格の勉強方法と経験談

AWSクラウドプラクティショナーを受験して、無事に合格しました。記憶の新しいうちに、自分がやってきた勉強内容などを記録しておきます。 はじめに 自分はIT業界に8年ほどいますが、AWSは未経験でした。それが、2023年に参画した現場でAWSを使用しており、…

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

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

ブログを再開しました。

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

【Unity】Coroutine continue failureというエラーの解決法

StopCoroutineでコルーチンを停止させようと実装したら、「Coroutine continue failure」とエラーがでた。 で、エラーがでた実装はこんな感じです。 public void GameOver() { // リトライボタンとタイトルボタンの表示 RetryButton.SetActive(true); TitleB…

【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でRPG製作】レベルアップの実装方法

RPGのレベルアップの実装方法について調べると、累計経験値を使った計算式が色々でてきた。けど、これを理解して自分で使おうとするとハードルが高かったので、経験値テーブル(実際にはディクショナリ)を作って、それを使ってレベルアップを実装していこう…

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

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

【Unity】Google Play Consoleにaabファイルをリリースしたらエラーになった

タイトルの通り、Google Play Consoleにaabファイルをリリースしたら、以下エラーメッセージが表示された。 リリース時には、いつも何らかのエラーが出てしまうので対応方法をメモする。調べてみたら、対応方法はかなり簡単だった。UnityのProject Settings …

【NBA】明日はオールスターゲームだから、お気に入りのオールスターゲームについて語りたい

タイトルそのまんまです。日本時間の8日10:00に、オールスターゲームが行われる。近年のオールスターゲームは、各チームのキャプテンによるドラフト形式でチームが決定する。今年はチームレブロンvsチームデュラント。ドラフト形式になってから、レブロンは…

言葉が出てこないときってありますよね?

最近、記憶力の低下に悩んでいる。言葉が本当に出てこない。結婚して3年たつが、妻とは「アレ」で意思疎通ができるようになってきてしまった。これも、言葉が出てこない原因なのではないかと思う。これはいかんと思い、記憶力の強化を目的とした日記をつけ…

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

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

【技術書メモ】配列とList<T>の操作まとめ

普段めちゃめちゃよく使う、配列とList。これは自分だけかも知れないが、普段の仕事で書くコードにあまり配列を使わない印象がある。Listの使用率が圧倒的に多い。 けど、配列が使えないと困る部分はあるので、一緒にまとめていく。 配列あるいはListに同じ…

【技術書メモ】文字列の操作まとめ

Atcoderなんかのような競技プログラミングをやっていると、必ず出てくるのが文字列の操作。文字列の中からある文字列を削除したり、くっつけたりと、そういった類の問題が出てくる印象がある。 で、ここらへんはすでにメソッドが用意されているので、知って…

【技術書メモ】C#においてのプロパティ書き方まとめ

Javaでプログラムを書いていたころ、プロパティは以下のように書いていた。ゲッター、セッターだ。 private string name; public string SetName(string _name) { name = _name; } public string GetName() { return name; } けど、C#ではこんな書き方ができ…

条件演算子、null合体演算子まとめ

よくif文使いがちだが、if文は簡単だし、分かりやすい反面、たしかに行数は多くなる。 var list = new List<int> { 1, 2, 3, 4, 5, }; var key = 2; int num; if (list.Contains(key)) { num = 1; else num = 2; リストに2が含まれていたら変数numに1を、リストに</int>…

【技術書メモ】LINQ to Objectsまとめ

C#の特徴でもあるLINQ to Objects。自分の中では、C#でSQLの構文が使えるイメージでいる。それは、LINQに用意されているメソッドが、「Where」、「Select」などクエリ演算子と呼ぶからだ。 var list = new List<string> { "Tyokyo", "New Delhi", "Bangkok", "London</string>…

【技術書メモ】C#ラムダ式まとめ

何度も勉強しているが、すぐに忘れて使えなくなるのがラムダ式。ということで、何度も何度も勉強し直しています。 正直に言うと、「ラムダ式とは何ですか?」と聞かれてもうまく説明できる自身がない。自分の中の理解としては、ラムダ式はPredicateデリゲー…

放置気味なこのブログが、最近急にアクセスが増えてきている。

放置気味なこのブログが、最近急にアクセスが増えてきている。 何事も飽きっぽい性分なのだが、例に漏れずブログ更新も飽きてしまっていた。「100記事書けばアクセスが増える」、「200記事書けばアクセスが増える」、「300記事書けばアクセスが増える」とネ…

【ゲームプレイ】【F1_2017】レースゲーム初心者がワールドチャンピオンを目指す

突然ですが、急にF1にハマりだした。これまで車関係に全く興味がなく、何なら周りにF1好きがかなりいたのにも関わらずだ。 きっかけとしては、Netflix制作のF1のドキュメンタリー。これはね、俺みたいな素人にもF1の魅力が伝わるように作られてるからホント…

C#を勉強する16_その他の文字列操作

文字配列から文字列を生成する // 配列の生成 var chars = new char[] { 'P', 'r', 'o', 'g', 'r', 'a', 'm', }; // 文字配列から文字列の生成 var str = new string(chars); 数値を文字列に変換する C#では、数値を文字列に変換する方法が、「ToStringメソ…

C#を勉強する15_文字列の連結と分割

次は文字列の連結と分割。文字連結といえば、+演算子。 var name = "山田" + "TARO"; 連結はこの+演算子でだいたい事足りるが、文字列配列の場合はJoinメソッドを使うと便利な使い方ができる。 var languages = new[] { "C", "Java", "VB", "Ruby" ,}; // 区…