昨日の記事の続きです。
会社でscriptできる人に相談した結果AutoSaveが実行されたときにイベントを発生させるのは難しいんじゃないだろうか
と言う風になりました。
でまぁやりたいこと話したそれはoyaGさんの作ったSaveSceneAsNowPluginをTimerEventで実行するようにすればいいじゃないの?って言われてまさにそのとおりだったわけですよ。
アプローチ的には保存の前に現在のシーンをバックアップへコピー、その後シーンを保存って寸法です。
SaveSceneAsNowPluginではショートカットに割り当てて上書き保存をするとバックアップを取る っていうことを行っています。
なのでそれをTimerEventで一定間隔ごとに行えば自動保存をバックアップしてくれる ということだ。
前回は現在のシーンは保存してないけどAutoSaveしたものは残したい っていうのを考えてたんだけどそんな辺鄙な状況はほぼない。
戻りたいならシーンを探しにいけば良いということで現在の形に落ち着きました。
Script自体は結局Jscriptで書き直しました。
やりたいことは近かったので結構流用は出来たので無駄にならずよかったです。
あと気がつかなかったんですけどAutoSaveって最後に保存押してから で時間計算するんですね。だからそもそもこまめに保存してる場合はバックアップデータが作られないってことに気がつきませんでした。
plAutoSave.Js
プラグインフォルダにぶち込めば動きます。
時間間隔直したい場合は、テキストエディタで開いて。
//基本30分にしてます、ここをms(ミリセカンド)書き換えれば間隔をコントロールできます。
in_reg.RegisterTimerEvent("AutoSaveBackup",1800000,0);
の部分の1800000を書き換えてください。1000で1秒です
例によって使用は自己責任で。
青色文字は追記修正
先日生放送してたらエラー落ちしてまるっと30分がお亡くなりになられた悲しみにうちしがれて書いた。
生放送のときはどうやらオートセーブ入れてなかったっぽい、どっちにしてもダメだー
オートセーブもどんどん消えていくからバックアップは残して欲しいんですよね。でも消えちゃうの。
復帰は正直信用できないから自衛するしかないの。
MAXちゃんはすげー細かい時間でオートバックアップ取ってしかもそのとき止まらないっていうなかなか優秀な子だったんですよ、それだけはsoftimageになってちょっと怖いなぁって所です。
でメイン。
イベント型プラグインです。自動保存の時間+1分でバックアップを取ります。
30分30秒後に保存するようにしました。上手く昨日しないみたいなので。
バックアップ先はプロジェクトにUserBackupができるのでそこに入ります。
Pluginsフォルダにぶち込むと勝手に働いてくれると思います。
あと動作実験はしてないので導入は自己責任で。これから試します。動くといいね。
plAutoSaveBackup.js
2012SP1で試してますが、現状既に何点か気になる点と直したい点があります。
1.AutoSaveの名前
AutoSaveの設定をオンにするとAutoSaveってファイルがアクティブプロジェクト内の
system/ユーザー名/
にAutoSave1ってできるんですが、
これAutoSaveってファイル名じゃなくてなぜかケツに1が付くんですよね。うちの環境に合わせて書いたのでAutoSave1ってファイルがあったらコピーするってことになってます。もしAutoSaveってファイルが生成される方がいたら書き換えるなりしてくれればとりあえずは解決すると思います。
2.イベントの発動タイミング
プラグインにも種類があるんですけど今回はあることしたときにスクリプトが走るっていうイベント型プラグインを作成しています。
本来ならばAutoSaveをしたときに自動でスクリプトが走る ってのが理想です。
ただ私にはわからなかったので自動セーブの時間を拾って1分後にコピーするって風にしてます。
何か詳しい人がいたら教えてください・・・
上手く機能しなかったので、数値で指定しました。
元々は自動でセーブして別ファイル作ってやろうと思ったんですけど、そういうことはできないんですよね、今いじってるのは保存しないでそのまま続けて別データを保存する。
そういうことが出来る方法を考えたら標準のAutoSaveしかなくてよく分からない遠回りをする羽目になりました。
これも私が知らないだけかもしれないんですけど、とりあえず知りません。そのうち見つかるかも。
今回はWscript?とか結構使っているフォルダ作ったりとかはなんか普通じゃできないとかなんとか、その辺よく分かってないですけど。
script書くときはいつも探り探りです。いや本当
最近なんか特に同僚がすっかりscript漬けなので頼めば書いてくれるんですよ。
でもそれだと自分が書かなくなって怠惰に堕落して結果書けなくなっていると、
なので今回は自分で何も聞かず書いてみました、タブン同じもの書かせたもっとスマートに書くんだろうなって気はします。
あっぷかんりょうしました・・・
ねます・・・
http://www.3dcg-arts.net/art/1673
こちらの企画のものです http://tweetvite.com/event/3DArts_Fantasy
CGArt'sさんの方でまとめページを作ってくれているようです。 http://www.3dcg-arts.net/official_event/3dcgarts-fantasy-festival-2012.html
3DCGArt'sファンタジー祭りの途中経過です
告知と宣伝込めて
6月3日〆なので今から背景ごりごり作って行きます、その途中経過雑多な感じでなおかつキャラが見えるようにしつつ・・・
あとちょっとなので頑張ります