おれんじりりぃぶろぐ

きっと何者にもなれないエンジニアのブログ

Unity1週間ゲームジャム「密」に参加した

概要 unityroom主催の1週間ゲームジャム(unity1week)に参加しました。2回目の参加です! 定期的に開催されていて、毎回変わるお題に従って1週間でゲームを作り、もう一週間で投稿されたゲームを評価するという仕組みになっています。 今回、4/27〜5/3に開催…

SceneViewでCmaeraの速度を変える

Unity2019.3を試してみて気づいた機能があったのでメモ こんな機能ができてました。 カメラ速度など変更できるようになっていました。 ちなみにカメラ速度の変化は、マウス右クリックでw:前進、s:後進で確認できます。 以前はSceneViewMotionを無理やりリフ…

Unityでとりあえずマルチ解像度に対応する方法

毎回、忘れるのでメモ。 CanvasにCanvas ScalerコンポーネントをつけてScale Size With Screen Sizeに設定する。

TextコンポーネントのFontを一括で置き換えるUnity Editor拡張

けっこうよく使うのでメモ。namespaceなどはいい感じにしましょう。 TextコンポーネントのFontを一括で置き換えるEditor拡張

GameObjectの子オブジェクトを全削除する方法

よく使うのでメモ。 最初は以下で対応できるかと思ったが、親自身も削除されてしまうのでやりたいことと違った。 foreach ( Transform tr in icon_parent.gameobject.transform ) { GameObject.Destroy(tr.gameObject); } 以下で親は残して子どもだけ削除で…

launchdでnodeが起動できなくなった

launchdでnode起動をしようとしたところ下記エラーがでたの回避した話です。 env: node: No such file or directory path参照が上手くいってくれていなかったのでplistの中に指定したら行けました。 <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>実際のPATH</string> </dict>

特定のブランチへのPR検索

GithubのPR検索画面でbase:release/x.x.xのように指定すればOK。

Unity1週間ゲームジャム「さがす」に参加した

概要 UnityRoom主催のUnity1週間ゲームジャム(10/14~10/21)に参加したのでその備忘録的な感想です。 Unity 1週間ゲームジャム | フリーゲーム投稿サイト unityroom 作ったゲームはこちらです。 unityroom.com お題発表 まずはお題が発表されるのでゲームの企…

git mergeで特定のファイルだけを取り込む

あんまり使う場面はないかもだけど。 git merge --no-commit -Xtheirs {mergeしたいブランチ名} git reset HEAD {mergeしたくないファイル名} git checkout {mergeしたくないファイル名} git commit -Xtheirsで相手方を優先して取り込む。 参考 git mergeで…

Unityプロジェクトで使っている.gitignore

Unityプロジェクト作るときに自分が使っている.gitignoreです。 Unityプロジェクトで使っている.gitignore

UnityでAndroidビルドをする方法

概要 前提 前準備 NDK、SDKのインストール Preferencesの設定 ビルド PlayerSettingsの設定 BuildSettingsの設定 gradleビルド 概要 UnityでAndroidのバイナリ(apk)を作成する手順の紹介です。 前提 Unity2018.4.6f1 Mac 前準備 NDK、SDKのインストール Andr…

特定のブランチにあるファイルを別のブランチに移す方法

概要 Gitを使った運用でのマニアック小ネタです。 特定のブランチにしかないファイルを別のブランチに移す方法を考えていきます。 方法① コピペする 単純で分かりやすい方法です。 デスクトップなどにファイルを一時的にコピーしておいて、ブランチを移動し…

指定した確率でture/falseを取得する

概要 Unityでゲームを作っている時に指定した確率でtrue/falseを取得するということをやりたかったのでそのメモです。 方法 使われる側 private bool GetRandBool(int rate) { int num = Random.Range(0, 100); if (num < rate) { return true; } return fal…

Gitコマンド集

概要 自分がよく使うgitコマンドを随時追加していく予定。 gitって難しいな。 コマンド 一つ前のコミットメッセージを変更したい git commit --amend ブランチ間の差分を見たい(ファイル名のみ表示) git --name-only master...target/branch ブランチ間のf…

Unityでマルチ解像度に対応する

現在、ありとあらゆるスマホやタブレットのアスペクト比の端末が存在しています。 例えばCanvasサイズ1136x640でUI実装を進めた場合、1280×720の端末では以下のような表示になってしまい、大変残念です。 今回はCanvasScalerを使っての対応を行ってみます。 …

Unityでタップ演出を実装する

概要 こんな感じのタップ演出の実装方法です。 パーティクルの用意 白く光る波紋はパーティクルを使っています。今回はテクスチャなどの用意はしていません。 設定は以下のようにしています。 color over lifetimeも設定します。 左上のアルファは255、右上…

Karabinerの設定

自分のPCに設定しているKarabinerの設定です。 使っているキーボードはこちらになります。第3勢力、マジェスタッチ青軸です。 FILCO Majestouch2 91テンキーレス青軸日本語配列 USB&PS2両対応 Nキーロールオーバー対応 独Cherry青軸採用メカニカルキーボード…

適当なバイナリファイルを作る

適当なバイナリファイルを作成する方法のメモです。 1KBのsample.binという適当なバイナリファイルを作成してみます。 dd bs=1024 count=1 if=/dev/urandom of='sample.bin' bs: 1ブロックのサイズ count: ブロック数 of: ファイル名

C#で特定の文字列を抽出する

数ヶ月に1度くらいの頻度でMatchと向き合わなければならないときが来るわけですが 毎度、1万3000年の時を超えて記憶を辿るはめになるので 次回からはそうならないようにメモしておこう。そうしよう。 "http://sample.com?id=2"からid=2を抽出したい。 using …

MacにUnityのキャッシュサーバーを導入してみる

概要 ビルド時間、Switchプラットフォーム高速化のため Unityのキャッシュサーバーを導入してLaunchAgent登録するところまでやってみました。 インストール バージョン6以上からはGithubでの管理になりました。 https://github.com/Unity-Technologies/unity…

プライバシーポリシー

Fantastic Monsterは、以下のとおり個人情報保護方針を定め、個人情報保護の仕組みを構築し、個人情報保護の重要性の認識と取組みを徹底することにより、個人情報の保護を推進致します。 個人情報の管理 Fantastic Monsterは、お客さまの個人情報を正確かつ…

Unityで作ったアプリで端末の電源ボタンを押してもアプリが復活する問題に遭遇した

現象 Unityで開発中のアプリにてAndroidの特定端末でタイトルの現象に遭遇しました。 アプリ起動中に電源ボタンを押してサスペンドさせても数秒後に勝手にロック画面も表示されずアプリが復活してしまうという現象です。 なんと自己主張が強いアプリです。 …

Unityを使って女の子二人を動かすまで

成果物 使用したツール MagicaVoxel blender.org - Home of the Blender project - Free and Open 3D Creation Software Unity やったこと MagicaVoxcelを使って簡単なモデリングをし、blenderでリギングを行いました。さらに、Unityにインポートしてアニメ…

Googleドキュメントにソースコードを綺麗に挿入する

いくつか試しましたが、「Code Block for Google Docs」というアドオンが良かったです。 [アドオン] -> [アドオンを取得] -> 「Code Block for Google Docs」で検索して追加できます。 使い方は、[アドオン] -> [CodeBlocks] -> [Start]から整形することがで…

UnityでGCの回数を計測する

GC.CollectionCount()を使ってGCの回数を取得することができます。 GC.CollectionCount(0)はプロセスを起動してからのGC回数を返してくれます。 https://msdn.microsoft.com/ja-jp/library/system.gc.collectioncount(v=vs.110).aspx int startGcCount = GC.…

JenkinsでHockeyAppへのアップロードを下流Jobにする

まえおき JenkinsでHockeyAppへのバイナリアップロードを別ジョブとして切り離す方法です。 Jobを切り離さない場合、ジョブが失敗した時にビルド自体が失敗したのかアップロードが失敗したのか分かりづらい、さらにビルド時間とアップロードにかかる時間が一…

UnityでSwitchのJoyConを使う

まえおき switchのJoyConをUnityで使う方法です。 基本的には以下の記事を参考にしましたが、一部ハマった箇所があるのでメモしておきます。 http://baba-s.hatenablog.com/entry/2017 環境 Mac Unity2018.1.b13 やり方 JoyConとMacをBluetoothで接続します…

Unityのマルチスレッド界隈のはなし

Unityでのマルチスレッド界隈について断片化した理解にとどまっていたので、自分なりのまとめを行ってみました。 まず非同期実装と並列プログラミングは分けて考えよう 非同期実装は順番通りに処理を実行しない、逐次処理とは対比的な処理のことである 非同…

Unityコルーチンをawaitするサンプル

概略 C#5からawait句が導入され非同期実装がとてもお手軽にできるようになりました。 awaitはTaskへ使うものと思ってしまいがちですが、一定の条件を満たせばawaitを使った非同期実装を行うことが出来ます。 実装 AwaitHelloWorld.cs using System; using Sy…

Unity2018での文字列の扱い方

概略 Unityで文字列の連結を行う方法として以下の3つのパフォーマンスを比較してみました。1000回ループし文字列を連結させた時の処理時間とGC回数を計測しました。 string(StingTest) stringBuilder(StringBuilderTest) 文字列補間(BuildInStringTest) C#6…