おれ、Unity2Dでゲーム作るんだ。

Unity2Dをメインに、覚書などを記事にしていきます。

Unityは手動アクティベートしないほうがいい

結論から書いておきますと、Unityでライセンス認証する際は、 Unityを直接(Unity Hubを使わず)起動して、 ライセンス認証をオンラインで行うのが吉。 Unity Hubのライセンス認証は避ける です。 Unityのライセンスをもっていると、2台まで利用するPCを登録で…

Unityがクラッシュする件の突貫対応?(Curl error 51: Cert verify failed: UNITYTLS_X509VERIFY_FLAG_EXPIRED)

5/9 8:08 証明書が更新され、正常に戻ったようです。 https://forum.unity.com/threads/curl-error-51-cert-verify-failed-unitytls_x509verify_flag_expired.786755/page-5#post-5822977 5/9 3:58 Unity側のサーバー証明書の期限切れが問題っぽく現在対応中…

オブジェクトの距離を判定するときはVector3.sqrMagnitudeがパフォーマンスに優しい

2オブジェクトのポジションから距離を取得してなんやかんやすることはよくあると思います。 すぐ、頭に浮かぶのがDistance。 Vector3.Distance(A,B) わかりやすいんですが、ただ、これは測定の際に平方根の計算が走る(らしい)ので処理をとられる。 じゃあ、…

浮動小数点を比較する

floatを演算子で比較しようとすると、まんまと引っかからないときがあります。 フェードアウトで真っ黒になったら実行などと書くと、あれ?ってなったりします。 そんなときは public static bool Approximately (float a, float b); この関数を使います。 …

浮動小数点を比較する

floatを演算子で比較しようとすると、まんまと引っかからないときがあります。 そんなときは public static bool Approximately (float a, float b); この関数を使います。 これでほぼ一致した場合にtrueを返してくれます。 docs.unity3d.com

Unityプロファイラに気になる部分の処理を表示する

コロナの影響で、Unity Learning Premium 見てたら、知らないことがあったので備忘。 learn.unity.com 処理が重いところをプロファイラで覗いても、範囲が広すぎてわからん!ってことがあったり わざわざ、気になる処理の開始と終了の時間取得して差を表示さ…

レイヤーっぽく前面のボタンが出ているときは、後ろのボタンは押せないようにする

オプション画面などを本編の画面にオーバーレイで出すような場合に、 ゲーム本編の方のボタンを押されたくないといった制御したい。 といった場合の話。 例えば、図のように両方押せるボタンがある場合、両方のボタンが押せてしまいます。 Imageでタップをガ…

AnimationCurveで値の変化を自由に設定

A地点からB地点に移動などする際に、びよーんとかぐいーんとか、なんとなく気持ちよく動くあれですが、 それをAnimationCurveを使ってやってみようと言う感じです。 とりあえず、s地点からe地点に、time時間使って移動する処理。 IEnumerator Move(GameObjec…

UnityのC#とJSONの命名規則のすりあわせ

キー名はスネーク? Web APIを使ってると、返ってきたJSONのキー名がスネークだったりします。 よくあります。 で、C#のクラスのプロパティにスネークかぁ、キャメルにしたいなぁって事があって、 サーバーが変えろ! いやクライアントが合わせろ! 先にやっ…

Unity - 出来ていたAndroidビルドが出来なくなったときに修正した場所(2箇所)

ついこの間まで出来ていたAndroidのビルドが出来なくなった!? で、原因が2つあったので AndroidStudioのバージョンアップをしてSDK toolsの構造が変わった AndroidStudioのバージョンアップ(2.3.3)を行ったところ、 SDKのパス正しく教えろってメッセージ…

Collider2Dだけで重なりを判定する(Collider2D.OverlapCollider)

画像が重なっているか確認したい事ってありますよね。でもって、その時のために、わざわざ重なってるかどうか知りたいだけなのにRigidbodyなんか使いたくない時ってありますよね。 調べても、2D collision detection without rigid body? - Unity Answersコ…

Unity - CameraのClipping Planesって

Clipping Planesって Unityのカメラの設定に、Clipping Planesってのは、 どのくらいの範囲を描画するかって設定 Near : どれくらい近さまでを描画するか Far : どれくらい遠くまで描画するか つまり、Farなんかの数値が多ければその分描画量が増えるので、 …

C# - 引数につける修飾子 ref

refって? refとはなんぞと思ったら、referenceのrefで、つまりは参照渡しでした。 メソッドの定義で、参照渡しで定義できるんですね。 サンプル //値渡し static void valuex2(int val) { val = val * 2; Debug.Log(">"+val); } //参照渡し static void valu…

Singleton(シングルトン)ってなによ?

Singleton(シングルトン)ってなによ?ってことをまとめてみました。 特にc#やUnityの機能では無く、プログラミングの手法というか設計のレシピです。 で、このシングルトンとはどのような設計かというと、 クラスのインスタンスが1個しかつくれない 別の言…

Unity - コルーチンってなに?

コルーチンとは? 通常は、関数が始まるとreturnされるまでを1セットとして処理される訳ですが、 コルーチンは、処理の途中で一旦中断して、次のフレームでその続きから再開できたりする事ができます。 たとえば、「フェードアウトさせたい!」と思って以下…

Unity - AssetBundleの基本(AssetBundleを使う)

AssetBundleの作成方法 こちらに書きました。 unity2d.hateblo.jp AseetBundleの使い方 ビルドしてできたデータをサーバに配置 ダウンロードして使用 これだけ。 AssetBundleを使う サーバに配置 どこぞのWEBサーバに設置する node.jsをローカルにインストー…

Unity - AssetBundleの基本(AssetBundleをつくる)

AssetBundleとは アプリとは別の外部データ。追加データなど、アプリの更新以外でデータを増やしたい場合などの仕組みに利用します。 画像やサウンドをAseetBundle化してパッキングしてサーバーに置く。そして、ダウンロードさせて使う。そんな使われ方を想…

【朗報】LINE BOT の Server IP Whitelist がOptionalになってた

久しぶりに、LINE BOTの設定を除いていると、、、 なんと、 LINE BOTのServer IP Whitelistが任意になっていました。 つまり、設定しなければ、どのホストからもアクセス出来ちゃう! つまり、諦めていた、 AWSのAPI Gateway+Lambdaのサーバーレスで、BOTの…

AssetBundleがiCloudのバックアップ対象になっているからってことでアプリがリジェクト

先日、Appleからリジェクトされた件。 理由としては、AssetBundleがiCloudのバックアップ対象になってるぜってことらしい。 知らんがな! と思ったんですが、調べてみると、 d.hatena.ne.jp あぁ、なんとなくUnityのせいっぽい。 って、対処方法をこねくり回…

AWS Lambda + DynamoDBで吐く"NetworkingError: write EPROTO"エラーについて

AWS Lambdaで楽しくサーバーレス環境を作っていたところ。。。 なにやらログにエラーが書き出されていた。 { "errorMsg": "NetworkingError: write EPROTO", "param": { "id": "XXXXXXXXXXXXXX", "store": "SHOP_AAAA", }} EPROTOていうのはプロトコルエラー…

LINE BOTに設定しているコールバックに飛んでこないのは多分SSLの水準のせい?

ここ数日、LINE BOTをイジイジしていたんですが、 architect.hatenadiary.jp 結局、引っかかったLINE BOTからのコールバックは解決してません。設定してから反映されるまでに時間がかかるって話もありましたが、AWSのAPI Gatewayと自己ドメインで相互書き換…

LINE BOT API Trial で引っかかったところ

いや、まだ絶賛苦戦中なんですが。。。 ひとまず、落ち着きました。 まぁ、LINEのBOTが話題に上がったので、試そうとしたんですが、 スキル不足でつまずいたところを書いておきます。 linecorp.com 調子こいてAWS API GatewayとLambdaでやろうとした これが…

AWS Lambdaで、DynamoDBをgetItemするときのパラメータの覚書

いやー、AWS API Gateway良いですね。 結構、APIサーバーを作成する作業が多かったのですが、 API Gatewatyならサーバーいらねー!ってことで、運用負担がスゲー減って最高。ミドルウェアのバージョンやらなにやらも気にしないでいいので、 もう、すべてこい…

Unity - uGUI ボタン画像よりも大きなタッチ反応領域をつくる

画像をボタンにしたときに、画像が小さいと押しにくくなるので、 適当に押しやすい大きさにしたいが、画像は大きくしたくないときに以下の様にしています。 uGUIで簡単な画像ボタン設置 まずは、準備。 [GameObject]メニューの[UI]->[Image]で、イメージを追…

Unite2015の資料がすごい件

Unite2015とは Unity最大の公式カンファレンスイベント「Unite」です。 内容は、プロ向けからビギナー向けのまで、Unityに関する講演が行われたりしますので、 Unity使いは、是非参加したいイベントです。 ただ、通常、一般参加は2万円。。。 地方にいるUni…

Unity Windows版 - ライセンス認証画面で「Checking License」画面で止まってしまうのを解消する

Unityの起動時に、上記の様なライセンス認証画面で止まってしまう。 なんどやっても止まってしまう。 こんな時は、 インターネット接続を一旦オフラインにすると良いらしい。 オフラインのやり方はお任せします。 例えばこんな感じに。 実際にオフラインにな…

Unity - NGUIで回転してループするようなメニューを作る

iPhoneの時間入力の様なグルグル回ってループする入力を作ってみたいと思ったので覚書です。 まずは、入力メニュー部。 ざっとしたNGUI階層 最終的にはこんな階層になります。 UI Root Scroll View UIWarp Content Label Label Label そして、Label自体をド…

Unity - NGUIのGridに動的にスプライトを追加して並び替える(Reposistion)

Unity - NGUIのGridに動的にスプライトを追加して並び替える(Reposistion) Unityでビシッとボタンを並べたい時に役に立つのが、NGUIのGrid。 Createして、そのGridの階層に並べたいモノを追加していく。 public GameObject grid; //あらかじめインスペクタで…

Unity - 一定時間で消えるオブジェクトをつくる

一定時間で消えるオブジェクト たとえば、「Misson Complete!!」って表示した後、 一定時間たったら消したい場合ってどうするんだろうなと調べました。 オブジェクトを消す オブジェクトを消すと言うよりは、 破棄するオブジェクトにスクリプトを乗っけてお…

無料化わっしょいと騒がれているUnity5で、気になるiOSの/Androidへの書き出し

みんな大好きUnity。 Unity5は無料って言うよりは、無料枠拡大 昨晩、かなりの人がUnity5が無料だって喜んでましたけど、 Unity4でも無料なので、細かい機能の有料枠が取っ払われて、 Unity5じゃ、全部の機能が使えますよってことで。 無料で何でも使える? …