TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

Unity

Unity: Admob appIdはinspectorで設定できるようになっていた

久々にAdmobを触ることになりましたが、公式によると スタートガイド | Unity | Google Developers旧形式 MobileAds.Initialize(appId); 新形式 MobileAds.Initialize(initStatus => { }); 新形式はappIdを引数に取らなくなり、 [Assets] > [Google Mobile A…

Unity Shader NodeのUnlitでColorをMultiplyすると色がでない

Help Wanted - Why doesn't Multiply work to change the texture color in Unlit vs Lit? - Unity Forum ここに書いてました。 propertyのcolorのalpha値が0になっているためです。 初期値のalphaが0になっているとは気付きませんでした。結構ハマりました。

Unity: SpriteRendererのbounds.sizeとsizeの違い (備忘録)

SpriteRenderer.bounds.size Unity - Scripting API: Bounds.size SpriteRenderer.bounds.sizeは画像の大きさを取得できます。 普通の画像ならこっち使っておけばOK! (雑な説明) SpriteRenderer.size Unity - Scripting API: SpriteRenderer.size SpriteRend…

The same field name is serialized multiple times in the class or its parent class

The same field name is serialized multiple times in the class or its parent class. This is not supported: Base(WeaponBlockVars) <ObjType>k__BackingField Unityのエラー「The same field name is serialized multiple times in the class or its parent clas</objtype>…

Unity: OnCollisionXXXとOnTriggerXXXの実行順序

OnCollisionXXXとOnTriggerXXXの実行順序は以下のドキュメントによると イベント関数の実行順序 - Unity マニュアル 1. OnTriggerXXX 2. OnCollisionXXX となるようです。 どういう時に役に立つか? ブロックを破壊した時に「跳ね返って欲しくない場合と跳ね…

Unity: Addressablesでフォルダはネストできない

環境 Addressables 1.8.4 現象 ざっくりフォルダごとにAddressablesで管理したい場合に、入れ子になったフォルダではできないようです。 ネストした状態でもUnity Editor上なら再生でき、ネストも一見できてるように見えるのですが、Androidビルドする時に以…

Unity: 落下の自前計算 (簡易版)

Cheap gravity script - Unity Answers厳密には違いますが、簡易版で同じような動きになります。そこまで正確に動きを計算する必要がないのでこれでいいならこれを使いたいです。簡易重力を自前で計算した時の鉄球の動き↓ float velocity = 0; void FixedUpd…

Unity: UniRxのUpdateAsObservable

UpdateAsObservable Updateを実行することができる 使い方 using UniRx; using UniRx.Triggers; void Start() { this.UpdateAsObservable() .Subscribe(UpdateRx); } void UpdateRx(Unit unit) { Debug.Log("updating"); } this.UpdateAsObservable()をSubsc…

Unityをアプデしたらエディタコンパイルが速くなっていた

環境 Unity 2019.3.15 -> 2019.4.4 iMac 2019 推測される原因 (予想です。) Enter Play Modeが実装されてからソースコードを変更した時に行われるコンパイルが異常に遅くなっていました。昔なら3から5秒くらいだったのが、30秒以上かかることがざらになって…

デザイン:ナイトを描いた時の思考の備忘録

デザインスキルがないので、いつもデザインは気合と根性で描いています。今回描いたのは「ナイト」です (自作ゲームで使います)自分的にはぱっと見良さげな感じに見えるのでとても満足しています。 精神状態 デザインはとても疲れるので、やる気も出ず、進捗…

Unity: Addressable.LoadSceneAsyncとEnter Play Modeの時は一回しかCompletedが呼ばれない

環境 unity 2019.3.15 Addressables 現象 Enter Play Modeを設定していると、Addressable.LoadSceneAsyncを呼ぶと一回しかCompletedが呼ばれません。 どういうことかと言いますと 再生し、停止して再生すると呼ばれません。 Hierachyを見てもsceneがloading…

Unity: 「Unknown Assembly DOTween」というエラーが起きる

環境 Unity 2019.3.15 Addressables 1.8.3 DOTween 1.2.335 推測 AddressablesとDOTweenを使用するとこの現象が起きる気がします。(予想です。) 現象 Unknown Assembly DOTween UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) Unityを再生時に上記エラ…

UniRxのCombineLatestでReactivePropertyを合成する

ことの経緯 1つのReactivePropertyと変更対象のUIが1対1になっている時は問題ありませんが、2つのReactivePropertyが異なる条件で1つのUIを変更しようとしているときに困ったことになりました。例えば ゲージが貯まれば背景のグレー解除 マナが貯まれば背…

UnityでAndroidビルドすると「This could be caused by a class being stripped from the build even though it is needed. Try disabling 'Strip Engine Code' in Player Settings.」

現象 05-17 19:19:48.076 4675 4713 E Unity : This could be caused by a class being stripped from the build even though it is needed. Try disabling 'Strip Engine Code' in Player Settings. 原因 Addressables(Asset Bundle)を使っていると、手動で…

Affinity Designer: 波線

波線を書きたいことがあってAffinity Designerでどうやって書けば良いのか調べていたら以下のサイトが参考になりました。 AffinityDesignerでの波線の描き方 | coneta.me やり方 1. ペンツールでギザギザを書く 2. コーナーツールで角をつける このツールを…

PixelPerUnitとCameraのSizeから背景の高さ計算する

高さいっぱいになるような背景画像を用意したい状況に遭遇したので、何pixel用意すれば良いかの考え方を調べました。 考え方 考える時は2つの要素が必要です。 カメラのsize 背景画像のpixelPerUnit 例えば 背景画像のpixelPerUnitが100 カメラのsizeが5 と…

Unity: Rotationを指定する

角度指定をとりあえず雑に指定する方法のメモです。Unity InspectorのRotationでx, y, zを指定して角度を入力する方法です。(Quaternionから逃げたい!) float angle = 90; transform.eulerAngles = new Vector3(0, 0, angle); // or transform.rotation = Q…

utf8jsonのUtf8Json.UniversalCodeGeneratorをDockerでビルドしてMacで動かす

背景 GitHub - neuecc/Utf8Json: Definitely Fastest and Zero Allocation JSON Serializer for C#(NET, .NET Core, Unity, Xamarin).utf8jsonを使おうとしたところAndroidでは事前に自動生成したファイルが必要になるらしいです。その自動生成するバイナリ(…

Unity: Script Execution Orderを変更すると不明なエラーがでる

script Execution orderを変更したら以下のような大量のエラーが出ました。 特に悪いことはしていないので、とりあえず回避できる方法を載せておきます。 MissingReferenceException: The object of type 'MonoScript' has been destroyed but you are still…

unityのMonobehaviourの名前を変更する手順が以前と異なっている!?

unityのMonobehaviourの名前を変更する手順が以前と異なっているような気がします。 環境 Unity2019.3.9 手順 昔は UnityEditorからMonobehaviourの名前を変える テキストエディタで名前を変える の手順だったのが、 テキストエディタで名前を変える UnityEd…

Unity 2DでPhysics2D.OverlapBoxを使う

Physics2D.OverlapBoxを使おうと思った動機 敵との衝突判定に使おうと思いました。 味方、敵は衝突しない(Layer Collision Matrixでチェックを外す) rigidbodyは重力の影響を受ける。(地面からジャンプ、着地したりできる) このときに、OnCollisionEnter2Dで…

Unity: 着地した時の判定 (2D)

着地したときの判定をどうするかの備忘録。 環境 Unity 2D OnCollisionEnter2DとOnCollisionExit2D (ちょっと微妙) OnCollisionEnter2D OnCollisionExit2D を使って、判定してみようと思いました。 基本コンセプトはイベントが呼ばれたときに、Physics2D.Ove…

Unity: Unity 2D Animationでシーンでボーン(骨)の表示・非表示

Unity 2D AnimationでAnimationを作っていた時に、なぜかボーン(骨)が表示されないことがあって、焦りました。あれ?さっきまで骨があったはずなのになくなって結構焦りました。https://forum.unity.com/threads/2d-sprite-editor-bones-arent-visible-in-sc…

Unity:オブジェクトのパスが変わった時にアニメーションのパスを一括変更する

アニメーションをすでに設定している時に対象のオブジェクトのパス構造を変えたい時に、アニメーションファイルも同じようにパス構造の変更を反映して欲しい時の解決策です。 現象 アニメーションが設定されている対象のオブジェクトのパス構造を以下のよう…

Asembly Definition 試したけど体感が変わるほど、速くならなかった

Unityを2019.3系にアップデートしてからコンパイル時にレインボーが回るようになって、結構時間がかかるようになってしまいました。 そこでAssembly Definitionを利用すれば、コンパイル時間が速くなるというのを知ったので試してみました。 環境 Unity 2019…

「Curl error 56: Receiving data failed with unitytls error code 1048578」 がUnityででる

Curl error 56: Receiving data failed with unitytls error code 1048578 がでるようになりました。https://forum.unity.com/threads/crashes-unity-with-curl-error-56-receiving-data-failed-with-unitytls-error-code-1048578.795066/このフォーラムに同…

Unity: RectTransformの変更を検知するためにUniRxのOnRectTransformDimensionsChangeAsObservableを使えば便利だった

特定のuGUIのRectTransformのサイズが変わった時に連動して何かしたい場合に、どうすればベストなのか調べていたら、UniRxのOnRectTransformDimensionsChangeAsObservableを使えば良いことたどり着きました。 RectTransformの値変更を検知する [Unity]uGUIで…

Unity: Animatorのアニメーションをリセットしたい

AnimatorのアニメーションのSetTriggerで発火したものをリセットしたいことがあったのですが、ResetTriggerを呼べば解除できるみたいなのがあったので、試してみたのですが、どうもうまくいきませんでした。やりたいことはidleに戻せればよかったので、idle(…

Unity: ボタンやトグルはフォーカスがある時にスペースキーやエンターキーでクリックイベントが発火してしまう

ボタンやトグルはフォーカスがあると、スペースキーやエンターキーでクリックイベントが発火してしまうので、意図しないクリックイベントが発火してしまい、少々面倒でした。 やり方 調べてみるとありました。 Button is being triggered by spacebar after …

Visual Studioで保存時にUnityスクリプトのコンパイルをさせる

Unity 2019.3になってからコンパイル時間が長くなったような気がするので、とても面倒でした。 今まで回ることのなかったレイボーまで回り始めました。Enter Play Mode Optionsを設定して、スクリプトを一切編集していないときはめちゃくちゃ速くなったので…