C++のヘッダーファイルテンプレ

C++

このall.hを使う時は、 #include "all.h" と書くか、 コンパイル時に g++ -include all.h -o <出力するファイル名> main.cpp のようにする。 事前コンパイル ヘッダーファイルを事前にコンパイルするには g++ -std=c++17 -Wall --pedantic-errors -x c++-hea…

C++のソースファイルをGCCでコンパイルする方法

C++

方法 g++ <その他のオプション> -o <実行ファイル名> <ソースファイル名>.cpp ソースファイルを複数指定することもできる。 g++ -o abc a.cpp b.cpp c.cpp 主なオプション -std= ... C++のバージョンを指定する(例. -std=c++17 ) -Wall ... 警告メッセージを…

Unity DOTSで衝突時に何らかの処理を行う時のテンプレ

環境 Unity Entities 0.5.1 Unity Physics 0.2.5 コード

Authoring コンポーネントのテンプレ

using Unity.Entities; using UnityEngine; public class AnyAuthoring : MonoBehaviour, IConvertGameObjectToEntity { public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem) { dstManager.AddComp…

乱数の作り方(Unity.Mathematics.Random)

環境 Unity 2019.3.3f1 Mathematics 1.1.0 乱数の作り方 var random = new Random(Seed); // または // var random = new Random(); // random.InitState(Seed); // float型の乱数を取得 var a = random.NextFloat(); // float2型の乱数を取得 var b = rando…

ただのMonoBehaviorでEntityをいじる方法

using Unity.Collections; using Unity.Entities; using UnityEngine; public class TestBehavior : MonoBehaviour { private EntityManager _entityManager; private EntityQuery _entityQuery; private void Awake() { _entityManager = World.DefaultGame…

.gitignoreを編集するときの手順

Git

.gitignoreを編集する 次のコマンドを入力し、キャッシュをクリアする git rm -r --cached . commit & push 参考 .gitignoreに記載したのに反映されない件 - Qiita

zshでGitの補完を有効にさせる

Git

.zsh ディレクトリ作成 mkdir .zsh/completion vim ~/.zshrc .zshrcを編集 autoload -U compinit compinit rm -f ~/.zcompdump; compinit 参考 zshでgitのコマンドやブランチ名を補完できるようにする | qnyp blog zshでgitのコマンドやブランチ名を補完でき…

EventTriggerをスクリプトで設定する

private void Awake() { var eventTrigger = GetComponent<EventTrigger>(); // EventTriggerTypeを指定(ここではPointerDown) var pointerDownEntry = new EventTrigger.Entry {eventID = EventTriggerType.PointerDown}; // Event発行時に実行したいメソッドを登録(ここ</eventtrigger>…

.gitignoreを編集してもGithubに反映されない時の対処法

参考 .gitignoreに記載したのに反映されない件 - Qiita .gitignoreを更新しても反映されないときは「git rm -r –cached .」でキャッシュを削除 | エス技研

crateを追加する時の手順

crates.io crates.ioで使いたいcrateを探す。 Cargo.toml Cargo.tomlを編集し、 [dependencies] sdl2 = "0.33.0" のように追記する。

DOTSでTweenエンジンを作る

参考 https://forum.unity.com/threads/showcase-tweening-progress-and-performance-optimizations.711788/ GitHub - PlasticApps/PlasticTween: Tween Library for Unity3D(ECS+JOBS) https://forum.unity.com/threads/ecs-tween-a-very-simple-tweening-s…

Githubでreleasesを作成する時の手順

releasesブランチをcheckoutする git checkout releases タグをつける git tag <タグ名> リモートに反映させる git push origin <タグ名> GithubのTagsで からEdit releaseを選択

UnsafeUtilityについて

C#

UnsafeUtility.Mallocとは Unmanaged memoryを確保することができる。 // 確保するサイズ var size = UnsafeUtility.SizeOf<int>(); // メモリアライメント var alignment = UnsafeUtility.AlignOf<int>(); // アンマネージドメモリの確保 void* ptr = UnsafeUtility.M</int></int>…

World.DefaultGameObjectInjectionWorld とは

バージョン Entities 0.6.0 Worldとは 必要な部分だけ抜き出すとこんな感じ public partial class World : IDisposable { public static World DefaultGameObjectInjectionWorld { get; set; } private EntityManager m_EntityManager; public string Name {…

Unity DOTSにおけるUnitTest

Test Runnerを開く Window -> General -> Test Runner でTest Runnerを開く フォルダを作成 EditModeタブでCreate EditMode Test Assembly Folderでテスト用のフォルダを作成 Testスクリプトを作成 Create Test Scripts in current folderでスクリプトを作成…

最初にEntityを1つ作る方法

public static class InitializeAnyEntity { [RuntimeInitializeOnLoadMethod] public static void CreateAnyEntity() { var entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; entityManager.CreateEntity(/*ComponentDataを指定*/); }…

Universal Render Pipelineの初期設定

PackageのInstall Package ManagerからUniversalRPをInstallする。 UniversalRenderPipelineAssetの作成 Assets -> Create -> Rendering -> PipelineAsset でUniversalRenderPipelineAssetを作成する。 Scriptable Render Pipeline Settingsを設定 Edit -> P…

Github Flowで新しい機能を追加する時の手順

新しいブランチを作成 まず、masterブランチから新しいブランチを作成 ローカルリポジトリの準備 初めてcloneする場合と、以前cloneしたことがある場合とで異なる 初めてcloneする場合 git clone <url> 以前にcloneしたことがある場合 git checkout master git pu</url>…

プロジェクトを始める時のGit周りの設定

git 初期化 作業ディレクトリで git init で初期化する。 .gitignoreを作成 vimを使う場合は vim .gitignore VSCodeを使う場合は code .gitignore で.gitignoreを作成し、次のテキストを貼り付ける。 [Ll]ibrary/ [Tt]emp/ [Oo]bj/ [Bb]uild/ [Bb]uilds/ [Ll…

既存のプロジェクトに途中参加する時のGitの初期設定

作業したいディレクトリに移動し、 git clone <url> でリモートリポジトリをローカルに複製する</url>

プルリクエストを使った開発プロセス

[ 開発者 ] 作業対象のソースを clone または pull する [ 開発者 ] 作業用のブランチを作成する [ 開発者 ] 機能追加、改修といった開発作業を行う [ 開発者 ] 作業が完了したら push する [ 開発者 ] プルリクエストを作成する [ レビュー・マージ担当者 ]…

Githubの諸機能

@ユーザ名 : そのユーザに通知が届く @組織名 : そのOrganizationに所属している全員に通知が届く @組織名 / チーム : チームに所属している全員に通知が届く #番号 : そのリポジトリのIssue番号へのリンク ユーザ名 / リポジトリ名 #番号 : 指定したリポジ…

Github Flow

Github Flowとは Github Flowは次のようなルールがある。 masterブランチのものは何であれデプロイ可能である 新しい何かに取り組む際は、説明的な名前のブランチをmasterから作成する(例: new-oauth2-scopes) 作成したブランチにローカルでコミットし、サ…

Git コマンド チートシート

Git

git config 名前の設定 git config --global user.name 'YOUR NAME' メールアドレスの設定 git config --global user.email 'yourmail@example.com' カラー表示にする git config --global color.ui true 綺麗にlogを表示するための設定 git config --global…

セーブデータ管理

参考 Unityでゲームデータのセーブ・ロードを行う方法 | Unityを使った3Dゲームの作り方(かめくめ) Unityセーブデータ実装3原則【2019】 - 土屋つかさの技術ブログは今か無しか ローカルでセーブデータを管理する方法をまとめた【Unity】【JsonUtility】…

PrefabからEntityを生成する方法メモ(Entities v0.8.0)

はじめに DOTS以前のUnityでは、PrefabからGameObjectを生成したい時、 using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpawnPrefab : MonoBehaviour { [SerializeField] private GameObject prefab; privat…

DOTSでマスターデータ管理

概要 csvファイル(マスターデータ)を読み込み、ゲームに反映させる、ということをUnity DOTSで行う方法をまとめました。 本記事の執筆の際に、特に次のサイトを参考にさせて頂きました。 www.f-sp.com 環境 Unity 2019.3.0f5 Entities 0.5.0 preview.17 実装…

UnityPhysics高速化についてのメモ

基本的にCommandBufferではなく、CommandBuffer.Concurrentを使う。 CollisionEventsJobやTriggerEventsJobでは、 [NativeSetThreadIndex] private int _threadIndex; のように宣言するとスレッドの番号を入手できるので、これをCommandBuffer.Concurrentの…

randomの使い方

まず using Unity.Mathematics; を忘れずに書く。 var random = new Random(anyNum); var randomInt = random.NextInt(0, 10); var randomFloat = random.NextFloat(0.0f, 10.0f); 注意1 anyNumは0より大きい整数にする。 注意2 anyNumが同じ数字であれば、r…