TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

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

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

Rust: 匿名ライフタイム

structにライフタイム付けたらimpl側でもライフタイムが必要です。 その時のライフタイムの記述は匿名ライフタイムとして記述できるようです。(Rust 2018) 現象 struct SysConfig<'a> { dir: String, extension: String, blacklist: &'a Vec<String>, } impl SysConf</string>…

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

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

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

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

git rebase インタラクティブ 途中終了 (git rebase -i)

git

git rebase -i でインタラクティブモードになった時に、何も変更させずにキャンセルしたい時、どうするのかいつも忘れてしまうので、メモ。 やり方 How to abort a git rebase from inside vim during interactive editing - Stack Overflow :cq でOkです。 …

Rust: use std::io::prelude::*;

Rustでファイル操作をするときにpreludeとuseするのが気になったので、備忘録として残します。 std::io::prelude std::io::prelude - Rust よく使用されるioのtraitをimportしてくれる便利なもの コード 以下のコードはファイルを読み込んでprintする use st…

Rust: VSCodeでlibに追加したものをuseすると補完が効かない時

lib.rsで追加したものをmain.rs内でuseして使おうとすると、VSCodeの補完が出ない時がありました。 現象 // プロジェクト名: osaka src > lib.rs > main.rs use osaka::Takoyaki; fn main() { let takoyaki = Takoyaki {x: 777}; } このような感じで記述する…

Rust: VSCodeでlibを追加すると認識してくれない時

VSCodeでRustを書いているのですが、libを追加して、それをmain.rs関数の中でuseしてもパスを認識してくれず、赤い波線が表示されてしまいます。rustのコンパイルは通るので文法は間違っていないはずです。Must reload VSCode window after adding lib.rs to…

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で…

Rust: gitのincludeIfで設定したgitconfigがCargo newで生成されるCargo.tomlに反映されない

現象 includeIfをしようしてgitconfigを切り替えている場合に、cargo new をするとCargo.tomlのauthorsに切り替えたgitconfigの情報が入らずに、globalで設定しているgitconfig情報が入ってしまう。例えばglobalのgitconfigの設定が username: global_takoy…

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を設定して、スクリプトを一切編集していないときはめちゃくちゃ速くなったので…

Rust: 型推論で型(タイプヒント)の部分省略

イテレーターの特定メソッドについて調べていたら、型を部分省略する方法があったのでメモします。イテレータRust 公式チュートリアルより抜粋 もしあなたが覚えているなら、 ::<> 構文で型ヒント(type hint)を与え、整数型のベクタが欲しいと伝えることがで…

Rust: enumのコンストラクターは関数のようにふるまえる

stringの限界 | Rust by Example Rust Examplesよりmap_errの引数は関数であるのにenumを直接ドーンと代入している箇所があって、どういうことか疑問に思ったので調べてみました。 現象 map_errの引数はFnOnce(E) -> Fであるのに関数の代わりにenumを渡して…

Rust: エラー処理のための「Try!」と「?」

try!入門 | Rust by Example こちらのサンプルコードで fn setup() -> std::io::Result<()> { let mut a = try!(File::create("a")); try!(a.write_all(b"grape")); let mut b = try!(File::create("b")); b.write_all(b"fruit") } を実行すると expected ex…

Rust: map VS and_then

Rustのmapとand_thenが最初見たときにどちらも加工するという処理なのに、どういう時に使いわけるかイメージできなかったので、まとめてみました。 (Option型にも使用できますが、例はResultにしています。) map returnの型: Result functionの型: FnOnce(T)…

Enter Play Mode Optionsを設定した時にDoTweenがうまく動作しない時

先日、2019.3の機能のEnter Play Mode Optionsを設定しました。 Unity 2019.3 Enter Play Mode Optionsを設定すると爆速になった (条件あり) - TAKOYAKING’s blog めちゃくちゃ速くなったのですが、使っていると、DoTweenが描画されないことに気づきました。…

Unity 2019.3 Enter Play Mode Optionsを設定すると爆速になった (条件あり)

blogs.unity3d.comこちらの記事でEnter Play Mode Optionsを設定すると速くなると書いてあったので試してみました! 環境 2019 iMac Unity 2019.3.2 機能 2019.3から Enter Play Mode Optionsが設定できるようになり、 スクリプトの状態のリセット(Domain R…

Unityがめちゃくちゃ遅くなるとき

Unityがめちゃくちゃ重くなる時があったのでその解決方法を残しておきます。 環境 iMac 2019 Unity 2019.2.16f 現象 Unity Editorの再生ボタンを押すと始まるまで異様に時間がかかる。(1分以上) ユニットの生成がものすごく時間かかることがあった 解決方法 …

Unity 2019.3にあげると再生のたびにImport Assetsが実行される現象

Unity 2019.3にあげたのはよかったのですが、再生するたびに、Import Assetsが実行され、毎回鬱陶しいので調査しました! 環境 Unity 2019.3.1 iMac 2019 現象 再生ボタンを押すたびにImport Assetsが実行される。 タイトルはAsset Progressと表示されていた…

Rustのライフタイムはスコープとは同じものではない

ライフタイムとは ライフタイム | Rust by Example コンパイラ(借用チェッカーと呼ばれる場合もあります)が、全ての借用に問題がないことを確認するために使用する仕組み ざっくりライフタイムの使い所 借用するときに使える (&とほぼペア) ライフタイムの例…

SourceTreeのコミット欄にプロフィール画像を表示する (Gravatar)

こんな感じでSource Treeにプロフィールアイコンを表示させたかったので git - How to set up your avatar in SourceTree.app? - Stack Overflow ここを参考にして表示させました。 環境 iMac2019 やり方 Gravatar - Globally Recognized Avatars ここでプロ…

Unityを2019.31f1にアップデートするとエラーが出た (ArgumentException: Requested value 'X86' was not found)

Unityを2019.31f1にアップデートすると以下のようなエラーが出ました ArgumentException: Requested value 'X86' was not found. ArgumentException: Requested value 'X86' was not found. System.Enum+EnumResult.SetFailure (System.Enum+ParseFailureKin…

Rust: Traitの匿名の引数 (Anonymous trait parameter)は廃止されていた

関連型が必要になる状況 | Rust by Example このサンプルを行っていた時に trait Contains<A, B> { fn contains(&self, &A, &B) -> bool; } // expected one of `:`, `@`, or `|`, found `)` が出て動作しませんでした。 https://users.rust-lang.org/t/solved-exa</a,>…

Rustでmodはネストできない

ファイルの階層構造 | Rust by Examplemodの使い方を練習していたのですが、サンプルではmy/mod.rsにもmodを書いて階層化をしていたので、パスのようにmod my::nestedでnestedファイルのfunctionだけ呼びたい場合、できるかどうか試してみましたが、できませ…

UnityエディタでPREVIEW PACKAGES IN USE が上のバー出る時

いつからか気付いた時にはこのような「REVIEW PACKAGES IN USE」が上のバーに出るようになってました。 気持ち悪いので直したいと思います。 環境 Unity2019.2 Mac 注意 Gitのようなバージョン管理していない場合は注意です。 方法 What is "PREVIEW PACKAGE…

Rust 範囲のシンタックス 「...」VS 「..=」

match | Rust by Example このサイトでパターンマッチの練習していた時に範囲を表す記法で...を使うと警告が出ました fn main() { let number = 13; println!("Tell me about {}", number); match number { // 単一の値とのマッチをチェック 1 => println!("…