渋谷ほととぎす通信

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

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…

キュベットへプログラム送信時にエラーが出た時の対応

先日我が家にやってきたキュベット君。 キュベットとはイギリス発のプログラミング脳を鍛えるための電子おもちゃです。 キュベットは、そこそこお高いですが、うちの5歳の娘は夢中で遊んでいます。 プリモトイズ キュベット プレイセット 【正規代理店品】出…

Docker Composeのインストールから使用するまで

Mac環境でDockerのインストールまでを上の記事で終わらせました。 ここから、Docker Composeを使おうとすると、 docker-compose: command not found 上記エラーの通り、コマンドが見つからないとのことなので、使えるようにするまでをまとめます。 Docker Co…

SeleniumとPhantomJS連携のブラウザ経由スクレイピングする前のdocker環境構築

前回記事からの続きです。 最低限の機械学習の知識を手に入れるため勉強中。 環境構築 Dockerインストール DockerにUbuntuイメージをインストール Ubuntuを実行してログイン Ubuntuに各種ソフトウェアのインストール 1. Dockerインストール brew install doc…

C#からC++(DLL)に構造体を渡す その1

VisualC++で作成したDLLに対して、C#から構造体を渡して返してもらうということをやってみます。 まずは手始めに変数が値型のみの構造体からやってみます。 環境周りの話は以前の記事を参考にどうぞ。 www.shibuya24.info 今回作るもの public struct Struct…

C#からC++(DLL)に配列を渡す

しばらくこのC#からC++に渡すシリーズは続きます。 文字列、int型と来て、今回は配列を渡します。 ビルド環境については、シリーズ初回のこちらの記事をどうぞ。 www.shibuya24.info 今回配列をC#からC++に引き渡す上で重要になるのはマーシャリングです。 …

C#からC++(DLL)にintを渡す

VisualC++で作成したDLLをC#からintを渡すということをやります。 環境構築は前回記事を参考にどうぞ。 www.shibuya24.info C++側は値で受け取る C++側のコードから載せますが、前回文字列を渡す際はポインタで受け取っていましたが、C#からプリミティブ型を…