ゲームエフェクトデザイナーのブログ | A Real-Time VFX Artist's Blog

About Making Materials on UE, Making Tools with C#, etc

C#

Sprite Sheet Tool をリリースしました!

スプライトシートを作成したり、逆に画像を分割したりするためのツールです。 かなり簡易的に作成したツールなので、現状はファイル名を指定できなかったり出力フォルダを指定できなかったりと色々と手を抜いたものになっています。。 複数の画像を1枚に結…

C# TextBoxを数値専用にする際のTIPS

C#

フォームアプリでユーザーが数値入力だけ行える入力ボックスを用意したい場合に、コントロールを自作したり継承して改造せずに標準機能だけで実現しようと思うと主に2つの方法があるかと思います。 NumericUpDownを使う方法 1つは NumericUpDown コントロ…

Helix Core(Perforce)の .NET向けAPIの導入方法 ③

前回に引き続き「Helix Core(旧称 Perforce)」を使ったファイルのバージョン管理の操作を、.NET/C# で制作するWindows Forms Application上で行います。 本記事で解説する内容はこちら。 ワークスペースの切断 ファイルがワークスペースルートに存在するか…

P4 Mini Tool をリリースしました!

「Helix Core(旧称 Perforce)」でバージョン管理している開発者向けのシンプルでコンパクトなチェックアウト&サブミットツールです。 開発の動機 開発では基本的にはUE4のようなゲームエンジン上やP4V上でアセットの操作を行うと思いますが、ゲームエンジ…

P4 .NET API でワークスペース名を取得する

P4 .NET API を使用して指定ユーザーが作成したワークスペース名を取得する方法です。 こちらのメソッドを使用します。

Helix Core(Perforce)の .NET向けAPIの導入方法 ②

前回に引き続き「Helix Core(旧称 Perforce)」を使ったファイルのバージョン管理の操作を、.NET/C# で制作するWindows Forms Application上で行います。 今回は「P4サーバーへの接続」「ファイルのチェックアウト」「サブミット」です。 下記2つの公式ペ…

Helix Core(Perforce)の .NET向けAPIの導入方法 ①

「Helix Core(旧称 Perforce)」を使ったファイルのバージョン管理の操作を、.NET/C# で制作するWindows Forms Application上で行うための導入についてまとめます。 ツールはサーバー管理者向けのものではなく、クライアント向けを想定しています。本記事で…

ローカル環境のみでPerforce+P4Vを使用できるようにする

自宅で .NET/C# を使ってファイルのチェックアウトやサブミットを試したいと思ったのですが、そのためにまずは「Perforce + P4V」の環境を構築したいと思いました。 要件としては以下のような感じです。 ・私物のデスクトップPC1台のみ・サーバー用に別のマ…

C# フォームで動画再生

C#

Windows Media Playerのコントロールを利用する形で試してみました。 利用すると言えどもやらないといけないことは色々あります。 ・動画を開くボタンを追加、アイコンを作成して設定 ・ショートカットキーによる再生/停止、コマ送り/戻し ・ショートカット…

「C#」の記事一覧

C#

C#と.NET frameworkを使ったWindows Forms Aplicationと、制作時のちょっとしたTIPSメモのメニューになります。 作ったツール ・C# リスト管理できるテキストエディタ「List Fusen」を制作&リリース・C# UE4のアセットの命名規則チェックツールを作ってみた…

C# スペースキー+マウスドラッグでスクロールを制御する2

C#

前回の記事の続きです。 effect.hatenablog.comすでに事前準備ができているので、あとはスクロールバーの制御の部分を実装するだけです。 考え方としては、PictureBox の「MouseDown」「MouseMove」「MouseUp」のイベントでマウスドラッグを判定して、ドラッ…

C# スペースキー+マウスドラッグでスクロールを制御する1

C#

フォーム上に配置したPictureBoxに大きな画像を読み込んだ際に、PictureBox内でスペースキーを押しっぱなしにしている間、マウスドラッグでスクロールバーを制御できるようにするための準備についてメモしておきたいと思います。まずはPctureBoxで画像を表示…

C# スペースやEnterキーでボタンを反応させない

C#

ボタンを押すと、TabStopを無効にしていたとしてもそのボタンにフォーカスが移りますが、するとスペースキーやEnterキーを押すとそのボタンをクリックするという困った仕様があります。 これは大体の場合に問題ですし、特にスペースキーを何かの機能のショー…

C# PictureBoxを2つ重ねるサンプル

C#

フォーム上でPictureBoxを2つ重ねて、下のレイヤーは背景用・上のレイヤーは透明にして一部だけ描画したい場合があると思います。 (画像を読み込んでトリミングするために選択範囲を描画したい場合など)こちらが実際にスクリーンショット画像を取り込んで…

Tenpu Gazo Maker をリリースしました!

C#

矩形範囲でスクリーンショットを撮れて、ちょっとした画像編集が可能なツールです。 GitHubにアップしています。binaryフォルダ内にある「TenpuGazoMaker_v1xx.zip」にツール本体の実行ファイルが入っていますので、こちらをクリックして飛んだ先の「Downloa…

C# フォーム作成時の最小サイズは136*39

C#

フォームオブジェクトを作成する際には、どうもサイズ制限があるようです。 こちらの図ではボタンを押したらメインフォームの下に子フォームを生成していますが、その際に大きさを30*30に指定してから生成しています。 form.Width = 30;form.Height = 30;for…

C# Formから別のFormを作成する

C#

簡単なサンプルのメモです。 using System; using System.Windows.Forms; namespace Sample_CreateForm { public partial class Form1 : Form { public Form1() { InitializeComponent(); } Form2 form; private void Button1_Click(object sender, EventArg…

C# 画像に選択範囲のような枠線を引く

C#

前回の記事のつづき。 effect.hatenablog.comよくある「選択範囲」の描画を実装してみた際のメモです。 ラバーバンドと呼ばれるもののようです。 Shiftキーを押している場合は正方形に補正されるようにしています。考え方としては、カーソルの開始位置と終了…

C# 画像にラインを引く際にShiftキーで45度に補正する

C#

前回の記事のつづき。effect.hatenablog.com45度に補正する処理を加えました。考え方としては、まず開始位置から終了位置に向かうベクトルの角度をアークタンジェント(atan2)で算出して度数に直しています。 この時、ベクトルを絶対値にすることで360度ど…

C# 画像にラインを引く際にShiftキーで垂直/水平に補正する

C#

前回の記事の続き。 effect.hatenablog.com色んなツールで定番の機能として、ラインを引く際にShiftキーを押せば縦または横に真っすぐになるよう補正されるというのがあります。 それを取り入れてみました。考え方としては、開始位置と終了位置の長さを出し…

C# 画像にラインを引く

C#

C#でPictureBoxに表示している画像上に直線を引きたい場合についてのメモ。 using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; namespace SampleRubberBand { public partial class Form1 : Form { public …

C# 英単語を覚えるためのツール「English Words Check Tool」を公開しました!

英語の学習を始めたので、勉強のためにツールを作成しました。(下図の例文は旺文社の「英単語ターゲット1400」より引用させていただいています) すでに便利なスマホアプリが色々あるようで、私自身も書籍「英単語ターゲット1400」を購入するとともに、アプ…

C# UE4のフォルダカラーを設定するリストを作成するツール

UE4のコンテンツブラウザのフォルダに色を設定することができますが、設定はユーザーごとに下記の ini ファイルに保存されます。 プロジェクト名\Saved\Config\Windows\EditorPerProjectUserSettings.ini しかし texture フォルダが100個あるような場合、自…

C# タスクスケジューラへタスクを登録するツール

作ってみました! 時間とユーザー名だけ自由に指定できるようにしたものです。ログイン時のユーザー名も取得して表示しています。 元々Windowsのタスクスケジューラで設定するタスクはXMLファイルでインポート/エクスポート可能なので、XMLをインポートする…

リスト管理できるテキストエディタ「List Fusen」がバージョン2になりました!

C#

1年半ほど前に「List Fusen」をリリースしましたが、不具合や使いづらい部分があったりご要望を頂いていたりしたので、一から作り直してバージョン2になりました! GitHubにアップしています。「ListFusen2.zip」にツール本体の実行ファイルと設定ファイルが…

C# 初心者の次のステップ

C#

まったくのプログラム初心者が .NET + C# の最低限の文法を使って簡単なWindowsフォームアプリを作れるようになってくると「コードの中身をもうちょっとうまく作れないかな」「便利な機能をもう少し知りたいな」と思うようになってきます。 そこで、そうした…

C# TreeViewの親子階層内で指定のノードを選択する

C#

TreeViewで指定のノードを楽に選択する方法が用意されていない感じがします。 FullPathを使う方法 ノードのプロパティ FullPath で、例えば選択中のノードのフルパスを取得できます。 そうしてあらかじめ保存しておいた FullPath 情報を利用して、後からまた…

C# XMLへの階層構造の保存メモ3(TreeView編)

C#

前回に続き、今度は実践編ということで元々やりたかったことを再帰処理で行ってみます。 フォームはこんな感じ。あらかじめTreeViewに適当に孫以上の深い階層を追加しておきます。 実装はこんな感じ。「using System.Xml.Linq;」を先頭に追加するのをお忘れ…

C# XMLへの階層構造の保存メモ2(TreeView編)

C#

前回に続き、今回はTreeViewのラベル名をXMLへ書き出してみます。 こちらに再帰処理で全てのノード名を取得するサンプルが記載されています。 こちらを参考に少しずつ進めてみました。 まずはフォームを用意してあらかじめTreeViewにノードを登録しておきま…

C# XMLへの階層構造の保存メモ1(基本編)

C#

C#でXMLファイルに親・子・孫‥といった階層構造を書き込みたい場合についてのメモです。 そもそもXMLを初めて扱うので基礎的なあたりを解説している記事を探して参考にしたのですが、こちらがとても入門として分かりやすくてオススメです。 という訳で試して…