- 投稿日:2020-04-03T18:57:06+09:00
Proxy有りでUnityのAndroidビルド
ユーザー名フォルダの直下にある .gradle フォルダの中に
gradle.properties という名前のファイルを作成
作成したファイルをエディタ等で開き、下記のように記述(Http・Https両方必要かは環境による気がする)
gradle.propertiessystemProp.http.proxyHost=Proxy指定ホスト systemProp.http.proxyPort=8080 systemProp.http.proxyUser=ログインユーザーID systemProp.http.proxyPassword=パスワード systemProp.https.proxyHost=Proxy指定ホスト systemProp.https.proxyPort=8080 systemProp.https.proxyUser=ログインユーザーID systemProp.https.proxyPassword=パスワード■参考URL
https://answers.unity.com/questions/1621072/how-to-fix-gradle-build-error-when-building-androi.html
- 投稿日:2020-04-03T16:45:42+09:00
Unity内のカメラをZoomのカメラとして使う方法
はじめに
そのまま。Unity内のカメラをZoomのカメラとして使う方法です。自分用のメモ書きとして残しておきます。
こんな感じになります
ヨシ!これからはzoomでもバ美肉だ pic.twitter.com/Btp8BrF6dg
— Yukihiko Aoyagi (@yukihiko_a) April 3, 2020
簡単。とってもありがたい--追記--
ほぼ同じ内容で先に書かれた記事がありました。。。しかもめっちゃ丁寧に。
Unityのカメラ越しにZoomに参加する方法環境
Windows 10 Pro
Unity(2019.2.13f1で確認。)
Spout(バージョン2.006 update-2かな)
KlakSpout(Unity用のパッケージ、v0.2.4を使用)
Zoomのクライアント(これからもずっと使えるのかは不明)インストール
UnityとZoomは先に入っているとして、Spotをインストールする。
ダウンロードはここ (できればDonateもね)もとからチェックはついているけれど、SpoutCamにチェックが必要
次に、KlakSpoutのパッケージをダウンロード。
ふつうにreleaseから最新でいいと思う。DL後自分のUnityのプロジェクトにPackageを追加
Assetの下にKlakフォルダができるスクリプトファイル、Asset\Klak\Spout\Runtime\SpoutSender をMainCameraにAddする。
終わり。簡単
使い方
Zoomを起動し、ビデオ設定でカメラのリストからSpout Camを選択
あとは好みの設定をして終わり。簡単
- 投稿日:2020-04-03T03:01:57+09:00
UnityのNativeAudioPluginについての情報まとめ。
はじめに
同内容は以下ページに保存済みです。
https://machiaworx.net/?p=485そもそもNativeAudioPluginって、何をするもの?
公式の説明:
https://docs.unity3d.com/Manual/AudioMixerNativeAudioPlugin.html
(日本語版は単に直訳っぽいので、英語版のURLを参照した)本来だとMixerに追加するエフェクト、の扱いみたい。
ただ、アウトプットを加工した上で出力することが可能なため(Callback関数で処理)、
インプットをすべてスルーしてアウトプットの処理を書くことで、
シンセサイザー等を実装してコントロールすることが可能。
ちなみにGUIを実装してそれと連携して鳴らすことも可能です。公式リポジトリ
https://bitbucket.org/Unity-Technologies/nativeaudioplugins/src
(公式)https://github.com/keijiro/MinimumAudioPlugin
(kzrさん作の最小限構成)利用手順(ザックリと)
- プラグイン作成
- フォルダ配置
- 名前変更(「audioplugin_XXX」という名前にすることでNativeAudioPluginと認識する
- ミキサー上にエフェクトとして処理を追加(Add Effect)
- 各種Callback関数が自動的に処理を開始する
プラグイン作成手順
- DLL作成準備を行う(プロジェクトファイルが存在するのでそれ使いまわしでもいい)
- リポジトリ内ファイル「AudioPluginInterface.h」を読み込ませる
- 各種Callback関数の中身を記載する
- コンパイル
- 配置・名前変更(上記利用手順参照)
挙動のTips
- Mixerに入ってきた音に対して自動的に処理する形
- エフェクト名称についてはプラグイン内部で定義する。(これはどちらかというと実装Tipsかなあ)
- ミキサー自体をソロにするとCallbackも止まるケースがある模様
- AudioSourceへの直接的なアクセスは不可能 あくまで出力されたオーディオに対しストリームでアクセスできる
実装Tips
- Callback処理については通常特段のコントロールは不要。常に鳴るものとして処理を書いておく
- サンプリングレートは各環境に依存するため、各種構造体から取得する必要がある。
- Callback関数の引数・戻り値については「AudioPluginInterface.h」に記載がある
- Callback関数内に分岐によって「書き込まない」処理を行うとグリッチが発生するので注意
- つまり「何もしない処理を書き込む」前提で処理を行う必要がある
- Editor上での処理が必要であれば特定Callback関数への値引き渡しで調整可能
- DLL上で関数を公開することで、C#等からの関数呼び出しが可能
- ただしマングリングが必要なため、書き方は注意が必要。
- 記述例:「extern “C” UNITY_AUDIODSP_EXPORT_API void xxx(xxx xxx) {}」 (好きな関数名・引数・戻り値の型を決められます)
- マングリングについての参考URL:https://albel06.hatenablog.com/entry/2016/03/17/180000
- 公開した関数は以下記載を追加することでC#での呼び出しが可能。
- 記載例:[DllImport(“AudioPluginSinOsc”)]private static extern void xxx();
- Editor上での読み込みは、「常に読み込まれる形になる」ため、プラグインの内容を変更する際、Editorですでに読み込んでいる場合はEditorの再起動が必要になる。
- あとEditor上だとずっと読み込まれてる形なので、状態を保管している場合、初期化されない状態がずっと続くため、繰り返しテストする場合に不具合が起こることが予想される。 (素直にシーン開始時に実行する自前の変数初期化処理書いたほうがいいかも)