ゲームエフェクトデザイナーのブログ (新)

レポート記事とか色々。C#とかも触ったり。

メインコンテンツ目次

●ニュース

Unreal Engine 4UE4)について書いた記事(主にVFX Artist向け)

エフェクトツールを使ってできること
エフェクトのワークフロー

テクスチャのインポートについて
テクスチャのプロパティについて
テクスチャのフォーマットについて

マテリアル作成の基本的な知識
最終マテリアル入力の各ポートについて
パーティクル向けのマテリアルの設定について

BISHAMONについて書いた記事

BISHAMONの最初のステップ
BISHAMON Personal v1.8 の新機能について
BISHAMONへのカメラのインポートについて

●Houdiniについて書いた記事

Houdiniの学習について
Billowy Smokeを使った煙のチュートリアル(前半)
Billowy Smokeを使った煙のチュートリアル(後半)

Mayaについて書いた記事

MELの最初のステップ
MELのウインドウ作成について
MELでシェーダー作成 1
MELでシェーダー作成 2
MELスクリプトのある場所を参照する
MELを配布する時のプロシージャについて
UVの正規化
頂点カラーを別のモデルに転送
テクスチャの色を頂点カラーに転送

Photoshopについて書いた記事

Photoshopのスクリプトを書いてみる

C#について書いた記事

C#のはじめ方
C#で正規表現による置換を行う
C#でサブフォルダをリストアップ
C#でサブフォルダの総サイズのリストアップ(ListBox編)
C#でサブフォルダの総サイズのリストアップ(DataGridView編)
C# DataGridViewの主なプロパティ
C# リスト管理できるテキストエディタ「List Fusen」を制作&リリース
C# UE4のアセットの命名規則チェックツールを作ってみた
GitHubでのツールやソース公開について(CGアーティスト向け)
ライセンスについてのメモ

●その他の記事

イチオシゲームエフェクトアレコレ

処理速度と処理量のお話 ms(ミリセカンド)について
ドローコールについて

おおまかな開発コストの計算方法
おおまかなゲームソフトの売り上げの計算方法

勉強会開催のすすめ
大阪・京都の貸し会議室メモ

続きを読む

C# PictureBoxの主なプロパティ

良く忘れるのでメモ。

デフォルトから変えることが多いものを中心にメモっています。

◆動作

SizeMode
 StretchImage ‥にするとPictureBoxのサイズに合わせて画像を拡大縮小する

◆直に記述しないといけないもの

pictureBox1.AllowDrop = true;
 ドラッグ&ドロップで画像を受け付ける場合にTrueにする
 public Form1() 内に記述すればOK

UE4にPythonプラグインを導入してみる

UE4.17でPythonを使用できるようにするUnrealEnginePythonプラグインを導入してみたのでメモ。

いくつかの記事を参考にさせて頂きました。

まず前提条件が以下になります。

Python環境そのものをPCにインストールしていなくても大丈夫
・ビルド環境が無くても大丈夫
プラグインの入ったzipをDLして所定の場所に入れるだけ

続きを読む

「eboard」で中学の数学をやり直してみる

3DCGツールでスクリプトに手を出したり、シェーダーなどに触れたりすると、数学が必要な場面があって、高校時代に全くと言って良いほど勉強しなかった自分は「高校数学を学び直さないと‥」「いや、高校数学どころか中学からやり直さねば多分わからん‥」と思うことがよくあります。

そう思いつつもほったらかしになっていたのですが、最近こんなツイートが流れてきました。

ほうほう、これはいいなーと思ってRTしたのですが、ついでに「中学の数学を学びなおすのに良いサービスはないかな?」と思ってググってみたらトップに出てきたのがこちら。

eboard」は主に中学生で学ぶ内容を動画で分かりやすく丁寧に教えてくれるサービスのようですが、ユーザー登録しなくても視聴可能で、ユーザー登録すればテスト問題を解いたりどこまで進めたかグラフィカルに表示されたりします。

高校生で学ぶ内容では「高校数学I」だけありますね。

こちらを試しに中学数学の頭から1年生の終わりまで視聴してみましたが、テストをすっ飛ばして動画を見るだけなら半日~1日あれば十分観終える感じでした。
1つの動画は数分程度で、短いものだと2~3分だったりもします。

ということは3日間くらい集中して観れば、中学数学の復習ができるなあ!と。

思ったより短時間で高校数学まで辿りつきそうでモチベーションが上がってきました。
非常に素敵なサービスだと思います。

寄付のページをざっと見てみてもちゃんとしているなあと思いましたし、大きな企業からの協賛もあって素晴らしいなと。寄付は定額だけでなく単発でもいけるようなので、高校数学Iを終えたら感謝の分の寄付をしたいなと思いました。

しかし数学を学習してみて思うのは、1つずつステップアップしていくカリキュラムの流れが美しいなあと。今覚えたものが次に役立つ、の繰り返しで。
国内独自の工夫が盛り込まれているのか、海外と同じなのか。海外がどういったカリキュラムなのかは知りませんが、沢山の頭の良い人達によって長年の間に洗練されてきているのでしょうか。
「はじき」とか「ひとよひとよに‥」が昔と全く変わっていなくてそこはほほえましく思いつつも、こういったカリキュラムを考えられるというのはすごいなと思うのでした。
ハードウェアやソフトウェア、3Dグラフィックスパイプラインやリアルタイムグラフィックス、ゲームエフェクト、果ては開発とかマネジメントとかも順を追って基礎から学べる動画があると良いなあとぼんやり考えたり。

しかし反面、数学は他の教科と比べて、何のために役立つのかイメージしにくくて子供たちにはモチベーションになりにくいだろうなあという点と、他の教科に比べて学習が階段的であるというか‥1つ躓くと以降のステップがどんどん分からなくなっていって脱落しやすい科目だなあというのをあらためて感じました。
先生も教えたりついていけない子をフォローしていくのも大変だろうなと。。

数学だと特にグラフとか図形では3DCGアニメーションを使ってグラフィカルに提示したら理解のしやすさが格段に上がるだろうし、またゲームのプログラミングでは数学が活用される場面が多いと思うので活用例とシリアスゲームがうまくミックスされたようなコンテンツがあれば良さそうと思いましたがすでにあるのかな?

ちなみに、実のところ中学の数学についてはYouTubeで解説動画が色々と上がっていて、ちょこっと視聴したことはあるのですが、YouTubeの動画リストからでは一覧性が悪くアクセスし辛い印象なので、こういった学習に特化したサイトで視聴できる方がやっぱりいいですね。

Udemyも探せば高校数学とかCGクリエーター向けの数学の講座もあるのでしょうか。
Online Courses - Anytime, Anywhere | Udemy

またこちらも漁ってみたいと思います。

 

追記:
後日、無事に中学数学の視聴を一通り終えました。
先に書いたように3日間集中して視聴すれば一通り観終える感じでした。
早く高校数学に入っていきたかったのですが、そういう場合にどこか飛ばせる要素は無いか振り返ってみたものの、無いですね。。
因数分解も覚える必要あるんだろうかと思いましたが、高校の数学Iでまた出てきますし‥

と言う訳で、引き続き高校数学を学んでいきたいと思います。
3DCG周りで必要なのは「三角関数」「ベクトル」「行列」あたりになるようです。

メモ:

 

ゲーム開発者による情報発信や副業について考えてみる

今日は2017年の大晦日ですね。

今年は色々と感慨深い年でもあったので、私にとって永遠のテーマでもある「ゲーム開発者にとってのプライベートでの情報発信や副業」について、さらっとではありますが今の考えを書いてみます。

続きを読む

C# DataGridViewの主なプロパティ

良く忘れるのでメモ。

デフォルトから変えることが多いものを中心にメモっています。

◆動作

AllowUserToAddRows  False ‥にするとユーザーが行を追加できなくなる

AllowUserToDeleteRows  False ‥にするとユーザーが行を削除できなくなる

ReadOnly  True ‥にするとユーザーがセルを編集できなくなる

◆配置

AutoSizeColumnsMode  Fill ‥にすると列が枠にピタっと収まる

◆表示

RowHeaderVisible False ‥にすると行ヘッダーを非表示にする

C# List<T>の中身をDataGridViewに追加する方法

C#でListの中身をDataGridViewに追加する方法。 すぐに忘れてしまうのでメモ。。

▼外観はこんな感じで用意しておいて‥ f:id:moko_03_25:20171226002429j:plain ▼ボタンを押すとこうなる感じです。 f:id:moko_03_25:20171226002446j:plain

複数のListの中で最も多い要素数を割り出して、その分の行を最初に追加しています。
単にMath.Maxだと2つの値しか比較できないので、LINQで検索したら出てきたこちらの記事を参考にさせて頂きました。 qiita.com

コードはこんな感じ。

// Listの中身を適当に定義
List<string> list1 = new List<string> { "a", "b" ,"c" };
List<string> list2 = new List<string> { "1", "2", "3" };
List<string> list3 = new List<string> { "A", "B", "C", "D", "E" };
List<string> list4 = new List<string> { "4", "5", "6" };

//下準備
private void Form1_Load(object sender, EventArgs e)
{
    foreach (string s in list1)
    {
        textBox1.AppendText(s + "\r\n");
    }
    foreach (string s in list2)
    {
        textBox2.AppendText(s + "\r\n");
    }
    foreach (string s in list3)
    {
        textBox3.AppendText(s + "\r\n");
    }
    foreach (string s in list4)
    {
        textBox4.AppendText(s + "\r\n");
    }

    //行ヘッダを非表示にする ※Formデザイナーのプロパティ内でも設定可能
    dataGridView1.RowHeadersVisible = false;
}

// ボタン押下でDataGridViewに表示
private void button1_Click(object sender, EventArgs e)
{
    //Listの最大格納数を割り出す
    int iMax = new List<int> { list1.Count, list2.Count, list3.Count, list4.Count }.Max();

    //Listの最大格納数だけ行を追加
    for (int i = 0; i < iMax; i++)
    {
        dataGridView1.Rows.Add();
    }

    //行にデータを入力
    for (int i = 0; i < list1.Count; i++)
    {
        dataGridView1.Rows[i].Cells[0].Value = list1[i];
    }
    for (int i = 0; i < list2.Count; i++)
    {
        dataGridView1.Rows[i].Cells[1].Value = list2[i];
    }
    for (int i = 0; i < list3.Count; i++)
    {
        dataGridView1.Rows[i].Cells[2].Value = list3[i];
    }
    for (int i = 0; i < list4.Count; i++)
    {
        dataGridView1.Rows[i].Cells[3].Value = list4[i];
    }
}

C# UE4のアセットの命名規則チェックツールを作ってみた

QiitaのUE4アドベントカレンダー初参加です。

UE4の大量のアセットに対して「命名規則が守られているかをチェックしたい!」と思い、せっかく覚えたC#でチェックツールを作ってみました。

完成したツールはこんな感じ。

f:id:moko_03_25:20171206010311j:plain

左のテキストボックスにUE4のアセットのリファレンス情報を貼り付けて、アセットの種類に応じたボタンを押せば、命名規則が守られていないものだけが右のテキストボックスにリストアップされます。

命名規則をどうチェックするかというと、あらかじめ正しい規則をチェック用のテキストファイルに正規表現で指定しておきます。

その正規表現にマッチしないものがリストアップされるという訳です。

2017.12.17 ver2.0にアップデートしました!
 ・レベルとスケルタルメッシュを追加対応
 ・ボタンの並び順を変更
 ・アセットの種類をリファレンス情報を元に判定
  ボタンに対応するアセットが無い場合にメッセージを表示
 ・結果の数を正しい値が出るよう修正
 ・変数名や関数名が分かりにくかったので全体的に修正

2017.12.28 ver3.0にアップデートしました!
 ・チェックボタン一発で表に全タイプのアセットを一括でリストアップ
 ・Exelに貼り付け時にセル内で折り返さないようクリップボードへコピーボタンを追加

続きを読む

ライセンスについてのメモ

最近、ツールのソースコードを公開したりする機会もあり「ライセンス(使用許諾条件)」について軽く調べたのでまとめておきたいと思います。

アーティストだって素材を配布したりもするので関係ありますよね。

さて、参考にさせて頂いた記事はこちらの2つ。

続きを読む

C# WindowsFormのコントロールの概要

Windowsフォームアプリで利用できるコントロールについて、簡単にまとめました。

続きを読む