みかづきメモ

主にプログラミング関連のメモ帳 ♪(✿╹ヮ╹)ノ 書いてあるコードは自己責任でご自由にどうぞ。記事本文の無断転載は禁止です。

C#

Unity のエディター拡張を DLL 形式で配布したい

Unity のエディター拡張とかでソースを公開したくない場合とか、 追加参照が必要なときに DLL で配布すると良い感じに出来たりします。 そういうときのための、 DLL でエディター拡張を作る方法についてのメモ。 前提環境は以下の通り: Windows 10 Microsof…

.NET 公式で定義されている P/Invoke シグネチャーを使って Win32 API を使いたい

暇だったので .NET Foundation (github.com/dotnet) のリポジトリ一覧を眺めていると、 Windows の P/Invoke の定義をしているリポジトリがあったので、 それを使って Win32 API を呼び出してみます。

C# で Glob Pattern でファイルを検索したい

C#

Glob Pattern でファイル検索したいですよね、私はしたいです。 ということで、 C# で使ってみるためのメモです。

Unity でプロジェクト外部の参照を追加したい

ここでいう外部の参照っていうのは、 NuGet ライブラリだったり、 .NET Framework には含まれてるけど追加参照が必要なものを指します。 NuGet ライブラリを使う場合 公式ドキュメントでは nuget.org から DL する方法が紹介されていましたが、 いちいち落と…

Unity で Texture2DArray を作成したい

使っているシェーダーの都合上、 Texture2DArray を使う必要が出てきたのだけど、 どうやら Texture2DArray は直接作れないようなので、作り方のメモ。

Unity で Project から Hierarchy へスクリプトを使って Prefab を展開したい

Prefab の設定を楽にしたくて、エディター拡張を作ったのですが、 もはや Prefab を Hierarchy に移すのさえ面倒だったのでやり方を調べました。

Unity のエディター拡張で D&D を受け入れたい

VRChat でいろいろやっている影響もあって Unity を最近よくいじっているのですが、 大量のオブジェクトの操作をやりたくなったので、エディター拡張を作りました。 ただ、私の知る限り一括で Object を設定できるコントロールは無かった気がしたので、 ドラ…

SteamVR でレーザーポインターを実装する

VR ゲームで操作するとき、レーザーポインター形式の操作方法をよく見かけます。 それを Unity + SteamVR で実装してみます。

SteamVR + Index Controller で Animation を使いながら Finger Tracking をしたい

先日の記事で指トラッキングをしましたが、 Animation Controller と使うと、 Animation で上書きされてしまってうまく動作しないらしいので、 改めて、 Animation Controller に対応した指トラッキングをやってみました。

SteamVR + Unity で、アバターのサイズを人間の大きさに合わせたい

前回までの記事で、せっかく自分の動きでアバターを動かせるようにしたけど、 大きさがあっていないので、若干の違和感が発生してしまっていました。 ということで、この記事では自己流でサイズを合わせてみました。

SteamVR + Index Controller で Finger Tracking をしたい

ということで、久々ですが SteamVR の記事です。 せっかく Index Controller があるので、指の動きを良い感じにしてみようと思います。

Unity 拡張で、 Component から Inspector に表示されている名前をとりたい

大体のことは GitHub にある UnityCsReference を読めば、 どの API 使えば良いか解決するなと気がつき始めました、みかです。 Unity で GameObject とかに Component をくっつけると表示されるこの名前 これ 最初はクラス名から自力で生成するのかと思って…

UWP API の GraphicsCapture で Window Handle をソースとして使いたい

久々の C# ネタ、かつ UWP ネタということで、今年春のアップデートでできるようになった事についてご紹介。 UWP でスクリーンショットや動画の撮影などに使える GraphicsCapture API で、 Win32 API でおなじみの hWnd をソースとして使えるようになってい…

Windows で壁紙が変更されたことを知りたい

C#

壁紙が変更されたことを検知して、何かしたい!って場面に遭遇したので簡単に残しておきます。 Microsoft.Win32.SystemEvents.UserPreferenceChanged は DPI の調整などでも発動するので、 それ以外の方法で知る必要があります。 そこで、 ManagementEventWa…

Pixela と Azure Functions で日々の SNS への投稿数を記録したい

2018年11月中旬頃から、 Misskey への日々の投稿数を Pixela に記録しているので、 私はこうやりました!という記事です。 普段はあまりしない自作の成果物の宣伝もあるけど許してネ。

EnumWindows で見えない UWP アプリを除外したい

突然の Win32 ネタです。 トップレベルウィンドウを列挙する場合、 EnumWindows を使うのですが、 そのとき、見えないウィンドウなども混ざってしまいます。 そういうのを除外する方法です。

Internal compiler error: 型 'Microsoft.Cci.DummyModuleReference' のオブジェクトを型 'Microsoft.Cci.IAssemblyReference' にキャストできません。

タイトルママのエラーが Release ビルド時に出た。 ソリューションを閉じる NuGet キャッシュを全て消す (VS から消すと、消せませんでしたと出ることがあるが、それで OK) プロジェクトの .vs ディレクトリを消す bin や obj などのビルド時に生成されたデ…

UWP アプリから、ストアアプリのレビュー画面を開きたい

アプリの設定とかから、「気に入ったらレビューしてね!」みたいなのを追加したかった。 以下のようにすることで起動できます。 await Launcher.LaunchUriAsync(new Uri($"ms-windows-store:REVIEW?PFN={Package.Current.Id.FamilyName}")); ちなみに、 MSDN…

Wallpaper Engine の仕組みが気になったので

先日、 Twitter してたら面白そうなアプリのツイートが流れてきました。 Steamで販売している”WallpaperEngine”というデスクトップの画像を動画に変更できるアプリが面白い。設定も凄く簡単だし、最大化しているタブがある時は動画を停止してくれるのでCPUに…

PC の型番を取得したい

C#

PC の型番情報を取得したくなったので、取得してみました。 こういった情報は、 Windows Management Instrumentation を使えば取得できるようです。 ということで、早速取得してみます。 using (var mos = new ManagementObjectSearcher()) { mos.Query.Quer…

UWP で Entity Framework Core を使いたい

Entity Framework Core を使ったアプリを UWP で作ったので、 ライブラリとツールの使い方をメモしておきます。

EntityFramework で子の子を読み込みたい

リレーションが下のような感じの場合。 public class Anime { public int AnimeId { get; set; } public int Year { get; set; } public int Quarter { get; set; } public string Title { get; set; } public virtual ICollection<Episode> Episodes { get; set; } }</episode>…

LINQ to Entities での DateTime.Now

LINQ to Entities + SQLite で下のようなクエリを使うと、 // 今やるべき予定 var plans = context.Plans.Where(w => w.StartAt <= DateTime.Now && DateTime.Now <= w.EndAt); こんな SQL が発行されます。 SELECT [Project1].[C1] AS [C1], [Project1].[Pl…

UWP で ItemsControl.Items の変更を検知したい

WPF だと、 ItemsControl.Items は INotifyCollectionChanged を実装しているので、 いつもどおり検知できるのですが、 UWP だとなくてちょっと困ったのでメモ。

UWP でカスタム URI スキームに対応する

ストアアプリならば、 ms-windows-store://pdp/?ProductId=9WZDNCRFHVJL とすれば、 OneNote のアプリ詳細が開くように、自作のアプリでも対応したくありません? ということで、カスタム URI スキームに対応してみます。 ※なお、この記事は Prism の使用を…

CefSharp で HTTP(S) 通信の中身をみたい

前からちまちまいじってる CefSharp の続きです。 私は CefSharp.WPF 以外は触ってないので、一応それでの話ということで。

HTML テキストを WebBrowser ではなく RichTextBlock で表現したい

WebBrowser またはそれに近い何かを使えっていう話でもあるんですが、 以下の様な HTML ドキュメントを、 RichTextBlock で表現したいとします。 <p> こんにちは、私は <a href="http://www.softbank.jp/robot/support/">Pepper</a> です。 <br /> 今は<strong>誰でも</strong>購入可能です。 </p> それなりに誰かやってそうなことなので、 MSDN …

CefSharp.Wpf でもスクショしたい

Chromium Embedded Framework (CEF) を C# から使えるようにしたプロジェクトのうちの1つに、 CefSharp というものがあります。 WinForms, WPF, OffScreen 用にそれぞれパッケージが用意されており、 NuGet からも導入できます。 そのうち、 OffScreen には…

UWP の GridView でいい感じにコンテンツを配置したい

UWP の GridView でのお話。 いい感じってどんな感じっていう話なんだけれども、文字で書くとすれば、 「ウィンドウの幅によって、水平方向コンテンツ数と幅がちゃんと変わってくれる」 みたいな感じ。

ApiInformation.IsTypePresent に渡す値

前の記事にて、 ApiInformation.IsTypePresent に typeof で指定したのだけれども、 このようなツイートを見かけて心配になったので、試してみました。 あれ、IsTypePresentにtypeof().ToString()したら利用不可なとき死なない? — ゆたか (@tmyt) 2016年6月…