ゆーとぴあ。ブログ

技術の備忘録や、日記などを投稿します

【Unity】ECS(Entity Component System)を勉強してみた①【DOTS】

DOTSとは? ECS(Entity Component System)とは? ECSの構成要素 Entity Component Data Component System Component Group World ECSの導入 皆さんは「DOTS」(Data-Oriented Technology Stack)をご存知でしょうか? DOTSとは? 最新のマルチコアプロセッ…

【Unity】種類別にアセットを検索する

今回はゆる記事でお送りします。 ヒエラルキービューで名前別、アタッチされたコンポーネント別に検索する方法はみなさんご存知かと思いますが、プロジェクトビューでもアセットの種類別で検索できることをご存知でしょうか? あくまで"種類別"なのでこのコ…

【雑記】やることが多い時に意識していること

4月から社会人になったぐっちーです! 先月末から実際に現場に入り業務をしているわけですが、新卒は新卒ならではの作業があり、それらを業務と並行して進めなければならず苦労している人も多いと思います。 実際に、僕も今月の初め頃並行して行う作業が4, 5…

【Unity】Webページ表示拡張メソッド【WebViewExtensions】

概要 Webページの表示やunity-webviewの機能(アプリ内にWebページ表示、ローカルページ読み込み)を使いやすくした拡張メソッド GitHub github.com unity-webview github.com 使用方法 ①WebPageのScriptableObjectに開きたいページを登録 → 指定順はWebPage…

【雑記】収益化しているアプリを公開する際の注意点

アプリをAppStoreやGooglePlayで公開するときに、レーティングであったり広告が含まれるかどうかみたいな様々な設定を行うことになります。 それを踏まえた上で申請が通れば公開されますが、収益化されているアプリは大きく2つ、設定を忘れてしまうと公開停…

【雑記】実務始まりました!

入社から約2ヶ月の研修期間を終え、現在SGEの株式会社グレンジでクライアントエンジニアをしているぐっちーです! 配属と意気込みについての記事はこちら utopia2019.hateblo.jp 株式会社グレンジ 多彩なダンジョンや様々なコラボをしているなぞるRPG「ポコ…

【雑記】macのアルミボディ傷つきやすい問題

二番煎じだけど前にめっちゃ感動したのに書いてなかったなーと思ったので書くことにしました macのアルミボディって充電器上に置いてたり持ち運びしたりするとすぐに傷ついちゃうんですよね レザースリーブみたいなのをつけて予め対策することはできますが一…

【Unity】複数のImageAnchorを管理できる拡張メソッド【ARImageAnchorExtensions】

概要 ARKitのサンプルでImageAnchorの管理が1種類しかできなかったものを複数種類できるようにした拡張メソッド GitHub github.com 使用方法 GenerateImageAnchorをアタッチしていた部分をARImageAnchorExtensionsに変更 ※その他マーカー検出にはARKitの導入…

【C#】意外と知らない名前付き引数

C# 4.0から追加されたオプション引数と名前付き引数ですが、あんまり使われているところを見たことがなかったため意外と知らないのでは?と思い紹介することにしました。 オプション引数 C++でもあったデフォルト引数とも呼ばれるものです。 オプション引数…

【雑記】配属が決まりました!

僕の勤めている会社で先日配属が決まったので、意気込み等含めて久しぶりに雑記を書こうと思います。 今まで、内定しました!や入社しました!などサラッと言うことはありましたが、改めてこういったアウトプットの場で報告したことがなかったため、これから…

【Unity】ドンキーコングシリーズギミック実装してみた:バナナをつかめ!編【4】

今回はドンキーコング3のボーナスの一つである「バナナをつかめ!」を作りました! github.com バナナをつかめ! スーパードンキーコング3に初めて登場したボーナスです。 制限時間内に指定された数の緑色のバナナを取得するというミニゲームで、各ステージ…

【Unity】Taskのキャンセル処理を楽に行う拡張メソッド【AwaitTriggerExtensions】

概要 オブジェクトが削除または非アクティブになった際にasync/await処理が動き続けるのをキャンセルする拡張メソッド(自作) GitHub github.com 使用例 [SerializeField] private AwaitTriggerExtensions _awaitExt; private async Task Hoge() { Debug.Lo…

【Unity】ドンキーコングシリーズギミック実装してみた:熱気球編【3】

今回はドンキーコング2の「ねっききゅうライド」より熱気球を作りました! github.com 熱気球 ドンキーコング2の2ワールド目、マグマのどうくつ「クロコドーム」には3つのマグマステージがあります。初見の頃にとても苦戦した「しゃくねつダイビング」を…

【Unity】ドンキーコングシリーズギミック実装してみた:KONGパネル編【2】

今回はシリーズ全てに登場するKONGパネルを作りました! github.com KONGパネル KONGパネルはステージの進捗を表しているもので、ゴールに近づくごとにK→O→N→Gと配置されています。全てあつめると1upすることができます。 ボーナスやDKコインとは違って、ほ…

【雑記】これからゲーム業界を目指す後輩たちに向けて

もうすぐ新年度を迎え、新しい生活を始める人・就活を始める人・業界を考え始める時期に入る人、さまざまいると思うので、後輩に向けて私なりに何か話せたらと思います。 これまでの記事で書いてある内容と被るところもあると思いますが、それだけ大事にして…

【Unity】ドンキーコングシリーズギミック実装してみた:タルルーレット編【1】

今回から、私が前からずっとやりたいと思っていたドンキーコングシリーズのギミックをUnityで作ってみたシリーズを紹介していきたいと思います。 github.com 第1回ということで簡単にドンキーコングシリーズについて紹介します。 ドンキーコングとは? ドン…

【雑記】語彙力って大事

チームや組織での開発においてコミュニケーションは必要不可欠です。 私は昔からずっと会話が苦手で、どんな状況でもしっかり言葉を発信できる人が羨ましいなと思ってます。 よく人から「こんな喋れるコミュ障いたら困るわ!」「全然話せてるじゃん気にする…

【Unity】動画の再生

卒業式前後で忙しく現在作っているものの紹介が間に合いそうになかったので、 今回は休憩がてらドロップシュートのPVをUnityで流して見ました! 動画の再生にはVideo Playerという機能を使っています。 PlaneやCube等にアタッチして、Video PlayerにVideo Cl…

【雑記】横の繋がりを広げる大切さ

学生の方で、同じ学校の同級生以外の横の繋がりはありますか? ハッカソン等イベントに参加したことのある人は他の学校の人や団体の人と繋がることはできますが、あまりそういう経験がない人は能力を比較できる対象が同じ学校の人しかいないと思います。 実…

【Unity】サウンドアセットの軽量化

ゲーム開発において、BGMや効果音は必要不可欠です。しかし、サウンドアセットの容量がそのままゲームの容量に上乗せされてしまうため、たくさんのBGMや効果音のあるゲームはそれだけ大きな容量のゲームになってしまいます。 Unityにおけるサウンドの欠点を…

【雑記】開発におけるバージョンについて

普段皆さんは、開発において使っているツールやエンジンのバージョンは何を使っていますか? 常に最新にしていたい方もいれば、確実に安定しているバージョン(他の開発でも使用していたバージョンなど)を使い続けている方もいると思います。 私は少し前ま…

【VisualStudio】書式をコーディング規約に沿わせる

今回は、チーム開発において欠かせないコーディング規約をVisualStudio上で自動で修正してくれる機能を紹介したいと思います。 Tabの空白文字数などの設定をすることはよくあると思いますが、クラスや条件文、列挙型等々の括弧を改行するかしないか、プロパ…

【雑記】一人暮らし始めました

今週の雑記記事は引っ越し前後で忙しいため短いです、すみません! 今まで私は実家暮らしでしたが、先日から上京し一人暮らしを始めております。 そこでまず第一に実感したのが、 100均素晴らしいいいいいいいいい!!!!!!!!!! こういうのあったらい…

【Unity】プラットフォームやバージョンごとに処理内容を分ける方法

ゲームやアプリの開発において、このプラットフォームには対応していない、このバージョンではこの機能は使えないなど プラットフォームやUnityのバージョン、さらに言えば端末のバージョンなどでも処理を分ける必要が出てくることがあります。そこで利用す…

【雑記】命名規則と開発ルールを統一する重要さ

これまで私は、全員プログラマーのチーム、プランナーとプログラマーの混合チーム、プログラマーとクリエイターの混合チーム、実際の現場での開発など様々な複数人数での開発を経験してきました。 個人で開発している場合は、何も気にせず自由に開発していれ…

【Unity】Actionのnullチェックを省略する

C#には、delegateと呼ばれる機能があります。 ufcpp.net 簡単に言うと、関数を入れられる変数です。 C++を知っている人であれば、関数ポインタやstd::functionを思い浮かべればわかりやすいと思います。 delegateは、コールバックに使われたりラムダ式に書き…

【雑記】専門学校生活で意識していたこと

先日、卒業制作展含め専門学校の授業過程が終わりました。 この3年間はかなり濃い人生だったと思います。 そこで、技術的にも自分を成長させるために何を意識していたか振り返ってみました。 目次 軸をもつこと 基礎を作ること 挑戦すること 飛躍していくこ…

【宣伝】ドロップシュート絶賛配信中!!!

学校の卒業制作にて私がプロジェクトマネージャ兼チームリーダーを勤めた、 チームN.T.K.Gの「ドロップシュート」がGoogle Playにて絶賛配信中です! play.google.com ドロップシュート とは 3vs3の計6人でリアルタイム対戦を行うおはじきアクションバトルで…

【Unity】シーンを非同期的に読み込む【LoadSceneAsync】

docs.unity3d.com 普段、Unityでシーンを読み込む際にはSceneManagerのLoadScene()というメソッドを用いると思います。 トランジションなど設定している場合は魅せ方の工夫は多少できますが例えば、 ローディング画面を作りたい シーンの最初でリソースのプ…

ブログ開設しました!!!

はじめまして! Unityでゲームの開発をしているぐっちーといいます! この度、ブログを開設することにしました。 主に、日記(純粋に心が動いたことなど)や技術関係の備忘録・後輩に向けてのアドバイスなど様々な用途で発信していきたいと思っています。 (…