dasukoのブログ

現役エンジニアのブログです。

プログラミング

【Unity】MenuItemでショーカットキーを設定する

はじめに UnityにはMenuItemというメインメニューとインスペクターのコンテキストメニューにメニューアイテムを追加することができるAttributeがあります。 MenuItemの公式のドキュメントはこちら UnityEditor.MenuItem - Unity スクリプトリファレンス Menu…

エンジニアは大きく2つのタイプに分けられるという話

はじめに エンジニアのタイプ クリエイタータイプ 技術者タイプ 技術者かつクリエイタータイプ 最後に はじめに これまで10年以上プログラミングをしてきて、エンジニアには大きく2つのタイプがいるなーと感じます。 ※基本的にこれらは、個人の意見であり、…

【Unity】TryGetComponentが便利

はじめに C#ではTry◯◯みたいなメソッドがあり、取得できたのみ処理したい場合に 簡潔に書くことができます。 詳しくはこちらを見てみるといいと思います。 文字列が数値を表しているかどうかを確認する方法 - C# プログラミング ガイド | Microsoft Docs int…

【C#】DI(Dependency Injection)を使ってみた!(Unityでの実装例あり)

はじめに 今回はDI(Dependency Injection)についてまとめてみたいと思います。 Dependency Injectionとは Dependency Injectionの意味は依存性の注入です。 Wikipediaにはこのようにあります。 依存性の注入(いそんせいのちゅうにゅう、英: Dependency inje…

【Unity】SerializeReferenceを使ってみた

はじめに 今回はSerializeReferenceを使ってみたいと思います。 ドキュメントはこちら Unity - Scripting API: SerializeReference SerializeReferenceとは フィールドをシリアル化する方法として、SerializeFieldAttributeを追加するという方法があります。…

【Unity】EditorでCoroutineを使う方法!Editor Coroutines

はじめに インストール 実装 参考 はじめに 今回はEditor Coroutinesをご紹介します。 Editor拡張でCoroutine(コルーチン)を使いたい!ってことがたまにあるかと思います。(HTTPリクエストを実装するときとか) このパッケージを使えば、Editor上で簡単に…

エンジニアのキャリアについて

はじめに エンジニアのキャリアについて少し書いてみたいと思います。 まずは、筆者のキャリアとしては、一部上場企業、未上場企業でそれぞれ正社員のエンジニアとしての経験があります。 正社員としてのキャリアプランについて エンジニアとしてのキャリア…

エンジニアとしてのアウトプット法

はじめに アウトプット方法 ブログやWikiにまとめてみる 人に教える 何か簡単なサービスを作ってみる 最後に はじめに 今回は筆者のエンジニアとしてのアウトプット方法についてまとめてみたいと思います。 今回はあくまでインプットではなくアウトプットに…

【Unity】カメラの切り替えの実装 | 実装パターン3つ紹介

はじめに Unityは3dゲームを容易に開発することのできるゲームエンジンです。 3dゲーム開発ではカメラを複数配置して、それらを切り替えるといった表現をすることが多くあります。 今回はカメラの切り替え方法についてご紹介します。 どのようにカメラが選ば…

エンジニアならまず、アルゴリズムやデザインパターンを勉強するべき

はじめに アルゴリズムやデザインパターンが重要である理由 はじめに 筆者はC++やObjectiveCやJavaやC#で主にモバイルのアプリ開発をしています。 そんな筆者がエンジニアという職の経験を通して、まずエンジニアとしてまず、勉強するべきことはアルゴリズム…

【Unity】ゲームデータの保存を実装してみる

はじめに まずは簡単に実装してみる 少しだけ拡張してみる 具体的な実装 最後に 参考 はじめに 前回このような"ゲームデータの保存と読み込み方法"に関する記事を書きました。 dasuko.hatenadiary.jp 今回は実際に実装してみたいと思います。 まずは簡単に実…

【Unity】ゲームデータの保存と読み込みの実装方法

はじめに セーブデータ実装の選択肢 PlayerPrefsに保存する PlayerPrefsとは ファイルに保存する 最後に 参考 はじめに 今回はゲームデータの保存(セーブ)と読み込み(ロード)の実装方法をご紹介したいと思います。 今回テーマとするセーブデータとは、サ…

【Unity】Unity標準のJsonUtilityを使ってシリアライズ

はじめに UnityでJSONデータをシリアライズ、でシリアライズといった操作をする時に、どうやって実装されていますか? Unityには標準でJSONデータを操作するための機能があります。 それがJsonUtilityです。 今回はこのJsonUtilityについてご紹介します。 公…

【Git】Git入門!これさえ覚えておけば業務で困らないコマンド紹介!

はじめに 覚えておくべきコマンド一覧 clone branch add 便利なpオプション commit log merge push pull push おまけ rebase まとめ はじめに バージョン管理でGitを使用されている方は多いんじゃないでしょうか。 中にはSourceTreeを使っていてGUIでGitを操…

【Unity】オブジェクトの移動ロジックについて!移動の実装方法を3つご紹介

はじめに Positionを加算する Rigidbodyのvelocityを変更する 力を加えて移動させる まとめ 参考 はじめに ゲームを作る時に物体を動かすということはよくあることだと思います。 プレイヤーや敵、ギミック… 今回は物体の動かし方をいくつかご紹介したいと思…

エンジニア向けMacのキャッシュ削除まとめ

iOSアプリ開発者向けキャッシュ削除方法 Androidアプリ開発者向けキャッシュ削除方法 容量が大きいファイルの抽出 ハイバーネーション スワップファイル アプリケーションのキャッシュ Chromeのブラウザのキャッシュ Homebrewのクリーンアップ Gitのマージさ…

【Unity】当たり判定を実装する

はじめに GameObjectにColliderを設定する Rigidbodyコンポーネントとは Colliderコンポーネント BoxCollider SphereCollider CapsuleCollider GameObjectにコンポーネントを追加する スクリプトを書く 当たり判定を取得するためのメソッド OnCollision OnTr…

全て完璧を目指すなんて無理だよね

これは、今勉強している人、社会人での経験が浅い人、仕事で悩んでる人、学生などに向けた記事となります。 人間はなんでもカテゴライズしたがる。 職業も同様に"エンジニア"、"デザイナー"、"料理人"、"営業"、"医者"ってな感じでカテゴライズされてしまう…

CMake入門 - ライブラリをビルドしてみる

はじめに 前回CMake入門についての記事を書かせていただきました。 dasuko.hatenadiary.jp この記事では、C++ファイルを追加して、CMakeで実行ファイルを生成するところまでの手順を紹介しました。 今回はCMakeでライブラリを生成してみたいと思います。 C++…

どんな仕事においてもタスクと工数の変換は大事だよね

どんな仕事においてもタスク->工数(何時間かかるか)の変換って大事だなと、最近とても思います。 これは、エンジニア、プログラマーに限った話ではなく、どんな業種でも。 もちろん、大きな作業単位で工数を出せるのは大事だけど、小さな作業単位でも何時間…

CMake入門

はじめに CMakeとは CMakeのインストール ビルドして実行ファイルを生成してみる まとめ 参考 はじめに 今回はCMakeについて簡単に説明し、簡単に使い方を紹介してみたいと思います。 CMakeとは CMakeはコンパイラに依存しないビルド自動化のためのフリーソ…

【割と便利】Macでのウインドウの画面分割

意外と知らない人も多そうなので、Macの標準機能でウインドウの画面分割ができるのでご紹介します。 (この方法はどのウインドウ、アプリでも可能です。) 今回はVSCodeで試してみます。 まずは左上の緑色のボタンにポインタを合わせます。 すると、画像のよう…

【Flutter】UIを構築してみる

はじめに 前回は環境構築をして、サンプルアプリの実行までしたので、 今回はUIの構築をしてみたいと思います。 環境構築の記事はこちらです。 dasuko.hatenadiary.jp 新規プロジェクトを作成し、サンプルアプリを実行してみた記事はこちらです。 dasuko.hat…

【Flutter】新規プロジェクトの作成、実行してみる

はじめに 新規プロジェクト作成 ソースコード 起動 まとめ 参考 はじめに 今回はFlutterでプロジェクトを新規で作成し、デバイス(iOS Simulator)で実行するところまでを試してみたいと思います! 環境構築についての記事はこちら dasuko.hatenadiary.jp 今回…

Flutterの環境構築をしてみた(MacOS)

はじめに Flutterのインストール パスを通す flutter doctorコマンドで環境の確認 Android Toolchainのインストール Xcodeの設定 Android StudioでPluginをインストール VS CodeでFlutter extensionのインストール 参考 はじめに Flutterを少し触ってみたい…

【Unity】Firebaseの機能まとめ

はじめに Firebase Authentication Firebase Analytics Firebase Crashlytics Firebase Remote Config Firebase Storage Firebase Cloud Firestore 参考 はじめに UnityでFirebaseを使うととても便利だということをぜひお伝えしたいです!!! Firebaseを使…

【Unity】Firebase Cloud Firestoreを実装してみた

はじめに 今回はUnityでFirebase Cloud Firestoreを実装してみたいと思います 公式ドキュメントはこちらです。 Cloud Firestore | Firebase Firebase Console上での画面はここです。 Firebase Cloud Firestoreとは Google の柔軟でスケーラブルな NoSQL クラ…

【C++】C++でHTTPサーバを実装してみた

はじめに 今回のゴール エンドポイントの作成 domain type sockaddr_in構造体 bind listen accept recv send 最終的なコード 実行結果 まとめ 参考 はじめに サーバの理解を深めるためになんとしてもC++でサーバを実装してみたい!と思い、実装してみました…

【Unity】Componentの操作まとめ

はじめに 前提条件 Componentの追加 EditorでGameObjectに対してComponentを追加 ScriptからGameObjectに対してComponentを追加 Componentの取得 Componentの削除 EditorからGameObjectのComponentを削除 ScriptからGameObjectのComponentを削除 Componentを…

【iOS】Objective-Cのプロパティ属性のまとめ

はじめに atomicとnonatomic atomic (default) nonatomic strongとassign weak copy まとめ 参考 はじめに Objective-Cのプロパティを自分のためのメモの意味を込めてまとめてみたいと思います。 atomicとnonatomic atomic (default) atomicは、スレッドの安…