忍者ブログ

2025

1214
こんにちは、しぇらです

ウディタで動画を流せるようになりましたね、ずいぶん前に
ウディタ公式では、.ogv を推奨しています
…聞いたことねぇファイル形式だな?

軽く調べてみると、動画フォーマットの一つで .ogg で保存されているそうです
なるほど、.ogg なのか
ウディタでの音声推奨フォーマットは .ogg なので、割と納得いきます

僕は普段AviUtl で動画制作もしているので、環境は揃っています
「ほな、AviUtl で直接 .ogv を出力すれば楽じゃん」となったので、備忘録兼ねて書いていきます

※基本はAviUtl で書いていきますが、AviUtl2 でも動作することを確認しています

①AviUtl(2) のダウンロード
下記サイトからダウンロードしてください▼
AviUtlのお部屋

AviUtl の場合
aviutl110.zip とexedit92.zipをダウンロード→解凍
exedit92.zipで解凍されたファイルは同じくaviutl110.zip に解凍されたファイルに入れてください

AviUtl2 の場合
最新の.exe をダウンロード→起動
これで完了です
頻繁に更新がされているので、明確にこの.exe というのは現状ありません
必ず最新のファイルをダウンロードしてください

AviUtl とAviUtl2 の違い
どっち入れればいいの?の結論は簡単にいうと
・簡単な編集だけでいい→AviUtl2
・編集も凝ったものをしたい→AviUtl
かと現状は思います

理由は簡単で、AviUtl の後継版がAviUtl2 なのですが、まだまだベータ版だからです
僕はどっちも触っているのですが、機能の充実という点ではやっぱりAviUtl の方が圧倒的にプラグインが多いのです
AviUtl2 は更新も活発だし、そのうち移行できるといいなぁ

ちなみに、「黄昏還る箱庭にて」はAviUtl2 の基本機能のみで作成しています(出力にはプラグインを使用しています)
あれぐらい簡単な編集であれば、AviUtl2 で全く問題ないと思います


②ffmpegOut のダウンロード
そもそもFFmpeg ってなんぞや?という話ですが、オープンソースのメディアエンコーダです
大体のメディアを読み込み、変換、出力、果てには簡単な編集までできてしまう非常に優秀なソフトウェアです
で、これをAviUtl で使用できるプラグインがあるんですね
それがffmpegOut です

下記Github からダウンロードしてください▼
GitHub - rigaya/ffmpegOut: Aviutlのffmpegを使用した出力プラグイン

ダウンロードはReleases をクリックしてLatest ラベルがついているものをダウンロードしてください
AviUtl とAviUtl2でダウンロードファイルが違うのでそこは気をつけてください
導入については、Github に詳しく書かれているのでそれに沿って導入してください

ついでに、これも入れておくといいよっていうプラグインも書いておきます
L-SMASH Works:入力プラグイン
  • 入れておくと大体の主要なファイル(.mp4, .mov ...etc.)を導入できるようになる
InputPipePlugin:AviUtl 用の入力プラグイン
  • 上記のL-SMASH Works と一緒に入れると動作が軽くなる
  • ⚠️AviUtl2 に入れても意味がないです、多分バグります
x264guiEx:出力プラグイン
  • 入れておくと主要な動画ファイル(.mp4 など)で出力できるようになる
  • これと同様のx265guiEx という出力プラグインもある
  • 違いはエンコーダの種類
  • x265 の方が優れてはいるが、youtube などのストリーミングサイトに上げるならx264 のままで十分

③設定&出力
何かしら編集などをして出力をします
出力→ffmpegOut を選択します
設定を押して、下記のようなコマンドを入力します

-codec:v libtheora -qscale:v 10 -codec:a libvorbis -qscale:a 9

ものすごく簡単に解説しておきます
-codec:v libtheora :動画コーデックでTheora を使用
-qscale:v [num]:ビデオの品質[0~10]
-codec:a libvorbis:音声コーデックでVorbis を使用
-qscale:a [num]:音声の品質[0~10]

実際の設定画面はこんな感じ▼

※画像はAviUtl のものですが、AviUtl2 も同様の設定で問題ありません 

これで出力すると、.ogv の動画が完成します!
お疲れさまでした!

ちなみに、今後もこの設定で出力する場合は新規保存をしておくと、わざわざ書き直したりする必要がなくなりますよ

もし、エラーが出力された場合エラー文を読んでください
たとえば「○○が見つかりません」みたいなエラー文は、大体ライブラリが足りない場合に出てきます
ダウンロードしてきたFFmpeg ファイル下のbin を見てみると、.dll というものがあります
これをAviUtl のexe_file フォルダにコピペしてください
これを導入すると、大体の場合は出力が開始します

そもそも.dll って何よって話ですよね
Dynamic Link Library と呼ばれていて、単語の頭文字をとってdll です
簡単に言うとプログラムの一部品だと思ってください
詳しく知りたい場合は調べてください

一応、コマンドを入力しなくても出力はできるのですが、画質が微妙になります
あとは、コマンドを入れない場合でエラーが出るときもあったので、コマンドを入力しておいた方が確実だと思います

FFmpeg で出力する場合、多少の知識とコマンドを理解しておく必要があるのですが、ffmpegOut を使用すれば、そういったものをスルーすることができます
また、元々サンプルが用意されているので、それを選択するだけで出力するための設定が完了します
もちろん、今回のような特殊な設定をしようとする場合は調べたりする必要が出てきますが…

FFmpeg を導入すれば、別にAviUtl でなくてもcmd でコマンドを叩いて変換できるのですが、編集したものを出力するなら一つでできたほうが楽ですよね
意外と「ウディタで.ogv を導入しよう」とか「AviUtl で.ogv を出力しよう」みたいな記事が見当たらなかったので、気合いで作りました
(.mp4 の記事ならたくさんあるのですがね〜…)

今回はこんな感じで
それでは〜



参考URL
"TheoraVorbisEncodingGuide",  FFmpeg, 2019(Retrived on November 25, 2025)
https://trac.ffmpeg.org/wiki/TheoraVorbisEncodingGuide
PR

2025

0910
こんにちは、しぇらです
現在次回作のデモ版を出すにあたり、着々と作業を進めている次第です
なんか元々マップ関連を曲を作る予定なかったのに作っているので、気づくと作業量が増えています
おかしい…

前回、メッセージウィンドウを好きにやったついでに自動改行とかできたら楽じゃね?と思い、いろいろ調べていました
なんとVer.3.5以降なら隠しコマンドを使用することで改行できるようになったみたいです
なんて便利だ…

じゃあ、もうあれだし文章と立ち絵を同時に出すコモンを作ったらそれはもう無敵だ(作業がだいぶ楽になるため)となったので、今回進めていきます

使用バージョン:Ver.3.633
※Ver.3.5以降必須です

先に立ち絵コモンを作成しましょう
今回は、画像を縦横分割して表示する方法を取ります

まずユーザーDB に新しいタイプを追加します
項目は「ファイル」「縦」「横」を追加します
ファイルは「▼特」をクリックして、ファイル読み込み(文字列)を選択します
初期フォルダは立ち絵を置いているフォルダを選択していると、後々の作業が楽になります
縦横は「数値」を選択します
ユーザーDBの設定は以上です
表示したいキャラを置いておきましょう



次にコモンです
セルフ変数は以下の通り設定しておきます
CSelf35, 38はなくても別にいいです、調整用に使用しますが僕は使いませんでした
CSelf20は使うかなと思って設定しましたが、使いませんでした
なくても問題ないです


入力内容を設定します
項目は「表示」「表情番号」「画像」「立ち位置」「顔グラ番号」「文章」です
「表示」は「選択肢を手動選択」を選択して、「表示」「非表示」好みに応じて「半透明」とか準備します
「画像」は「データベース参照」を選択して、先ほど追加したものを選択します
「立ち位置」は「右」「左」があればいいかな、中央は好み
「顔グラ番号」は前回作成したコモンに合わせて、名前表示をするためのものです
文章と違い"@[num]"を使用して表示することはできません
そのため、表示のために専用で準備しておきます
「データベース参照」を選択して、「システムDB」の「顔グラフィック名」を選択します
「文章」は表示したい文章をそのまま入れます
自動改行処理を入れたコモンへ渡します
人によっては「反転」とかも追加するのかな
その場合は必要ない箇所を削ってください


コモンの中身はこんな感じ
  


そういえば、文字列のCSelfが1つ残ったので、中央表示を削れば画面へ最大4人表示させることができそうですね
僕の場合はそもそも最大2人しか写さないので必要性をあまり感じなかったかな

画面を4分割して1, 3本目の線の上に立ち絵が来るように調整しています

条件分岐にCSelf5[文章]が""以外の場合、つまり何かしら入力されていれば文章を表示できます
これをやっている理由は、立ち絵を2つ表示させているときに、片方の表示方法を変化させるときに例えば【透明になる→文章表示→別の画像を出現する→文章表示】のような動作を回避するためです

名前表示(CSelf4[顔グラ番号])を-1にすると、前に表示した名前をそのまま表示できます
いちいち更新させるの、なんだかなぁと思っただけなので、この動作がなくても問題ないかと思います

上記で示した通り、CSelfを通す場合は文章で使用するような"@[num]"は使用できません
文章表示特有の機能だからです
ですので、ここで直接Sys0を操作しています

文章改行コモンは以下の通りです


ものすごく簡素になりました
文字列操作の隠しコマンド「指定幅で自動改行する」を使用しています
全角は2でカウントされるので、割り切れる数値を採用しいい感じに調整します
ここに関してはフォントや文字サイズとの兼ね合いもあるので、本当に自分で調整して好みを見つけるしかありません
文章だけを表示させるときはこれ単体でも使用できます

最終的にこんな感じになります
▼使用

▼左右同時

▼中央



※まだ立ち絵を描いていないので、例としてフリーペンシルさんを使用させてもらっています
ゆるっとしててかわいくていいですよね

僕は立ち絵の切り替えを頻繁にするし、文章を結構書くので全部まとめてやった方が早いなとなっているのでこんな全部を入れたコモンを作りましたが、分離させても問題ないです

こんな感じで、重たかった部分を解消することができました
あとメニューやセーブ・ロードも独自の物にするつもりなのでこっちの改造を進めていく予定なのですが…

だんだん形になってきてるのでいい感じです
このままデモ版は今年中に配信できるように進めていきたいですね

それでは~

2025

0807
こんにちは、しぇらです

最近はずっと動画制作とゲーム制作を反復横跳びしています
ゲーム制作については、ようやくデモ版の最後の方にあるイベントのシステムを思いつきましたので、ようやくウディタへの実装が始まったところです
まぁまだマップチップとチャラチップ以外の素材を全く作っていないので、公開はまだまだ先かと思われます

さて、今回は基本システムにあるコモンイベント[063:X[共]メッセージウィンドウ]を自分好みに改造してしまおう、という回です
基本的に僕自身のための備忘録となっています
正直、基本システムに頼らない作り方も考えたのですが、使えるもんは使った方がいいし、そこから好みに改造した方が楽だと思っているので…
使わないコモンイベントとか結構あるから、何とも言えん
戦闘とお金関連、ステータス系は今回本当に使わないし、使うとしても個人で実装すると思われ

では本題
メッセージウィンドウは「お手軽ウィンドウ」から縦横サイズを決めて生成されるものなのですが、これが昔から気に入らなかったんですよね
たとえば、ウィンドウ用に[3の倍数]*[3の倍数]のウィンドウを作って、実際にメッセージウィンドウを表示します
これが想定通りの絵柄にならないんですよね
システム的に縦横が3分割され引き伸ばされるので、四角以外は引き伸ばされてしまうのです
だから派手なウィンドウにしたい場合、絶対使えないんです
だからと言って、メッセージの表示をするたびにピクチャ表示をわざわざイベントごとに挿入する…のは面倒

ということをしたいために、メッセージウィンドウを改造するに至るのです
今回の改造は、基本システムにこちらのコモンを参考に改造しました

■使用バージョン:Ver.3.633
※Ver.3.0 以上なら問題ないと思います

ウィンドウの画像読み込みは
[25] ■ DB読込(ユーザ): Cself9[ウィンドウ画像サイズ]=ユーザDB[ "画像/音声設定":0:"ウィンドウ画像ファイル" ] ( 16:画像/音声基本設定: 2)

に設定されています
このウィンドウ画像ファイルはユーザDB[16:画像/音声設定[ 2:メッセージウィンドウベース画像]]に設定されています
これを任意の画像に変えればいいのですが、これだとまだ画像表示の際に引き伸ばされて表示されてしまいます

[92] ■ ピクチャ表示:CSelf20[基本ピクチャ番号] [中心]ウィンドウ(CSelf9[ウィンドウ画像ファイル]) サイズ [CSelf38[サイズX],CSelf39[サイズY]] X:CSelf30[基本表示位置X] Y:CSelf31[基本表示Y] / 5(3)フレーム / パターン 1 / 透 255 / 通常 / 角 0 / 拡 100% / カラー R[100] G[100] B[100]

ここにあるセルフ変数の値をそれぞれ変更していきます
  • CSelf20[基本ピクチャ番号]=メッセージウィンドウを表示するピクチャ番号
  • CSelf9[ウィンドウ画像ファイル]=メッセージウィンドウの画像ファイル
  • CSelf38[サイズX]=メッセージウィンドウの横サイズ
  • CSelf39[サイズY]=メッセージウィンドウの縦サイズ
  • CSelf30[基本表示位置X]=メッセージウィンドウの表示X座標
  • CSelf31[基本表示Y]=メッセージウィンドウの表示Y座標
変更する必要があるのはCSelf38[サイズX], CSelf39[サイズY] です

[28], [29]
 ■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
 →変数操作:CSelf38[サイズX]=[素材のウィンドウサイズX]*1

■ 変数操作:CSelf39[サイズY]=7*CSelf89[座標倍率Y(x10)]
 →変数操作:CSelf39[サイズY]=[素材のウィンドウサイズY]*1

CSelf88[座標倍率X(x10)], CSelf89[座標倍率Y(x10)] は可変DB [18:基本システム用変数]に登録されている数値です
なお、基本システムを使用している場合、コモンイベント[048:X[共]基本システム自動初期化]によって変数が決まります

[44]~[47]
■ 変数操作: CSelf25[一時変数A ] = Sys116:[読]画面サイズX / 32
■ 変数操作: CSelf26[一時変数B ] = Sys117:[読]画面サイズY / 24
■ DB書込(可変) : 可変DB[ "基本システム用変数" :97:0 ] ( 18:座標倍率X[x10]:数値) = CSelf25[一時変数 A]
■ DB書込(可変) : 可変DB[ "基本システム用変数" :98:0 ] ( 18:座標倍率Y[x10]:数値) = CSelf26[一時変数 B]

任意の画像を作った場合、サイズがばらばらだと思うので縦横のサイズ*1で定めてしまった方が簡単かもしれません
CSelf88[座標倍率X(x10)], CSelf89[座標倍率Y(x10)] を使用する場合は
左辺の値=素材の横サイズ or 縦サイズ / CSelf88[座標倍率X(x10)] or CSelf89[座標倍率Y(x10)]
でできるかと思いますが、ウディタは小数点切り捨てなので想定通りにならない可能性があります

メッセージウィンドウ画像表示は以上です

ついでに名前表示とかしちゃいましょう
名前、いちいち入力するのも手間なので、システムDB[24:顔グラフィック名]の2番以降に追加して表示できるようにします

これに関してはこちらのコモンを参考に、必要な箇所を追加していきます
なお、セルフ変数をいくつか追加する必要があります
  • 名前を画像として表示する(文字列変数)
  • 名前の表示座標[X, Y]
  • 補正用の表示座標[X, Y]
  • 隠し表示座標[X, Y]
  • フォントサイズ
あとは、この分ピクチャが増えるので表示フラグやCSelf21[ 一時ピクチャA ](顔画像を表示・消去する時のピクチャ番号), CSelf22[ 一時ピクチャB ](顔画像を消去する時のピクチャ番号)への追加も忘れずに

それで出来上がったものがこちらになります





結果としてはこんな感じ▼

※カーソルはまだ作っていないのでデフォルトのやつですが、そのうちきちんと素材を作ります

こんな感じで「???」になっているところが名前表示になっています
しれっと表示位置変えていたり、下からメッセージウィンドウを出すのではなく、その場でフェードイン・アウトしながら表示・非表示されるように改造しています

あとは自動改行できるようになれば、いちいち改行する負担が減るのでそれもやってしまおう
作ったらまた更新します

それでは~

参考URL
"コモン[063:X[共]メッセージウィンドウ]の解説", YADOT-WOLF, 2024(Retrived on August 1, 2025)
http://yado.tk/wolf/05_kihon/0063_msg/

2021

0929
こんにちは。
しぇらです。

さて、今回は本題の通り、違和感を持った話について。
前回同様、地道に新しい短編を作っているのですが、なーんかメッセージウィンドウが変だな…と。



左右の隙間に違和感。
右の隙間が大きいんですよね。
なんでなん…。

仕方がないので、コモンの「[63]メッセージウィンドウ」を見てみます。
メッセージウィンドウの大きさは、28, 29 行目に書いてありまして、座標倍率はその上、23, 24行目に書いています。



○ウィンドウサイズ
■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
■変数操作:CSelf39[サイズY]=7*CSelf89[座標倍率Y(x10)]

○座標倍率
■DB読込(可変):CSelf88[座標倍率X(x10)]=可変DB[基本システム用変数:97:0](18:座標倍率X[x10]:数値)
■DB読込(可変):CSelf89[座標倍率Y(x10)]=可変DB[基本システム用変数:98:0](18:座標倍率X[x10]:数値)

で、この座標倍率の計算ってどうなってるの?というのは、これまた別のコモン「[48]基本システム自動初期化」の31, 32行目に書いてあります。



■変数操作:CSelf25[一次変数A]=Sys116:[読]画面サイズX/32
■変数操作:CSelf26[一次変数B]=Sys117:[読]画面サイズY/24

こんな感じで書いてあります。
この「画面サイズ/32」がメッセージウィンドウの横サイズに影響しているのだということが分かりました。(あとで可変DBに書き込みをしていることから、計算結果が座標倍率に代入されていることが分かります。)

で、今回のウィンドウサイズは848×480です。
16:9のウディタにいつの間にか搭載されていた新しいサイズです。

848/32=26.5
…あぁ、これ小数点以下切り捨てられてんな、ということがここでわかります。(なんでなん?)
というのも、ウディタでゲーム確認をするときF7キーを押すと、今どんなピクチャがどのサイズで、どの位置に表示されているのか、というのが見ることができます。

このとき、メッセージウィンドウサイズ:X=780 になっています。

[63]メッセージウィンドウより
■変数操作:CSelf38[サイズX]=30*CSelf88[座標倍率X(x10)]
 →30*26=780

一致しますね。
なので、小数点以下切り捨てということが分かりました。

おそらくこれが影響してなーーんか微妙な感じのメッセージウィンドウ位置になったのでしょう。
ゲーム画面がX=848 なので、

848/2=424

なので、中心座標X=424 に調整してみます。
現在のメッセージウィンドウの中心座標はX=416 となっているので、ここに移動させたいですね。
まぁ、頭が悪そうなやり方ですが、基本システム自動化をいじっても結局整数となること、メッセージウィンドウのサイズは気に入っていることから、メッセージウィンドウコモンで座標をずらせばええやん、となりました。

[63]メッセージウィンドウの30~34行目を見ると、

■変数操作:CSelf30[基本表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf31[基本表示位置Y]=20*CSelf89[座標倍率Y(x10)]
■変数操作:CSelf32[隠し表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf33[隠し表示位置Y]=28*CSelf89[座標倍率Y(x10)]

と書いてあって、ここで座標を指定しています。
(16*26=416, 16*20=320 となるので、上の画像の座標と一致していますね。)

セルフ変数の意味は簡単に言うと、基本座標は、表示しているときの座標、隠し座標は出現移動・消去移動するときの座標です。
じゃあこの基本表示位置と隠し表示位置を調整すればいいな、と考えました。
加算すればいいか、となって、X座標に+8 します。
なので、こうなります。

■変数操作:CSelf30[基本表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf30[基本表示位置X]+=8
■変数操作:CSelf31[基本表示位置Y]=20*CSelf89[座標倍率Y(x10)]
■変数操作:CSelf32[隠し表示位置X]=16*CSelf88[座標倍率X(x10)]
■変数操作:CSelf32[隠し表示位置X]+=8
■変数操作:CSelf33[隠し表示位置Y]=28*CSelf89[座標倍率Y(x10)]

これで中心座標X=424 になるはず。



お!ちゃんと中心座標X=424 になってる!
ということでうまくいった!解決~!
解決しなかったら自分でメッセージウィンドウ作っていちいち表示させているところでした。
それでもいいんだけどね。

ちょっと頭の悪い解決方法だけど、今思いつくのはこれくらいなので、これで行きましょう。
もし、メッセージ位置そのものに違和感があったら、コモン「
[63]メッセージウィンドウ」の44, 45 行目を触るとメッセージ位置のX, Y座標をずらすことができます。
それじゃあこの辺で~。

参考URL(コモン「メッセージウィンドウ」の詳しい流れが書いてあります):◆◆◆

2021

0831
お久しぶりです。
しぇらです。

ウディタで短編を1年以内に作る!という目標をあげてからちまちま作成を続けていまして、多忙もありましてなんだかんだのんびり作っています。
で、最近になってようやくマップチップとキャラチップもできましたので、システムの方をいじりだしまして、

まぁ覚えてない!

悲しきかな。

で、今後もウディタとはお付き合いしていくと思うので、基本システムの変更箇所を記録する作業をしたりですね、しているわけです。

それで今回は前回に引き続きピクチャ選択肢のタイトル画面にしようと思い立ちまして、せっかくなので左右選択式にしようと思い立ったわけです。
まぁ、ここで引っかかってしまうわけです。
ウディタは左右選択ができません。
上下選択しかできません。
え、めんどい…とか思いましたが、自分の作りたいもののために妥協してては自分の納得するものはできませんからね、考えます。

ここで考え付いたのは、自作コモンを公開している方のプログラム講座を見てなんとか組めないかなと。
一応、プログラムをかじっている人ではあるので、どうやって考えれば動くのか、というのは考え付きます。
カーソルを動かすためにはループさせればいい、カーソルを動かすためには変数を+-していけばいい、端の判定がいる、方向キーによって条件を変更する…
うん、めんどくさい。
先生も言ってました、先人の誰かやってるからそれを真似して自分のものにすればいいと。
うん、そうしよう。

それでたどり着いたのがここです。
◆◆◆(別サイトに飛びます)

ありがたい。

ここでは、2選択のみですが、簡単に応用できます。
要するに何番目の選択肢なのか、動かす方向で+-はどう変わるのか、というのを考えるだけです。
+-は基本的なX座標を思い浮かべてください。
右に進むと+1,+2, ...と数が大きくなります。
なので、右方向に進むときは+でカウントしてきます。
左はその逆なので-1, -2, ...とカウントします。
端の判定は、戻るときは選択肢が何個あるのか、というのを考えて入れます。
だから、選択肢が2つの時は2、選択肢が3つのときは3、といった具合です。

で、作ったものがこちらです。

(作ってたときの本音が駄々洩れだ…)

ほとんど変えてはいませんが、タイトル画面というわけでタイトルの処理をしています。
で、これでどうなったかというと、


うん!思った通りになった!
思ってたことができると楽しいね。
もう少し変える予定ですが、これでほとんどタイトル画面は完成です。

ウディタの講座は色々探すと結構出てきますし、難しいこともたくさん書いていますが理解できるので、プログラムやっててよかったなとこの時ばかりは思います。
いざとなれば、有志が公開しているコモンを頼っていいいですからね、作ってくれる人に感謝。


というわけで、今回はこんなところで~。
プロフィール
HN:
しぇら
性別:
非公開
自己紹介:
一次創作同人サークル「はねうさぎのこや。」の管理人。
絵をかいたり、ゲーム作りや曲作りなんかを楽しんでいる。
QRコード
P R
忍者ブログ [PR]
* Template by TMP