重力を調節する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 重力を軽くしたり重くしたりしたい。 ※重力は、シーン全体に影響するっぽい。 やりかた Physics.gravityに、倍率をかけてやる。 Physics.gravityの初期値は、Vector3で(0.00, -9.81, 0.00…

モノの大きさを取る

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと C#のスクリプトから、オブジェクトの大きさを取得したい。 transformのscaleをとっても、大きさの値じゃなさそうな値しか取れなかった。 やりかた 今回は、この町の背景オブジェクトの大…

オブジェクトに付けられているコンポーネントを取得する

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと オブジェクトにつけられているComponentを取る。 付けられてるコンポーネントとは、下図に出てる、「RigidBody」「AudioSource」などのヤツら。 これらが取れると、C#スクリプトから、 Ri…

Prefabの作り方

やりたいこと Prefabをつくりたい。 Prefab:好きなアセットの、好きなパラメータをセットされた「お気に入りオブジェクト」的な奴。 Prefabを作っておけば、そのお気に入りオブジェクトをC#スクリプトから複製できたりする。 やりかた Assetsフォルダの下に…

構造体の「StructLayout」とは何をするものか?

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと COMについて勉強していたときに、 [StructLayout(LayoutKind.Explicit)] public struct PROPVARIANT { [FieldOffset(0)] public ushort vt; [FieldOffset(2)] public ushort wReserved1; …

SensorManagerで、C++とC#でCOMを使う練習をする その2

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 以前の記事で、COMをC++とC#から使う練習をしたつもりだったが、再度COMを使うことになったときに、全然わかってなかったことに気づいてしまったので、もうちょっと頑張ってCOMを使う練習…

Media Foundationでカメラデバイスを列挙する

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 先日、マイク・スピーカーのデバイスを列挙するということをやってみたが、今度はカメラを列挙したい。 で、Windowsには「Media Foundation」というのがあり、それでそういうことができる…

PCのマイク・スピーカー(オーディオデバイス)の音量変更・ミュート状態変更時のイベントを取る

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと マイクやスピーカーの音量変更、ミュート状態が変更されたことを知りたい。 やり方 IAudioEndpointVolumeCallbackインターフェースクラスを実装したクラスをRegisterControlChangeNotify(…

PCにマイクやスピーカー(オーディオデバイス)を抜きさししたときのイベントを取る(C++版)

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 前回の記事(下記)で、マイクやスピーカのデバイス(エンドポイント)の名前を取得したり、現在の音量を取得、設定したりした。 https://tera1707.com/entry/2023/10/10/224852 今回は、…

PCに接続されているマイク(オーディオデバイス)を取得し、音量設定をする(EnumAudioEndpoints)(C++版)

C++

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと オーディオのデバイスを列挙して、それらの情報を取りたい。 やったこと MMDeviceEnumeratorのEnumAudioEndpoints()を使う。 APIの説明 https://learn.microsoft.com/ja-jp/windows/win32…

TaskにConfigureAwait(false)を付けると、それ以降の処理はそれ以前のスレッドとは別のスレッドで行われることになる

C#

やりたいこと Taskでawaitしている個所に.ConfigureAwait(false)を付けると、その後の処理で、アプリが落ちたりすることがある。なんでなのか?調べたい。 わかったこと .ConfigureAwait(false)を付けたときとつけてないときで、処理が行われるスレッドが違…

実行中のプロセス自身のパスをとる

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと 実行してるexe自身のフルパス、もしくはそれが保存されてるフォルダのパスを取りたい。 サンプルコード // フォルダ Console.WriteLine(Environment.CurrentDirectory); Console.WriteLin…

Taskを調べてると頻繁に出てくる「コンテキスト」とは何か?

C#

やりたいこと Taskとか非同期処理を調べていると、あちこちに「コンテキスト」「同期コンテキスト」「非同期コンテキスト」という言葉が出てくる。 これが、調べても調べても何のことを言っているのかわからない。 なんとなく、「コンテキスト ≒ スレッド」…

WMIのクラスを全部取る・その中のプロパティ値もできるだけ取る

WMI

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと WMIでなにか値をとりたいなと思ったときに、どのクラスからどんな値が取れるのかがわからないので、いつも出だしで困る。 あまり良いやり方ではないかもしれないが、とりあえずもう全部の…

null許容(null許容値型/null許容参照型)についてのメモ

C#

もくじ https://tera1707.com/entry/2022/02/06/144447 やりたいこと タイトルとは別のしらべものをしているときに、 null許容について知らないことがいろいろわかった気がしたので、理解したかどうかはおいておいて、忘れたくないものを取り急ぎメモ。 別の…