マッピィ Techlog

日々思うこと

Unity

【C#】【Unity】forとforeachの速度の差

teratailの質問の一部であったので、気になりました。 C# memory and performance tips for Unity | somasim games によると、foreachの方が遅いとのこと。 理由としては、enumeratorが内部的に生成されることによるオーバーヘッドだそうです。 コードを引用…

【Unity】ゲームは難病の子どもたちを救う

blogs.unity3d.com Unity公式ブログより。 GameChangerという慈善団体があり、難病の子どもたちを支援しているそうです。 単に、財政的だけでなく、ゲームソフトを送る、という点でユニークだと思います。 記事によると、治療で苦しんでいる子どもが、ゲーム…

【Unity】Inspector vs GetComponentの速度

taiti0522様の記事。 qiita.com お互いに100万回アクセスしてその時間を測定されたそうです。 わずかにGetComponentの方が重いかも、くらいな様子。 FindChildも設定によるのでしょうけど、思ったより、らしいです。 よく周りから、Inspectorにするよう言わ…

【Unity】Unityエディタを再起動させる

qiita.com 確かに、ソースコード管理ツール(SVNなど)を使う時など、再起動したくなることはありますね。 試してはいないのですが、こういう方法があるのかと感心しました。 r-ngtm様のサイトによると、エディタ拡張で以下を呼ぶだけ。 Process.Start(Edito…

【Unity】Unity道場09・Unity with VOCALOIDの歩き方

speakerdeck.com 7月30日の資料です。 ・VOCALOIDとは ・Unityでの展開 ・VOCALOID SDKの使い方 について、まとめられています。 サンプルプロジェクトもあります。 ある条件範囲であれば、無料で利用できるようなので、気軽に触ってみてもよさそうですね。

【Unity】Unity 5.4リリース!

blogs.unity3d.com 長いベータテストが終わり、とうとうリリースされました。 使用感などはこれから各所で明らかになっていくと思います。 上記サイトでは概要がざっと書いてあるので、導入前に見ておくといいでしょう。 個人的には「レンダリングパフォーマ…

【Unity】Unityの座標系

UnityのCameraが使う3つの座標系 - テラシュールブログ 座標変換は日常茶飯事で行われています。 基本の使いどころは2D←→3D変換ですが ・タッチする(2D入力)と3Dが反応する ・3D上にステータスが表示される などでしょうか。 Screen座標…2次元、値は0~解…

【Unity】ストリートビューを表示する方法

UnityでGPS使ってストリートビューを歩きたい - Qiita を読んでいて、Unityでストリートビューをテクスチャで取得できるようです。 これができればポケモンGOみたいなゲームも作れるかも? string url = "http://maps.googleapis.com/maps/api/streetview?" …

【Unity】EditorWindowでのテキスト入力

デバッグ用にEditorWindowを使っています。 今までボタンとラベルで事足りていたのですが、テキスト入力の必要ができたので、メモ。 private string text = ""; private void OnGUI() { int x = 100, y = 100, width = 100, height = 100; text = GUI.TextFi…

【Unity】オブジェクトにつけたパーティクルをスクリプトから制御したい

teratail.com コリジョンについて分かりやすく解説してあったので。 ・BoxColliderとBoxCollider2Dは両立しない ・Rigidbodyを亜タッチする ・IsTriggerがfalseならOnCollisionEnter()、trueならOnTriggerEnter()が呼ばれる ・Colliderと同じオブジェクトに…

【Unity】Unity道場「ライティング虎の巻」

speakerdeck.com 2016年7月10日付けのスライド。 Unityというか3DCGにおけるライトの話、ということで面白かったです。 私は基本CG関係はデザイナーにお任せしていますが、 絵に興味がないわけではないので、話せる程度にはしておきたいのです。

【Unity】Admobとは

ネットの記事を読んで、Admobという見慣れない単語があったので調べました。 どうやらアプリの上下に出るバナー広告のことらしい。 これが広告収入というやつなのかな。 Mobile App Monetization, Analysis & Mediation – Google AdMob 公式サイトを読んでみ…

【Unity】SceneビューにGUIで表示

【UnityEditor】Sceneビューに文字を表示させる最小コード - Qiita の記事を読んで。 SceneView.onSceneGUIDelegate += (sceneView) => { Handles.BeginGUI(); GUILayout.Label("test"); Handles.EndGUI(); }; とすれば簡単に表示できるとのことです。 試し…

【Unity】GPSを使ってみる

海外では「Pokémon GO」が流行っているみたいですね。 位置情報をもとに、現実世界でポケモンをGETするゲームだとか…。 Ingressみたいな感じなんでしょうね。 というわけで、UnityでGPS情報を取得する方法を調べてみました。 IEnumerator Start() { Input.lo…

【Unity】UniRx

未来のプログラミング技術をUnityで -UniRx- from torisoup www.slideshare.net Reactive Extensions for Unity ・時間を使った処理(イベント、非同期、時間計測など)が簡潔になる。 ・オペレータと呼ばれる、ストリームを操作する関数が便利。 →メッセー…

【Unity】オブジェクトプール

ObjectPoolを実装してみた。【Unity】【ObjectPool】 | Unity開発Tips と 新・オブジェクトプール - テラシュールブログ を読んで。 オブジェクトの生成・破棄が重い処理なのは知られています。 例えば、シューティングゲームの弾。 これを生成し、着弾か画…

【Unity】Consoleログを検索する方法

UnityでConsoleを多用しているのですが、検索ができずに意外に不便。 以下の記事では、Assetsを紹介しているのですが、$20と有料… [Unity]Consoleのログをテキスト検索する | 未知の路 やはりEditor.logで検索するのが1番でしょうか… 自分はショートカットを…

【Unity】シーンを読み込んでからの時間経過

Unity - 【Unity】シーンを読み込んでから一定時間経過後にオブジェクトを再表示させたい(40548)|teratail Time.timeSinceLevelLoad とすれば、ロードしてからの時間が取れるんですね。 知らなかった。 teratailのUnityに関する質問を読んでます。 https://…

【Unity】Unity timersアセット

最近ニュースの引用が増えている気がするので反省。 プログラミングをする時間がなかなか取れないので、せめて人のコードでも多く読む努力はしようかと。 勉強はまず量をこなすのが鉄則と思うので。 これでWaitForSecondsともオサラバ!Unity timers(UT)アセ…

【Programming】【Unity】エンジニアに必要な能力

いいスライドがありました。 speakerdeck.com スライドは2つの構成になっていて ・UIデザイナーとディベロッパーのやりとりでよくあること ・ディレクターあるいはのためのUnity となっています。 私はエンジニアなので、前編の方はとても共感できますね。 …

【Unity】起動時にエディタースクリプト実行する属性

Unity - マニュアル: 起動時エディタースクリプト実行 InitializeOnLoadという属性をつけると、起動時に優先して呼び出すことが可能だそうです。 [InitializeOnLoad] public class Test { static Test() { Debug.Log("Test started"); } } デバッグ時に何か…

【Unity】「Unityスキルがなくても使える短期間ゲーム開発のポイント」

speakerdeck.com という記事。 小規模でのゲーム開発において、工夫できる点を簡潔にまとめています。 個人的な印象として、Unity2割、ゲーム開発8割な内容です。 資料をまとめるなら、以下の感じでしょうか。 【問題】 ・少人数で、開発時間も少ないし、ス…

【Unity】6月からUNITYのライセンスと価格が刷新に

blogs.unity3d.com 2016年6月からライセンスと価格が変更されました。 全てのプラットフォームとアップデートが使用できるようです。 個人で購入できるライセンスとしては Unity Personal / Unity Plus / Unity Pro がありますが、私としては月額5880円のPlu…

【Unity】子オブジェクトまで非表示

(Unity5.5.3p2) 子も含めたオブジェクトの非表示に gameObject.SetActiveRecursively(false); を使っていましたが、Unity5では非推奨のようです。 代わりに gameObject.SetActive(false); を使うのがいいようです。 ただし、これだと、 gameObject.Find("~"…

【Unity】Photonを使ってみた・その2

昨日のデモに続いて、今日はスクリプト周りを。 ドキュメントがあるので、そちらもご参照ください。 接続 ConnectAndJoinRandom.csにあります。 まずは PhotonNetwork.ConnectUsingSettings(Version + "." + SceneManagerHelper.ActiveSceneBuildIndex); と…

【Unity】Photonを使ってみた

自分でイチから触ったことがないので、ためしに使ってみました。 結論から言うと、ネットワーク機能が簡単に使えてすごいです!!! ちなみにPhoton、20CCUまで初期費用・月額無料とのこと。 ※CCU…Concurrent Users=同時接続できるユーザー数 ここでは付属…

【Unity】Random.Range関数

public static float Range(float min, float max); public static int Range(int min, int max); と、浮動小数と整数のランダム値を返す関数があるのですが、 その引数(min, max)について、浮動小数はmaxを含むのに対し、整数は含まないようです。 要はmi…

【Unity】無限ループになった時に対応

blogs.unity3d.com にコメント投稿でやりとりがあります。 私も開発中に無限ループになり、泣く泣くUnityを強制終了することがあります。 それまでのsceneが消えてしまうこともあり… コメント最後の方にあるアセットが有効みたいですね。 「Panic Button」 h…

【Unity】子オブジェクトの即時破棄

子オブジェクトについて、破棄しても、同フレーム内では破棄されていないようです。 (具体的にはUIGridのRepositionではまった) 一応DestroyImmediateという関数もあるらしいですが、推奨されていませんでした。 docs.unity3d.com transform.DetachChildre…

【Unity】【NGUI】UIGrid

UIGridについて調べてました。 基本的な使い方は分かりましたが、細かいところは調べきれず。 ただ、将棋やポーカーなど行列に並べるゲームに使えそうです。 ・Arrangement Horizontalは横に、Verticalは縦に並ぶ。 Cell Snapは公式によると 「UIGrid now ha…

【Unity】【Windows】【Android】apkインストールバッチ

複数端末へのインストール向けにインストールバッチを作りました。 このバッチにapkをドラッグアンドドロップすればインストールできます。 ※adbは環境変数でパスを通すか、フルパスに書き換えてください。 adb install -r %1

【Unity】チュートリアル

公式のチュートリアルが勉強になりそうです。 github.com よく売られているUnity本では、どうも理解が深まらない気がしてて…。 基礎から学び直したいと思います。

【Unity】「モダンなUIの提案と実装」

Unity道場にスライドが追加されました。 https://speakerdeck.com/unitydojo/unitydao-chang-modannauifalseti-an-toshi-zhuang-qian-bian 前後編に分かれています。 前編はインターフェイスとはなんぞやという内容。 後編はuGUIなのかあまり理解できなかっ…

【Unity】Unityまとめ(仮)

Unityの情報がまとまっているサイトを見つけました。 https://unity-matome.com/ カテゴリーは Unityニュース よもやま話 技術ブログ アセット イベント情報 Unity質問 に分かれており、トップページから気になるトピックだけ拾ってもよさそうです。 試験運…

【Unity】apkビルド、端末に転送する

Unityである程度シーンを作ったので、apkビルド転送の流れをメモ。 AndroidSDKをインストール。 http://developer.android.com/intl/ja/sdk/index.html からinstaller_r24.4.1-windows.exeをダウンロードし、インストール。 Unity>File>BuildSettingsでAnd…

【Unity】スクリプトからテキストを変更するときの文字化け

(Unity5.3.4p2、NGUI3.9.8) UILabelのテキストをスクリプトから変更したら、以下の現象が起こりました。 どうやら、スクリプトをUTF-8(BOMあり)で保存しないといけないようですね。 保存し直したら直りました。 さらに、いちいち修正するのも面倒なので…

【Unity】【NGUI】Atlas作成

(Unity5.3.4p2、NGUI3.9.8) 複数のスプライトをまとめるAtlas化について。 NGUI>Open>Atlas Makerでウィンドウを表示し、 Ctrlを押しながら複数のテクスチャを選択。 Createを選択し作成 できたAtlasはUI Spriteコンポーネントから表示できます。

【Unity】【NGUI】ボタンにBox Collider設定

昨日の記事でBoxColliderに触れましたが、サイズ調整が手打ちで不便なので調べました。 どうやらNGUI>Attach>Colliderを選ぶと、自動でサイズが入ったBoxColliderが追加されるようですね。便利!

【Unity】【NGUI】シーケンス作成と遷移

(Unity5.3.4p2、NGUI3.9.8) タイトルからシーケンス遷移をさくっと作ります。 シーンとシーケンスを用意。 using UnityEngine;using UnityEngine.SceneManagement; public class Title : MonoBehaviour { // StartとかUpdateとか public void Click() { Sc…

【Unity】Sceneのカメラアイコンを消す方法

(Unity 5.3.4p2) Unityで素材を置いていると、カメラアイコンが邪魔になるってことがあります。 そんなときはGizmos>3Dアイコンのスライダーを左に動かせばいいみたいですね。

【Unity】アプリケーションデータの保存先

Unityアプリ上で、データの保存先がいろいろあるのでまとめました。 Application.persistentDataPath アプリケーションの永続的なデータ(キャッシュなど)を保存する場所 Android:/data/data/<アプリID>/files/ iOS:Application/XXXXXXXX-XXXX-XXXX-XXXX-…

【Unity】The type or namespace name 'UnityEditor' could not be found エラー

ふとUnityでAndroidビルドをすると、こんなエラーが出ました。 The type or namespace name 'UnityEditor' could not be found 今回は意味もなく using UnityEditor; とあったので、削除で済みました。 本来であれば、関連ソースを #if UNITY_EDITOR でくく…

【Unity】Unite2016 Unityを使った個人ゲーム開発における「収益化」の現状と未来

当日は「マルチシーン編集の使い方」を受講したため、気にはなっていましたが受けられなかったセッション。 資料はこちら。 個人開発。興味はありますが、「忙しい」と言い訳して、何年もできていない現状…。 でもきっと「収益」に希望が持てるのなら、手が…

【Unity】Unable to parse YAML file

Unityを起動すると、「Unable to parse YAML file: [mapping values are not allowed in this context] at line 1」というエラーが出ました。 いつからかは分かりませんが、メッセージをクリックしても反応なし。 ググってみたら「metaファイルを消してみる…

【Unity】Unite2016 Unity5を使った「いけにえと雪のセツナ」の雪世界の作り方

休日になったので、UNITE2016未受講のスライドをちょいちょい。 知る知らないを問わず、気になるところはメモとして残しておきます。 資料はこちら。 ちなみに、「いけにえと雪のセツナ」はTGS2015で気になっていて、購入しようと思っていたのですが、 どう…

【Unity】「Unity エディター拡張」無料公開

4/3より安藤圭吾さんの「Unity エディター拡張」http://anchan828.github.io/editor-manual/ がWEB版に限り無料で公開されたようです。 以前に知人に紹介され、評判もよいと聞いていましたが、忙しく忘れていました。 エディタ作成は手間ですが、絶対効率が…

[Unity]IL2CPP

まだUnityを触り始めて数か月なので、知らないことはとても多く、 昨日一昨日のUNITEの際、手帳に「後で調べること」をまとめておいたので、軽く調べてみました。 まずは「IL2CPP」。 ちょいちょいUnityを触っているときに見かけた気がするが、正直あまり知…

[Unity]UNITE 2016 Tokyo Day2

昨日に引き続き2日目です。 今日も受講したセッションについてメモを残します。 ■インテルのハードウェア・メトリックを使用して Unity 対応アプリケーションを高速化(資料) ・Intel GPA(Graphics Performance Analyzer)のセッション。 フレーム単位でキ…

[Unity]UNITE 2016 Tokyo Day1

UNITE 2016 Tokyoに行ってきました。 あとでしっかりまとめるとして、とりあえず聴いたセッションとリンクだけ載せておきます。 ■基調講演(資料)・面白そうだったのは「Unity認定試験」 2017年から全国で開催されるようなので、ぜひ受けてみたい! ■モバイ…