Help Wanted - Why doesn't Multiply work to change the texture color in Unlit vs Lit? - Unity Forum
ここに書いてました。
propertyのcolorのalpha値が0になっているためです。
初期値のalphaが0になっているとは気付きませんでした。結構ハマりました。
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 - Scripting API: Bounds.size
SpriteRenderer.bounds.sizeは画像の大きさを取得できます。
普通の画像ならこっち使っておけばOK! (雑な説明)
Unity - Scripting API: SpriteRenderer.size
SpriteRenderer.sizeはSpriteRendeerer.drawModeがSlicedになっている時にサイズを取得できます。
ややこしい!
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 class.」について - Qiita
この記事によると「継承元と継承先のクラスの同名Private変数をSerializeできないため」と書いてあったのですが、interfaceを継承した基底クラスのフィールドをoverrideした時にもなぜか発生するようです。
ただ、SerializeFieldとして出現するわけではないのに、このメッセージが出るのは気持ち悪いので、いろいろ検索してみました。
↓バグではないか?という記事
The same field name is serialized multiple times in the class or its parent class. This is not supported · Issue #1032 · accord-net/framework · GitHub
↑の記事によると一旦リネームして、もとに戻せば直るよということでしたが、直りませんでした。
1. Addressablesのnew buildを行う
2. 再生ボタンを押す
とエラーが出力されます。
interfaceとMonoBehaviourを継承したBaseクラス。
そのBaseクラスを継承した派生クラス。
その派生クラスではBaseクラスのinterfaceメソッドをoverrideする。
public interface ISample { int Takoyaki { get; set;} } public class Base : MonoBehaviour, ISample { public virtual int Takoyaki { get; set;} = 1; } public class Derived: Base { public override int Takoyaki { get; set;} = 777; //←これがダメらしい・・・ }
不明。上記のコードで再現するけどいろいろゴニョゴニョやっている内に上記のコードはエラーが出なくなってしまった。
モヤッとする・・・
OnCollisionXXXとOnTriggerXXXの実行順序は以下のドキュメントによると
イベント関数の実行順序 - Unity マニュアル
1. OnTriggerXXX
2. OnCollisionXXX
となるようです。
ブロックを破壊した時に「跳ね返って欲しくない場合と跳ね返って欲しい場合」を作る場合、この実行順序の挙動を使って切り分けることができます。
跳ね返って欲しい時はOnCollisionEnter内でGameObjectを破壊すれば、跳ね返りますし、跳ね返って欲しくない場合はOnTriggerEnter内でGameObjectを破壊する処理をすれば、OnCollisionEnterの前に破壊できてしまうので、跳ね返らなくなります。
参考動画 (こんな感じになります)
1. 弾丸に2つのColliderをつけて、片方にはisTriggerにチェックを入れた状態にします。
2. ブロックにColliderをつけます。
OnTriggerEnterに破壊処理を書けばOKです。
void OnTriggerEnter2D(Collider2D collision) { Destroy(collision.gameObject); // 跳ね返って欲しくない時 } // void OnCollisionEnter2D(Collision2D collision) { // 何も書かない // }
ブロック貫通して破壊する処理を実装したかったので、お手軽に実装できてよかった!
f: RefCell<dyn FnMut()>>
とした時に
f.borrow_mut()() // この形式では呼べない
とは呼べず、
(&mut *f.borrow_mut())();
と呼ばなくてはいけない
rust - why DerefMut is not implemented for `std::cell::RefMut<'_, [..]>` which wraps FnMut? - Stack Overflow
この記事によると上記のf.borrow_mut()()では呼べないとありました。
Cannot borrow as mutable despite DerefMut · Issue #51886 · rust-lang/rust · GitHub
このバグに関係しているかもとのことでした。
SOUNDPEATS TrueAir ワイヤレス イヤホンを購入しました。
カナル型(耳に突っ込まないタイプ)でなく、耳に引っ掛けるものを探していた時に、この製品がコスパが良いらしいので買ってみました。
カナル型は耳に合わないことが多いし、耳が痛くなるので、耳に引っ掛けるタイプを探していました。
※使用状況は2週間ちょいです。
接続してしまえばとても安定します。
ふたを開けるだけで接続されるのでとても使いやすいです。
ただ接続されるまでAndroidは難しかったです。何回試みても、接続してくれなかったので、諦めようかと思ったのですが、モバレジェ(ゲーム)を開いた瞬間繋がりました!(理由はわかりません・・・)
iMacは昔に持ってたワイヤレスイヤホンはキーボードとトラックパッドに干渉されてうまくいかなかったけど、これはそんなことは無くとても快適です。
以前のワイヤレスイヤホンは↓で格闘済み
iMac 2019 bluetoothイヤホンが接続されない時の苦肉の対処法 - TAKOYAKING’s blog
安いです。
クーポンとかセールのタイミングで買えば4000円前後で買えるのではないでしょうか。正規料金は5000円くらいです。
こもった感じです。
iPhoneについているイヤホンみたいな音でクリアな音質ではないのは確かです。
でも耳に引っ掛けるタイプのワイヤレスイヤホンはどれもこんな音になっているような気がします。
逆に、カナル型だとクリアな音質になる傾向がある気がします。
どこをタップしたらいいかわからないので、使いづらいと思います。
上の丸い部分をタップすると音量調整ができます。
慣れがかなり必要です。
ものすごく短いのが付いてくるので、別のを用意した方がいいかもしれません。
iMacだと裏からつなぐので全然足りないです。
めちゃくちゃ良好
今のところぷつっと切れたことは無いです。
以前のワイヤレスイヤホン だとちょくちょく切れていたので、それと比べると遥かに良いです。
カナル型(耳栓みたいなイヤホン)と比べると遥かに綺麗さを維持できます。
今のところ汚れる気配がないです。
電池の残量は減ったら赤ランプが点灯します。
見辛いですが安かったので妥協できる範囲です。
ただ充電する時、充電が完了しているか確認する方法がないので不便です。
体感的には仕様通りの時間だと思います。あんまり充電してなくても、ずっと使えているので、ここら辺は優秀だと思います。
デザインの見た目を気にしなくて、耳にひっかけるタイプで格安のものを探しているならとても良い製品です。結構満足しています。
ざっくりフォルダごとにAddressablesで管理したい場合に、入れ子になったフォルダではできないようです。
ネストした状態でもUnity Editor上なら再生でき、ネストも一見できてるように見えるのですが、Androidビルドする時に以下のエラーが出るようです。
ArgumentException: An item with the same key has already been added.
以下のような構成にしてそれぞれのフォルダに対してAddressablesのチェックをonにしました。
- Prefabs (Addressablesのチェック) - 何かのspriteたち - Takoyakis (Addressablesのチェック) - 何かのspriteたち
こういう構成だと、AddressablesのwindowではPrefabsとTakoyakisは別のGroupとして設定でき、別のラベルを設定できるのですが、いざビルドすると重複キーがあると怒られてしまいます。
ざっくりチェックは諦めて、以下のようなツールを使って管理するのが良いかもです。
【Unity】【Addressable】Unity Addressable Importerでアドレスの設定を自動化する - LIGHT11