プログラミング・動画編集 備忘録

プログラミングや動画編集についての備忘録です

Terrariaのフォントを自作する

はじめに

本記事はTerrariaにて画面上で表示されるフォントを自作するツールの利用方法について説明しています。
ツールの作成にあたっては、定義ファイルを用意すれば簡単にフォントを生成してくれるジェネレータを作成されているmistzzt氏の『Standalone - DynamicSpriteFontGenerator 0.4 (Generate fonts without XNA Game Studio) | Terraria Community Forums』(GNU General Public License v3.0) を改修させてもらいました。
また、日本語フォントの作成するための定義設定には、Terrariaの日本語化ツール「Terraria JpMod Maker」の製作者であるsynctam氏の『synctam: Terraria v1.3.5 用フォントの作成方法』より『Terraria_Death_Text_Pen.spritefont』を使わせていただいております。

はじめる前にバックアップ!

あらかじめ元のフォントファイルのバックアップをとるようにしてください!
通常は以下のフォルダにありますので、フォルダごとどこかにコピーをとってください。

C:\Program Files (x86)\Steam\steamapps\common\Terraria\Content\Fonts

DynamicFontGenerator

ダウンロード:DynamicFontGenerator.zip
f:id:rrryutaro:20180609220704p:plain

使い方

(1) Terrariaのゲームフォルダのパス設定

通常はデフォルトのままで大丈夫です。
Terraria Game Folder:はあらかじめTerraria.exeがあるであろう、次のパスを指定してあります。

C:\Program Files (x86)\Steam\steamapps\common\Terraria

もし異なる場所にインストールしている場合には、パスを直接入力するか...ボタンをクリックしてフォルダを選択してください。

(2) 定義ファイルの指定

通常はデフォルトのままで大丈夫です。
DynamicFontGenerator.exeを実行時、実行したフォルダ内にSampleFont.dynamicfontファイルが無い場合、このファイルが作成されます。(synctam氏作成の日本語用の定義ファイル)
その他、同フォルダ内にファイル名の最後が.dynamicfontとなっているファイルがあれば読込まれます。
Font AllocationリストのDynamicfontの任意のセルをクリックするとコンボボックスが表示されて、定義ファイルを指定することが出来ます。

(3) フォントの指定

フォント設定を変更した対象のFont NameSizeのセルをクリックするとフォント選択のダイアログが表示されますので、好みのフォントとサイズを指定してください。
なお、まとめて変更したい場合All Fontボタンより変更してください。
なお、通常はフォントサイズは12、ただしDeath_Text24くらいが良いそうです。

(4) フォント生成

Generatボタンをクリックすることでフォント生成が実行されます。
元あったフォントを上書きしますので、必ずバックアップをとっておいてください!

イメージ

こんな感じになります。
f:id:rrryutaro:20180609223034p:plain
f:id:rrryutaro:20180609223122p:plain


以上

プログラミングを始めるなら

はじめに

最近まったく記事を書けていないので。
基本的にC#が好きで、このブログは趣味のゲームのMod作りや動画作りをネタにして、C#での開発などについて触れていますが、ここ半年程今まであまり触れる機会のなかった言語を扱ったりしていました。

で、何にせよ何か新たな言語を始めるのに手っ取り早い方法ですが、ちょっとしたプログラムなら今はブラウザで簡単に実行できるサイトが多数あるようですね。
そういったものをサクッと紹介です。

また、プログラミングを学ぶにあたっては、ある程度文法などを学んだら、実際に何か作るのが手っ取り早いと思います。
作ってみたいものが既にあるのなら、それに取り組むのが良いですし、なければ競技プログラミングのサイトを利用するのも手だと思います。

同じような記事をQiitaでも投稿しています。
各言語の環境構築と簡易確認と腕試し

プログラムの実行するなら

次の記事を参考にさせてもらいました。
ブラウザー上でサクッとコードの動作テストができるWebサイトいろいろ | Webクリエイターボックス

とりあえず色々な言語をちょっと実行してみたいのなら『Ideone』(イデオン)が良さそうです。
次の記事を参考にさせてもらいました。
Ideoneの使い方 (2014年8月) - Qiita

こんな感じで使えます。

JavaScriptなら以前に少し『JSFiddle』(ジェイエスフィドル ?) を使っていました。
こんな感じです。

いずれもURLを開けば、登録等不要で、直ぐにでもプログラムの入力が出来て確認も行なえます。

プログラム学習のネタを探すなら

競技プログラミングサイトを利用するのが良さそうです。
次の記事を参考にさせてもらいました。
ITエンジニアのレベルアップに最適!競技プログラミングサイト10選 - paiza開発日誌

中でも『AtCoder』辺りが日本語で取っ付き易いのではと思います。
こちらは登録が必要ですが、各種言語のサンプルもありますし、問題もステップアップで進めることができるため、順々に進めることで学べるのではないかと思います。


以上。

今からはじめる動画編集 - 1 - 録画とAviUtl導入

はじめに

去年の12月頃から動画編集をはじめて、丁度1年が経過しました。
投稿した動画は一応130件ほど。ニコニコ動画YouTube両方に同じ動画を投稿しています。

最近、動画を作ってみようかというコメントをいただけている事もあり、改めて一から動画編集の方法を見つめなおして行きたいと思います。
なお、以前にもこのような記事を書いています。
rrryutaro.hatenablog.com

なお、TerrariaというSteamでなんと定価980円!!のゲームを題材としていきます。
store.steampowered.com

ロイロゲームレコーダーのインストール

今回はとりあえず、ロイロゲームレコーダーを使って録画する事にします。
loilo.tv

リンク先に飛んで、ダウンロードボタンを押して、ダウンロードしたexeファイルを実行します。
f:id:rrryutaro:20171216133026p:plain

特に難しい指定をする事も無く、[インストール]ボタンをクリックしたらインストールがはじまり、終わったら次のウィンドウが表示されます。
f:id:rrryutaro:20171216133116p:plain

後は、ゲームを起動してF6キーを押せばそこから録画が始まります。
とても簡単ですが、今回はとりあえず何も設定変更せずに進めています。
このため録画容量が多くなりますが、その辺はおいおいと。

ちなみに、普段の録画はGeForce Experienceを利用しています。
www.nvidia.com

GeForce® GTX グラフィックス カードを利用している場合、こちらがお勧めです。
自身の環境のグラフィックカードを確認するには、「ファイル名を指定して実行」(ショートカットは[Win]+[R])にて、
dxdiag と入力して[OK]して、「Direct X 診断ツール」を利用するのが基本みたいです。

f:id:rrryutaro:20171216133811p:plain

AviUtlの導入

今回の導入に関わらず、「AviUtlの易しい使い方」のサイト様がとても詳しいです。
何か困ったらまずはここを見るのが一番です。
aviutl.info

導入については、「AviUtl初心者が最初に読むべきページ【導入から使い方まで】」を順番に進めていけばできます。
aviutl.info

今回は一応、その内容を抜粋していきます。

AviUtl本体と拡張Pluginの導入

AviUtlのお部屋 に行き、「aviutl100.zip」と「exedit92.zip」をダウンロードします。
それぞれ解凍して、「exedit92」側のファイルを全て「aviutl100」側にコピーします。
なお、インストールするとかは無いため、AviUtl本体の「aviutl100」のフォルダは管理しやすい場所に置くのが良いかと思います。

入力プラグイン「L-SMASH Works」の導入

L-SMASH Works r921 -- RePOPn に行き、「L-SMASH Works r921」をダウンロードします。
解凍したら先ほどと同じように、AviUtl本体の「aviutl100」に丸ごとコピーしてみ大丈夫なようですが、「aviutl100」の中に"Plugins"フォルダを作成し、その中に解凍したファイルを全てコピーします。
この後、優先順位の確認や、拡張子の設定などもありますが、必要に応じて対応していきます。

出力プラグイン「x264guiEx」の導入

rigayaの日記兼メモ帳 に行き、(画面右側の「○Aviutlプラグイン」の所の)「x264guiEx 2.xx」のリンクをクリックするとOneDriveのページが表示されると思いますので、「x264guiEx_2.52v2.zip」をダウンロードします。
ファイルを解凍し、「auo_setup.exe」を実行します。
「AviUtlのフォルダ」にAviUtl本体のフォルダ「aviutl100」を指定して、「次へ」をクリックするとインストールが開始されます。
しばらく待って「x264guiEx.auoのインストールが完了しました。」が表示されたら、終了をクリックします。

インストールされているかの確認をするため、AviUtlを起動します。(「aviutl.exe」を実行する)
メニューの[設定]-[拡張編集の設定]をクリックするとタイムラインが表示されますので、その上で右クリックして、[新しいプロジェクトの作成]をクリックします。
ダイアログが表示されますので、そのまま[OK]をクリック。
メニューの[ファイル]-[プラグイン出力]-[拡張 x264 出力(GUI) Ex]をクリック。
[ビデオ]圧縮をクリック。
以下の部分が空白となっていなければOKのようです。
f:id:rrryutaro:20171216140114p:plain

初期設定

メニューの[ファイル]-[環境設定]-[システムの設定]をクリック。

次のように設定するのがお勧めなようです。
f:id:rrryutaro:20171216140346p:plain

なお、個人的には「関連ウィンドウ同士を移動時にスナップする」は好みではないのでチェックを付けていません。

フィルタの順序の設定

メニューの[設定]-[フィルタ順序の設定]-[ビデオフィルタの順序]をクリック。
次のように「サイズの変更」と「拡張編集」を上に移動させます。
f:id:rrryutaro:20171216140555p:plain


これで最低限の準備は完了です。

といった所で、今回はここまで。

以上

www.nicovideo.jp
www.youtube.com

画像処理や画像解析そしてOCR・OMRについて考える

背景

ここ3ヶ月ほどはここでの記事を書くことも無かったものの、せっせとTerrariaのMod作りは進めていました。
そして、それなり作りたいと思うものは作れたりしてきています。

その中でもCADのようにTerrariaのゲーム内で建築を行なうMod作りをしています。
その内の1つの機能で、あらかじめ用意した画像ファイルをゲーム内に配置するものがあります。
用途としては、単純に眺めるのもいいですし、立ち絵のように置いておいて一緒に冒険している風を感じてもいいですが、基本はなぞるためのものです。

しかし、最終的には画像解析して、読込んだ画像をTerraraのブロックに置き換えることをやってみたいと思っています。
このため、今まで気にはなりつつも手を付けていなかった OpenCV について調べ始めました。
また、動画編集を楽にするために動画内の文字などを認識させたいと思い、Tessseractについても調べ始めました。

いまやっていること

というわけで、次のような記事を別途書いていたりします。
qiita.com qiita.com


とりあえず、途中ですがこの辺りで。(まだメモとして書いている状態です)

ブログタイトル変更

元のタイトル

RのSkyrim Mod開発日記

変えたタイトル

プログラミング・動画編集 備忘録

変えた理由

丁度1年ほど前にSkyrimのMod開発を始めてから、せっかくなのでやっていることの過程を記録しておこうと始めたものです。
そのMod開発のネタとしているゲーム「ソフィーのアトリエ」について、折角ならプレイ動画を投稿してみようと、ゆっくり実況プレイの動画作成を始めたことで、動画編集に関することもブログの話題とするようになりました。
そうしている内にSkyrimのMod開発を行なうよりも動画編集をする時間の方が多くなってきました。
そんな中息抜きにと別のゲーム「Terraria」を始めるのですが、折角なら録画しておこうと録画し、そうなると折角ならプレイ動画を投稿してみようと、これまた、ゆっくり実況プレイの動画作成を始めてしまいます。
そしてさらに、TerrariaのMod開発も始めて、これについてもブログの話題とするようにしました。
その後は動画作成とTerrariaのMod開発が中心になることで、ここ最近はめっきり記事を書いていませんでした。

そろそろ何か書こうかと思い、それならいっそもうタイトルも変えておこうと思った次第です。
ただ、良い名称が思いつかず今はこんなタイトルです。


以上

【Terraria】Modの公開方法

【2017/09/06 追記】
tModLoader が 2017/09/06 に v0.10.0.2 -> v0.10.1 にバージョンアップしアイコン表示に対応

現時点(2017/08/12) の Terraria 1.3.5.3 にて tModLoader v0.10.0.2 (tModLoaderを使用している場合、実際にはTerraria v1.3.5.2)を使用している場合のModの公開方法についてです。

大まかには次の通りです。

1. Terraria Community Forums のアカウント登録
2. Terraria Community Forums にMod用のスレッドを作成する
3. Mod Browserに登録する
4. GitHubとMod Browserと連動? する(アイコン表示できるようになるらしいが、現時点(8/12)でうまくいかない)
→(2017/09/06)tModLoader v0.10.1 から対応した


Mod Beowserに登録するだけなら、Steamアカウントが必要なだけで、Terraria Community Forumsへの登録はしなくてもよいかもしれませんが、ここが基点?のようなものなので、登録します。

1. Terraria Community Forums に登録する

アカウントの作成をします。
画面の右上に Log in or Sign up の項目があるので、クリックします。
f:id:rrryutaro:20170812071931p:plain

画面上部に入力欄がプルダウンしてきますので、No, create an account now.をクリックし、Sign upをクリックします。
メールアドレスを入力していた場合、次の画面に引継がれます。
f:id:rrryutaro:20170812072142p:plain

よくある名前なんかを入力する画面が表示されますので、各項目を埋めていきます。
f:id:rrryutaro:20170812073321p:plain

メール送信した旨の通知が表示されるので、メールを確認してリンクをクリックすれば完了です。
f:id:rrryutaro:20170812073454p:plain

2. Terraria Community Forums にMod用のスレッドを作成する

Terraria Community Forums のホームから、Forumsをクリックし、Terraria on PC - Player-Created Game Enhancements をクリック。
f:id:rrryutaro:20170812073938p:plain

Client/Server Mods & Toolsをクリック。
f:id:rrryutaro:20170812074021p:plain

Releasedをクリック。
f:id:rrryutaro:20170812074102p:plain
右端の Post New Threadをクリック。
f:id:rrryutaro:20170812074324p:plain

タイトルや本文を入力する画面になりますので、後は必要事項を入力します。
f:id:rrryutaro:20170812074452p:plain

下の方の細かい指定は使っていないので、まだよくわかりません。

3. Mod Browserに登録する

まず、次の場所からログインします。Steamと連動しているようなので、Steamでのサインインが必要です。
Mod Browser - Manage your mods.
f:id:rrryutaro:20170812074738p:plain

Generate Passphrase Now をクリックします。
f:id:rrryutaro:20170812074838p:plain

表示されたパスフレーズをコピーしておきます。
f:id:rrryutaro:20170812075017p:plain

セーブデータのある方の、 Terraria\ModLoader\config.jsonテキストエディタで開きます。
下の方に "ModBrowserPassphrase" の項目があるので、パスフレーズを貼り付けます。
f:id:rrryutaro:20170812075229p:plain

テラリアを起動しMod Sourcesをクリックします。
f:id:rrryutaro:20170812075700p:plain

Publishをクリックします。
f:id:rrryutaro:20170812075828p:plain

問題なければ、成功した旨が表示されるかと思います。
即座に反映されて、Mod Browserで確認できるようになりますが、実際に表示を確認したい場合、一旦Modsから.tmodを削除しないと表示されません。

4. GitHubとMod Browserと連動? する

GitHubと連動する事で、Mod Browserでアイコン表示できるようになるらしいです。(現時点では Recipe Browser くらいしかみかけません)
先ほどの、パスフレーズを発行した際のところで、Manage Mods (Github)のボタンがあり、続いて Change Github Authorization というボタンがあり、アクセストークンなどを入力する画面となります。
GitHubでパーソナルアクセストークンを発行し、対象のリポジトリを対象となるようにすれば、送信完了した旨が通知されますが、アイコンは変わりません。
Recipe Browserを見ると、icon.pngを置いておけばよさそうなのですが、まだよくわかりません。

(2017/09/26)
tModLoader v0.10.1 より、アイコン表示に対応。

Mods can now have an icon! Make sure your file is named 'icon.png' and it has a size of 80x80 pixels. The icon will display in the mods menu and in the mod browser when published.
(Google翻訳:改造者はアイコンを持つことができます! ファイルの名前が「icon.png」で、サイズが80x80ピクセルであることを確認してください。 このアイコンは、公開されると、改訂履歴メニューと改訂履歴に表示されます。)

とのこと。



以上

【Terraria】tModLoaderからTerrariaをデバック実行する

まずは、以下からソースコードをダウンロードします。

github.com

Readmeの説明に次の項目があります。

Getting the tModLoader code for the first time
(初めてtModLoaderコードを取得する)

書かれている通りに実行していけばよいのですが、以下、自分が躓いた事なども含めて手順を説明していきます。

1. ダウンロードしたファイルを解凍し、ルートフォルダの setup.bat を実行する

2. 次のウィンドウが表示されるので、メニューから [Options]-[Select Terraria]を選択する
f:id:rrryutaro:20170811123626p:plain

3. オープンファイルダイアログが表示されるので、バニラの Terraria.exe を選択する
 →通常なら C:\Program Files (x86)\Steam\steamapps\common\Terraria\Terraria.exe
 ※v1.3.5.3ではエラーになると思いますので、Steamから過去バージョンの v1.3.5.2 を取得して、それを指定。
  古いバージョンの取得方法は次を参照してください。
rrryutaro.hatenablog.com

4. [Setup] ボタンをクリックする

5. 次の確認メッセージが表示されるので [OK]をクリックする
f:id:rrryutaro:20170811123943p:plain
 ※1~3時間ほどかかるようなことが書かれていますが、そこまではかからないと思います

6. タブン最後にコンパイルエラーのダイアログが表示されるが、気にせず [OK]をクリック
f:id:rrryutaro:20170811133038p:plain
f:id:rrryutaro:20170811133054p:plain

7. solutions フォルダの、tModLoader.slnを起動してビルドする
 この際デフォルトではLinuxReleaseになっているので、注意。

8. デバッグ実行する
 ゲームが起動すれば、ブレークポイントを設定するなりして、Terrariaでの気になる部分の内部動作を確認できます。


う~ん。こんなに簡単にデバッグで動作をみれるものなんですね。


以上