TAKOYAKING’s blog 一覧

TAKOYAKING’s blog

たこ焼き系

Affinity Designer: 波線

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

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

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

Affinity Designer ブレンドモードスクリーン

ブレンドモードでよく使う「スクリーン」について調べてみました。以下のサイトが 加算 乗算 スクリーン について分かりやすくまとまっていました。 加算とスクリーンを正しく使い分けて綺麗な光を描くヒント - コンポジゴク スクリーンとは スクリーンは乗…

Affinity Designer オブジェクトの均等な整列

オブジェクトを均等に整列したい時のやり方です。 やり方 水平に均等に配置します。 整列させたいオブジェクトを選択します。 次に上のちょっと右あたりに整列するためのボタンがあるのでここを押します。 水平に揃えるために「垂直方向に揃える」から「上下…

affinity designer スライスの時にスライスサイズを手動で指定する

目的 スライスが自動で期待のものにならなかった時に、手動でスライスのサイズを指定する方法です。 方法 1. 書き出しペルソナ 2. いつものようにスライスを作成する 3. スライスタブからスライスのサイズを指定したいものを選択して、右下の変換ウィンドウ…

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…

Rust: temporary value is freed at the end of this stat

現象 struct Note { name:String, } let name = note.name.trim(); println!("{}", name); こういうコードを書いたら以下のようなエラーがでた。 Rust: temporary value is freed at the end of this stat 原因 rust - Temporary value is freed at the end …

Rust: チルダを展開したい(ホームディレクトリ を取得したい)

パスにチルダ「~」を含んでいると展開してくれないのでcrateを利用してみました。 やりたいこと チルダを展開する サンプル GitHub - netvl/shellexpand: A library for shell-like expansions of variables in strings format!("{}", shellexpand::tilde("~…

Rust: サブモジュール内でmacroをimportしたい

サブモジュール内でマクロをインポートしようとすると以下のエラ〜メッセージが出ました。 extern crate` loading macros must be at the crate root 解決方法 How do you import macros in submodules in Rust? - Stack Overflow これにある通り、 #[macro_…

Rust: コンソールにダブルクォーツを表示させない「""」

consoleにダブルクォーツが表示されたり、表示されなかったりすることがあったので、気になったので、表示させない方法を調べました。 やりたいこと コンソールにダブルクオーツを表示させない 写真のようにlsが"ls"として表示されています。 解決方法 [Very…

VSCodeで行頭へ戻る (Mac)

VSCodeで行頭へ戻ろうとしたときに他のエディタのようにCtrl + aを押して戻ろうとしたのですが、スペースを無視してくれず、行の先頭に戻ってしまいます。文字が書き始めの行の先頭に戻って欲しいです。一応cmd + ← で意図したことはできるのですが、他のエ…

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

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

Rust: std::process::Commandを使ってvimを立ち上げる

やりたいこと Rustで作ったスクリプトでVimを実行して起動させたい。 失敗したこと std::process::Command - Rust ここのサンプルのようにしたらできるのかなと思って、やってみました。結果は失敗 use std::process::Command; Command::new("view") .arg("t…

Unity 2DでPhysics2D.OverlapBoxを使う

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

Rust: ファイル操作後はclose処理はしなくても良い

ファイル操作していた時に、ふとclose処理がないと思ったのですが、How to close a file? : rust スコープが終了するとdropが呼ばれ、ファイルが閉じてくれるので他の言語でよくあるcloseメソッドを呼ばなくても良い。 他の言語では python withをつけるとwi…

Rust: ターボフィッシュ コロンコロン::<>

意味 型を具体的に明示するときに使用します。 呼び方はターボフィッシュ(turbofish)。 左辺に型を書くのか、それともターボフィッシュで書くのが良いか? 左辺に型を書くべきかそれともターボフィッシュを使うのかどちらが良いか? Type Annotation in Bind…

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…