渋谷ほととぎす通信

完全趣味でやってる技術メモ。※所属団体とは一切関係がありません。

Dictionary.TryGetValueの書き方がシンプルになってた件

UnityのScripting Runtime Versionを.NET4xに切り替えてから、C#の記述が変わりました。 その中で細かいけど、ちょっとイイと思った部分を共有します。 Scripting Runtime Versionを.NET3.5の時の場合は、Dictionaryの書き方はこうでした。 Object result = …

バージョンコードはGooglePlayConsoleにアップロードしたタイミングでロックされる

バージョンコードは、GooglePlayConsoleにAPKをアップロードした時点で、そのバージョンコードはロックされます。 再度同じバージョンコード(ビルド番号)のAPKをGooglePlayConsoleにアップロードすると、このようなエラーが出て、別のバージョンコードにする…

同じバージョンコードでGooglePlayConsoleにAPKをアップする方法

一度GooglePlayConsoleにAPKをアップしたけど、リリース前に修正箇所が見つかり、同じバージョンコードでアップしようとしたけど、サクッとできなかった備忘録。 アーティファクトライブラリからAPKを削除しようとすると、、、 このようにエラーが出て削除で…

Mac環境でPDFから画像を書き出す最も簡単な方法

とある理由から、複数ページあるPDFの各ページをpngで書き出す必要が出てきました。 1ページずつ開いて保存するなんてことは絶対にやりたくない主義なので、自動化を試みます。 結論 PopplerとImageMagickを使用して比較的自動化してPDFから画像に書き出しま…

Unityのスプライトの単位についてまとめておく

UnityでSpriteRendererを使用して2Dを扱う際、必要知識としてスプライトの単位についてまとめておきます。 Unityの単位はメートル 基礎の基礎から X, Y, Zのスケールが1の、この立方体は、1平方メートルの立方体ということになります。 また、ポジションが(1…

Dell Precision 5520で作業するときはタッチパッドを無効にした方が効率が良かったので無効化する

Dell Precision 5520を使用してて気になるのが、タイピング中にトラックパッドに手が当たって予期せぬ動作をしてしまうことです。 僕は基本マウスを必ず使用するので、トラックパッドは不要といえば不要です。 ということで、マウスを使用していない時だけタ…

Unity 板ポリを比率を変えずにスクリーンサイズにフィットさせる

カメラ : 位置(0,0,-5) 板ポリ(board) : 位置(0, 0, 0) scale(1, 1, 1) 板ポリをスクリーンに縦横比率を変えずにフィットさせるサンプルです。 // 指定サイズの比率 float targetRatio= targetWidth / targetHeight; // 画面比率 float screenRatio = (float…

Unityスクリーン座標をワールド座標に変換する

個人的に時々必要になる且つよく忘れるコードなのでメモです。 この記事でも活用してて、 このようなスクリーン座標のマウスに追随してワールド座標にメッシュを描画するときに使用しています。 スクリーン座標 スクリーン座標は左下が原点で、右上にひくほ…

pyenv経由でPythonをインストールする

以前このようなトラブル記事を書きましたが、そもそもpyenvの使い方を忘れてしまったので、再度まとめておきます。 準備 brew install pyenvでHomeBrewでpyenvはインストールしておきます。 以下を~/.bash_profileなどに記述してsource ~/.bash_profile expo…

Macのメモアプリを作成日で並び替え

感動したので、メモしておきます。 僕はMacユーザーで、メモアプリを鬼活用しています。 各macOS、iOS端末で確認、更新ができ、やろうと思えばWindows、Androidからはブラウザを介して同様のことをすることもできます。 これがデフォルトで実装されているの…

Unity2019.1でAndroidリリースに必要なKeyStoreを作成する

Unity2019.1.0もリリースされ、早速個人的な開発に使用しています。 本記事ではUnity2019.1.0でKeyStoreを作成したログを残します。 Build Settins > Player Settings > Publising Settings > KeyStoreManagerを使用します。 Create New > Anywhereでkeystor…

DOTweenで360度くるくる回転させたい

DOTweenを使って360度オブジェクトを回転させたい場合、少しいつもと違う設定が必要になります。 transform.DOLocalRotate(new Vector3(0, 0, 360f), 6f) .SetEase(Ease.Linear) .SetLoops(-1, LoopType.Restart); 普通に上のように書いてしまうと、オブジェ…

Unity CRI ADX2LEエラー「CriAtomPlugin is not initialized」の対処

今週のお題「特大ゴールデンウィークSP」 CRI ADX2LEをUnityで使用していて、シーン開始フローの中でACFファイルをロードしたタイミングで、 CriAtomPlugin is not initialized というエラーに遭遇した共有です。 ACFファイル自体はAtomCraftから正しく出力…

検索ヒットしたサブフォルダを一括削除

経緯としては以下に記事にまとめていますが、この10連休GW中にゲーム用効果音を探してて、Mutantでファイル管理をする上で必要になった作業でした。 ダウンロードしたzipファイルにWAVとMP3フォルダが存在してて、MP3フォルダを事前に削除して管理したいなあ…

膨大に増え続ける効果音ファイル管理にMutantを使ってみる

結論Mutantは神であるという話をこれからします。 10連休という正月休みより長い疑惑のある令和元年の休暇中、僕はゲーム効果音を粛々と集めています。そんな中で、「この大量のファイルをどうやってみなさん管理しているのか??」という疑問から作業の手を…

Unity2019 AndroidのPatchビルドが良い感じに高速

Unity2019.1から搭載されたAndroid向けのPatchビルド。 Android: Added Script Only Patching functionality, which sends only script-related changes to the device instead of repackaging the APK file. What's new in Unity 2019.1 - Unityより スクリ…

Rider2019.1アップデートで待望のIL Viwerが実装されている

その昔、UnityをMonoDevelopで開発しているときには身近に存在していたIL Viwer。 Riderに移ってからはそれが無く、不便に感じていましたが、とうとうRider2019.1で実装されました。 ILとは ILとはC#をコンパイルする際に作られる中間言語です。ILを読むこと…

Unityエラー「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(MonoBehaviour) _hoge UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) エディタで実行中は問題なかったのですが、Android向けにビ…

ArduinoでLEDテープライトを光らせる

先日購入したALITOVE WS2812B アドレス可能 LEDテープライト 5050 RGB SMD 1 m 60個ピクセル夢色 防水 黒いベース 5V DCを、Arduinoを通しているミイネーションさせてみます。 ライブラリのインストール LEDテープを動かすためのライブラリが公開されていて…

ESP-WROOM-02開発キットを使ってブラウザにHello Worldを表示させるまで

先日購入したESP-WROOM-02開発キットを使って、WifiにつなげてWebServerを立ち上げて、ブラウザにHelloWorld!を表示させてみたいと思います。 環境 Mac HighSierra 10.13.6 ArduinoIDE 1.8.9 ESP-WROOM-02開発キット 準備 ピンソケットは別パーツとして納品…

Photoshopでガイドの座標を整数にする

普通にガイドを引こうとするとこのように端数が生まれてしまいます。 shiftを押しながらガイドを引くと端数が出ません。 表示 > スナップ > ガイドにチェックを入れると、ガイドにオブジェクトが 吸着し、意図した作業ができるようになります。 以上

Unity SpriteRendererで表示した画像をドラッグして端から端までピッタリ表示する

結論 X座標ドラッグ可能距離 = 画像サイズ / PixelPerUnit - orthographicSize * (Screen.Width / Screen.Height) Y座標ドラッグ可能距離 = 画像サイズ / PixelPerUnit - orthographicSize で割り出せます。 ※平行投影カメラが前提 以下のコードをドラッグ処…

Arduino ポテンショメータを使ってみる

約240度ほど回転するつまみ(ポテンショメータ:Potentiometer)を使ってみます。 Elegoo UNO キット レベルアップ チュートリアル付 uno mega2560 r3 nanoと互換 Arduino用出版社/メーカー: Elegooメディア: この商品を含むブログ (1件) を見る 購入したこのキ…

Unity2019 PackageManagerがメニューに表示されなくなった時の対処法

2018.3.7f1からUnity2019にアップデートした際に起こったPackageManager周りのトラブル共有です。 タイトルの通り、WindowからPackageManagerの項目が表示されなくなる現象が発生しました。 Unity2019では使用できないバージョンがmanifestで指定されている…

コルーチンの引数にはref、outは使用できない

タイトルの通り、コルーチンで少しハマったので共有です。 IEnumerator Hoge (ref int foo) { yield return null; foo = 1; } このようにIEnumeratorを返す関数にはrefやoutが使えず、以下のようなエラーが出力されます。 error CS1623: Iterators cannot ha…

Arudino 1Digit 7-Segment Displayを使ってみる

だいーぶ期間が空きましたが、 Arduino ジョイスティックモジュールを使ってスティックの傾けた値を取得する - 渋谷ほととぎす通信の続きで、以前購入したArduinoのキットの中身を見ていくシリーズです。 Elegoo UNO キット レベルアップ チュートリアル付 u…

Unity Undefined symbols for architecture arm64というエラーがXcodeで吐かれたときの対応

iOS向けネイティブプラグインを書いて、Unityでビルドしたらこのようなエラーに見舞われました。その備忘録です。 Undefined symbols for architecture arm64: "_OBJC_CLASS_$_MFMailComposeViewController", referenced from: objc-class-ref in CustomPlug…

UnityのAndroidビルドでApplication.persistentDataPathが取得できない件

UnityでAndroid向けビルド時、C#6.0の新機能文字列補間におけるハマり案件共有です。 実機でApplication.persistentDataPathがNullになる var path = $"{Application.persistentDataPath}/hogehoge"; Debug.Log(path); と記述すると、UnityEditor上では正常…

Android向けIL2CPPビルド失敗時に2点考えられること

UnityでAndroid向けにIL2CPPビルドした際に以下のようなエラーが出た場合の対策をメモしておきます。 Exception: /Applications/Unity/Hub/Editor/2018.3.7f1/Unity.app /Contents/il2cpp/build/il2cppcore/il2cppcore.dll did not run properly! il2cppcore…

Unity ビルド後のAndroidManifest.xmlの書き出し場所

Android開発している際に、AndroidManifest.xmlをごにょごにょ書き換えることが多々あります。最終的にビルド時に書き出されるAndroidManifest.xmlの位置をメモしておきます。 Unityプロジェクトルート/Temp/gradleOut/build/intermediates/ merged_manifest…