ちょいちょいツイッターにゲーム開発の進捗GIFをあげてるんですが
そのGIFの作り方について、最近やり方を変えたのでまとめとこうと思います。
まず私のやり方は「スーパーアマレココ」でUnityの開発画面をキャプチャして
「AviUtl」でAVI動画データを作ります。
その動画データをなんとかしてGIF化させていたのですが…
今まではEZGIF.COM様でGIF動画化していました。
こちらのサービスも結構具合が良くて
動画をアップするだけでトリミングからGIF化、更にはいろんな調整も出来てしまうわけです。
ですがフレームレートの制限とかがあったので
どうも不自由な時があるなぁと思っていたら
もっといい手段に巡り会えました。
動画編集ソフトのAviUtlにプラグインでGIF出力ができるようになるのがあったんですよ!
その名も「Direct Animated GIF Export Plugin」
これが結構具合が良くて
そもそも私の作業手順であるAviUtlから作業用ファイルの出力を省略できるので大助かり
サクッとものが作れるのは本当に便利ですな。
このブログはRodmenがゲーム開発上で思ったことや勉強になったこと、ゲーム制作の進捗、関係ない趣味をまとめるブログです。 Twitterもやってますが140字じゃ書ききれないことはここに書いたりします。 Twitter:@Kotoshiro001
「public const」ってstatic化するんですってよ
ボスの行動ルーチン作成中に困ったことが起きました。
行動内容を変数で取っていたんで、そのケース分けを定数で管理しようと思ったんですよ。
以下のような感じで
const int a = 100;
…
int state;
…
switch(state){
case a:
…
break;
}
で、Unityってパーツ分けしてパーツごとにアニメーション指定できるので
別のパーツ部分からこの行動分岐ルーチンにアクセスしたかったんです。
その際、現状の行動内容をいれたかったから定数を参照したかったんですよね。
なので以下のように調整しました。
public void class ClassX(){
public const int a = 100;
…
}
public void class ClassY(){
ClassX x = new ClassX();
x.state = x.a;
x.WayPoint(); //行動分岐ルーチン
}
するとエラーが起こるんですよね
「x.state = x.a;」この部分で
頑張って調べた結果やっとこさ情報が出てきました。
「public const」で指定したものはstaticと同じ扱いになるらしいです。
つまりプログラム状は一つしか存在できない定数になるんですね。
この状態の定数にアクセスするにはnewで作られたクラスからではダメらしいです。
なので以下のように修正したらうまくいきました。
public void class Y(){
ClassX x = new ClassX();
x.state = ClassX.a;
x.WayPoint(); //行動分岐ルーチン
}
クラス名からの参照をすれば正しくアクセスできるみたいですね。
実際はGet関数とかを使うのが健全だと思います。
一つ一つ作るのが面倒だったので横着した結果ですね…。
とりあえずこれで解決したのでこのまま行こうと思います。
行動内容を変数で取っていたんで、そのケース分けを定数で管理しようと思ったんですよ。
以下のような感じで
const int a = 100;
…
int state;
…
switch(state){
case a:
…
break;
}
で、Unityってパーツ分けしてパーツごとにアニメーション指定できるので
別のパーツ部分からこの行動分岐ルーチンにアクセスしたかったんです。
その際、現状の行動内容をいれたかったから定数を参照したかったんですよね。
なので以下のように調整しました。
public void class ClassX(){
public const int a = 100;
…
}
public void class ClassY(){
ClassX x = new ClassX();
x.state = x.a;
x.WayPoint(); //行動分岐ルーチン
}
するとエラーが起こるんですよね
「x.state = x.a;」この部分で
頑張って調べた結果やっとこさ情報が出てきました。
「public const」で指定したものはstaticと同じ扱いになるらしいです。
つまりプログラム状は一つしか存在できない定数になるんですね。
この状態の定数にアクセスするにはnewで作られたクラスからではダメらしいです。
なので以下のように修正したらうまくいきました。
public void class Y(){
ClassX x = new ClassX();
x.state = ClassX.a;
x.WayPoint(); //行動分岐ルーチン
}
クラス名からの参照をすれば正しくアクセスできるみたいですね。
実際はGet関数とかを使うのが健全だと思います。
一つ一つ作るのが面倒だったので横着した結果ですね…。
とりあえずこれで解決したのでこのまま行こうと思います。
登録:
投稿 (Atom)
-
あほげー第28回に参加してきました。 あほげーとは出されたお題に対して大体24時間でアホなゲームを作る企画です。 今回は2月8日に「にわとり」というお題が出され 翌9日にゲームを提出する形でした。 そしてこれが提出したゲーム 「10000円をニワトリで稼ぎたいだけの...
-
Yoke LightをリリースしてからCDキーをくれっていうメールが大量に来ました。 試しにどれ位キーがほしいか聞いてみた結果、何名かは明らかに怪しい動きをしました。 他人を語って送ってきている可能性が高いメールがあったので、 備忘録と警告を兼ねてここにリストアップして...
-
いろいろ考えた結果簡単には行かんなと言う結論に至りました。 まず試したサービスやAPIとその結果を御紹介 DialogFlow → 出力が定型文なので、成長するAIを作りたいというコンセプトから外れる FastText → 私の技術力不足でUnityに乗せれない Wi...
あほげー参加作品「1万ニワトリ(略称)」の開発記録
あほげー第28回に参加してきました。 あほげーとは出されたお題に対して大体24時間でアホなゲームを作る企画です。 今回は2月8日に「にわとり」というお題が出され 翌9日にゲームを提出する形でした。 そしてこれが提出したゲーム 「10000円をニワトリで稼ぎたいだけの...