投稿記事

RPGツクールの記事 (7)

3Dポーズ集 2013/06/07 08:12

アニメーションさせるピクチャを表示するRGSS3素材をアップロード(作業日報 6/6)

昨日作成したアニメーション表示用のRGSS素材をアップロードしました。ご利用の際には簡易アニメーション表示.zipをダウンロードしてください。

ダウンロード

ピクチャを利用しているので、回転、移動などなどの他、戦闘時にも攻撃のアニメーションではない、カットインのアニメーションなどを導入することができます。

挙動のサンプルなどはダウンロードしてゲームを起動させてもらえればアグリストが説明してくれます。RPGツクールVX Aceの正規ユーザーが対象となります。

スクリプト内容は以下のとおりデス。


#==============================================================================
# ■ animation
#------------------------------------------------------------------------------
# ピクチャを扱うクラスです。Game_Pictureに加筆を行いました。
# by 3dpose
#==============================================================================

class Game_Picture
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_reader :animeteNo # アニメーション読み込みフレーム

#--------------------------------------------------------------------------
# ● 基本変数の初期化 by 3dpose(加筆)
#--------------------------------------------------------------------------
def init_basic
@name = ""
@origin = @x = @y = @animeteNo = 0
@zoom_x = @zoom_y = 100.0
@opacity = 255.0
@blend_type = 1
end
#--------------------------------------------------------------------------
# ● ピクチャの消去 by 3dpose(加筆)
#--------------------------------------------------------------------------
def erase
@name = ""
@animeteNo = 0
end
#--------------------------------------------------------------------------
# ● アニメーション by 3dpose
#--------------------------------------------------------------------------
def animation(name , size , x , y)
@filename = name
@maxsize = size
@x = x
@y = y
@animeteNo = 1
animation_file_name
show(@load_file_name, 0, x, y, 100, 100, 255, 0)
end
#--------------------------------------------------------------------------
# ● アニメーションファイル名作成
#--------------------------------------------------------------------------
def animation_file_name
numb = @animeteNo.to_s
numb = "0" + numb if numb.size == 1
numb = "0" + numb if numb.size == 2
@load_file_name = @filename + numb + ".png"
end
#--------------------------------------------------------------------------
# ● フレーム更新 by 3dpose(加筆)
#--------------------------------------------------------------------------
def update
update_move
update_tone_change
update_rotate
update_animate
end
#--------------------------------------------------------------------------
# ● アニメーションアップデート by 3dpose
#--------------------------------------------------------------------------
def update_animate
return if @animeteNo == 0
@animeteNo = 1 if @animeteNo >= @maxsize
animation_file_name
@name = @load_file_name
@animeteNo += 1
end
end


当初コモンイベントの並列処理で同じようなものを作成していましたが、並列処理だとアニメーションの再生速度が半減する他、文章を表示すると並列処理がイベントの読み込みが止まり、アニメーションがストップするという致命的欠陥がw

手を抜いちゃいかんねということで、スクリプト作りましたよという感じです。どっか公開するところに行こうかなぁ。

作業内容


ポーズ1件


モーゼ
どこまで作ってたかを見直し。最初から初めて、ちょこちょこ修正。続きはまた明日。

SRPG
111さんに教えてもらって、戦闘でつまづいていたコピーに成功したw

cloneってのがあるのなー。

カスタムサーガ(ヴァーレントゥーガ)
オープニング作成の続き。以前作成した部分の差分修正は完了。テストがまだ。とりあえず全部やってからテストする。

SAVAGE
いただいた報告を元にNAVER修正

mod
ヒモを通すその2。

mmd
ツクールへのアニメーション作成にいい物はないかと模索中。多分、MMDで連番の画像を書き出してから、切り抜きの処理を行うのが一番確実。

XX-CAKEの方がエロく見えるんだけど、透過の書き出しができないのと、手直しがしづらいって点で立ちグラフィックとかには向いてないようで。イベントとか、一枚の絵を表示するだけならXX-CAKE一択なんですが、合成が前提だと別のものを使ったほうがよさげです。

wiki
ブラウザ一騎当千 爆乳争覇伝 wiki更新。

MHTRPG
アイテム調整

他カス子ブログ様更新情報


カラバ~リ / ティナ製作日記 他他他
あともう少し(ひとこと) / もさもさ部屋ー。
セシア・アウェア(プライベートコス) / MetaLogic の 3Dカスタム少女MOD Depot
poseデータ配布「テスト版」 / 楼閣「闇の魔方陣」
修正 / ティナ製作日記 他他他
「自分用」が基にあるとはいえ / かすたむむすめ。
もさtter。 / もさもさ部屋ー。
ひだまりポカポカさん / わんだ屋発電所のBlog
だいぶ遅れてスタジオ入り / ゲームなおんなのこ
おうふっ / ティナ製作日記 他他他
お風呂攻防戦5 / 愛して斃せ!
TAHHair 髪の色を追加しました。 / 楼閣「闇の魔方陣」
【微グロ注】断面身体MOD / MetaLogic の 3Dカスタム少女MOD Depot
大門刑事 / もさもさ部屋ー。
多分Ver.α位? / 3Dカスタまらせて頂きます。
カラバリ / ティナ製作日記 他他他
3Dプリンタ / のらねこのお気楽SSブログ
ブラッシュアップ / クロ子のMOD七転八倒
やらかしているよ。 / 重箱の隅に隠れる
REBOOT / ダメなMODを作ってみたり

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

3Dポーズ集 2012/11/07 01:56

【RPGツクールVX Ace】特定のステートが付与されると実行されるイベントの作り方(作業日報 11

想にて。

作業内容


ポーズ1件


立ちポーズ。

モーゼ
イベント追加。

カスタムサーガ

【プレイバイレスポンス】キャラクター作成ルール by 3Dポーズ集 on pixiv



エラッタ当てまして。

SRPG
エラー修正。シーンの切り替えなどまだバグが潜んでいるっぽい。

mod
次の武器作成中。こっちもこっちで装飾がw 前回よりましだけれどもw

wiki
平常運転ブラウザ一騎当千 爆乳争覇伝 wiki更新。

MHTRPG
ドスファンゴ加筆。


さて、タイトルの件。いわゆるバトルファック系のものを作ってみようとチャレンジしていて躓いたので、その解決法をメモしておきたいと思います。

やりたい処理
服を着ている相手に対して服を脱がす、と選択したときに、攻撃が成功したら服を脱がしたい。

つまずいたポイント
特定のステートにかかったときにイベントを実行する方法がない。
擬似的にスキル使用時にスイッチを使ってみたが、服が脱げるのは次ラウンド頭。

解決方法
……の前に用意するもの。
差し替え用のグラフィックと、そのグラフィックを使用した敵モンスターデータ。

スキルの使用効果に脱がし状態のステート付与と、チェック用のコモンイベントを呼び出させます。

検証のため200%付与にさせていますが、低い数値でもちゃんと動きました。で、ステート付与チェックのコモンイベントの中身はこんな感じです。

見てのとおり、ステートをもう一つ用意してあります。脱げ状態は起動用、脱衣済みは無限ループに陥るのを阻止するためのステートです。

スイッチを利用することで各モンスター毎の処理を把握しやすくします。別にここにごりごり書いてもいいんですが、モンスターが増えすぎると訳が解らなくなると思いますので。

このコモンイベントでスイッチを一元管理し、特定のステートにかかっていればonにします。戦闘で戦うモンスターが常に1を想定したものですので、複数モンスターの処理であればまた工夫が必要かと思います。

ではバトルイベントの方を見てみましょう。

別にモーメントである必要は無いんですけど、服を脱がす以外の使い方、例えば体位変更などであれば1戦闘で何度も呼び出されると思うのでモーメントにしておいたほうがコピペが楽かと思います。もしかするとターンの方がいいかもしれません。

モーメントなのでスイッチをoffにしないと固まります。戦闘終了時にはすべてのスイッチがoffになっていないといろいろと問題が出ますので、癖はつけておいたほうがいいと思います。

ステートを変更後、敵キャラを変身させて服を脱がせます。文章はお好みで。しーさん? しーさんはしーさんですよ。

個別のイベントを組みやすいので、モンスターが多くなるほどこの方法は有効だと思います。

実行例


これが。


いいタイミングでこう変わります。

モザイクはカス子のものを使っていますが見てのとおり問題があるので手作業でやったほうがいいかも知れません。

まとめ
用意するもの
差し替え用のグラフィックと、敵キャラ
検証用のコモンイベント
処理用のスイッチ
無限ループ対策のステート

処理の流れ
スキルの使用→コモンイベントでステート付与のチェック→各バトルイベント

一瞬スクリプトを組もうかと本気で考えたほどでしたよ。コモンイベントで処理できてよかった。

他カス子ブログ様更新情報


あげぽよ / もかろぐ
「3Dカスタム-Lenneth」リリース開始 / リストラされたおっさんが3Dカスタム少女に挑む
作戦名「シールド オブ イージス」 / 田舎娘たちのブログ領域
[3Dカスタム少女]ふぁんたず / taughthelplessnessの日記
プレイ時間は40時間を超え / もさもさ部屋ー。
悪堕ちフラッシュゲーム【封魔少女マイサ】を紹介します / アクノス研究所
はっ? / 田舎娘たちのブログ領域
本物 / のらねこのお気楽SSブログ
[3Dカスタム少女]迷走中 / taughthelplessnessの日記
武器と背景 / リストラされたおっさんが3Dカスタム少女に挑む
メカメカしくしたいのよっ! / 3Dカスタまらせて頂きます。
[3Dカスタム少女]また斧かよ〜 / taughthelplessnessの日記
Nexus7、買いました&導入アプリのお話 / 跳べないペガサスの徒然なる日々
NEW皇帝 / まろん屋
リアル3D / クロ子のMOD七転八倒
[コミケ]C83当落発表 / taughthelplessnessの日記
最終魔導兵器メイジロイド #21 / Ecs-Train! 製作中
[3Dカスタム少女]ごろ寝デスクとか / taughthelplessnessの日記
ネプテューヌV、到着。 / もさもさ部屋ー。
腕パーツと足パーツとカラバリと / リストラされたおっさんが3Dカスタム少女に挑む

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

3Dポーズ集 2012/06/02 04:52

コモンイベントをお手軽に呼び出す方法(作業日報 6/1)

作業内容


RPGツクール
弾丸射出、命中、死んだら飛んでくという判定まで。コモンイベントの呼び出しをスクリプト一行で出来たら楽だなぁと思ったので作ってみますた。


#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================

class Game_Interpreter
#--------------------------------------------------------------------------
# ● コモンイベントどこでも呼び出し
# cevidは呼び出したいコモンイベントのID
#--------------------------------------------------------------------------
def rcev(cevid)
common_event = $data_common_events[cevid]
if common_event
child = Game_Interpreter.new(@depth + 1)
child.setup(common_event.list, same_map? ? @event_id : 0)
child.run
end
end
end



実行内容のスクリプトに「rcev(1)」と書くだけでコモンイベント1が呼び出されます。さくさく。

んー。メインになりそうな部分はできたし、他はツクール提供のシステムで何とかなりそうだし、シナリオ作っていこうかー。

というわけでオープニングだけメモ帳にがりがりと。

3Dカスタム少女で同人作品を作り販売するということ
DLsiteの方針で、カス子を利用した作品には問答無用で3DCGのチェックが入るようになったため、一部意見を取り下げました。

wiki
こつこつとカスタムサーガwikiブラウザ一騎当千 爆乳争覇伝 wiki更新。

モンハンTRPG
防具素材入力。上とかGとかの入力がまだ。


レビューがいっぱいつきました
ありがとうございます! わーいわーい。

カス子用背景セット01
エロいネトゲの装備が如くっ! 其の参 ~精霊戦士~
あぶない水着Vol.5 Chimera Ripper
あぶない水着Vol.1 Keen Edge

半脱ぎの白いモザイクやっぱりいらないかなぁと思ったり思わなかったり。作成した当初はそれでモザイクが外れちゃうのでどーしたもんだかと迷っていたんですけど、最近は、透明のカス子さんを同じ場所に配置したらよくない? と思うようになってきたので……。

ううん……。差し替えを検討します。実際、ゲーム作るときとか邪魔なんですよね。

他カス子ブログ様更新情報


背景アイテム化 / SHAVEDFISH3D
どどどどど。 / もさもさ部屋ー。
テストショット / クロ子のMOD七転八倒
ヒマナッツさんに水遣りしたい / もかろぐ
背景化完了。 / SHAVEDFISH3D
ワインダーで怪我した思い出。 / no title
自宅襲撃、その2 / 愛して斃せ!
SS加工 / ティナ製作日記 他他他
近状報告 2012/05/31 / ダメなMODを作ってみたり
健康管理 / のらねこのお気楽SSブログ
rebuild3 / ゴゴゴゴゴ
背景ほぼ終了 / SHAVEDFISH3D
病んでレ / 3Dカスタまらせて頂きます。
おぜうの羽に包まれて絶頂に達したい / リストラされたおっさんが3Dカスタム少女に挑む
木がぁぁぁぁ / SHAVEDFISH3D
[3Dカスタム少女]名状しがたい制服でも作ろうかな / taughthelplessnessの日記
アーマチュアのじっけん / 3D bud daughter atelier
AC「+R」 / もさもさ部屋ー。
多彩な / ティナ製作日記 他他他
つばさヘビセ4UPしました。 / OCEAN WORKS 505

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

3Dポーズ集 2012/06/01 05:03

VX Aceで他のマップにあるイベントを呼び出す方法(作業日報 5/31)

作業内容



個人的な趣味を出したボディレシピを作成。ロケットおっぱいだ。ふーははははは。

RPGツクール
昨日の続き。10時間かけた奮闘記は読みにくくなるだけなのでやり方だけ。コモンイベント使ってます。

まず、コモンイベントに以下のスクリプトを記述します。何かトリガーをつけたほうが望ましいです。スイッチよかよりも特定のボタンにしたほうが楽かと。


mapper = load_data("Data/Map001.rvdata2")
map_id = $game_map.map_id
gev = $game_map.events
event=mapper.events[1]
event.id = $game_map.events.length + 1
ev_id = event.id
gev[ev_id] = Game_Event.new(map_id, event)
sms = SceneManager.scene.spriteset
sms.refresh_characters


この時点で実行するとエラーが出ます。refresh_charactersなんてメソッドねーよボケがっていわれるんで、あるからよく見やがれこのファックと指示を作ってあげます。

スクリプトの▼素材以下に以下を貼り付けてください。セクション名は適当でいいとおもうます。


#==============================================================================
# ■ Scene_Map
#------------------------------------------------------------------------------
# マップ画面の処理を行うクラスです。
#==============================================================================

class Scene_Map < Scene_Base
#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------
attr_accessor :spriteset # スプライトセット
end


一行だけなんで直接記述してもよさそうなもんですが怖いので新規に。

つたない解説


あぁ、なるほどって思った人は別に読まなくても大丈夫だと思います。

SceneManager.sceneを実行した段階で、Scene_Mapが返ってきます。Scene_Mapのインスタンス変数の中身には@spritesetがあって、Spriteset_Mapが放り込まれています。

Spriteset_Mapにアクセスしてメソッドを利用するためには、@spritesetに何とかアクセスする必要がありました。「公開されていないインスタンス変数はどんだけがんばってもアクセスできない」ところに気がつかず10時間かけたというわけです。公開されているインスタンスならアクセスできるので、「attr_accessor :spriteset」を追加しました。特定のスプライトセットにアクセスする方法をやっとつかめた感じです。

ちなみに、refresh_charactersを行わなかった場合はどうなるかというと、見た目は特に何も起こりません。ただし、並列処理でSEを流すように設定をしていた場合、呼び出された時点でぶいぶいなってくれるのでロードそのものは成功している、ということのようです。

このスクリプトを、「条件分岐:ボタンCが押されている」に設定すると、zかenterが押されるたびに、Map001のイベント1が呼び出されます。

RGSS2では$scene.refresh_spritesetが使われていたようですが、RGSS3では$sceneがそもそも廃止になったため、使用不可能になっていました。他マップからのイベントの読み込みについてはVXの記述こそそこそこ出てきましたがVX Aceの方は皆無でしたので、初心者ながら読み込みに成功した報告を兼ねて、イベントの読み込み方法について書かせてもらいました。お役に立てば幸いです、と。

wiki
こつこつとカスタムサーガwikiブラウザ一騎当千 爆乳争覇伝 wiki更新。

推定カップ数が爆乳だったするとハァハァするよね!?(何言ってんだオマエ)

モンハンTRPG
防具素材少し。

悪の女幹部 フルムーンナイト
簡易レビュー。DMM独占だったかな、確か。


今月を振り返る
ひとかるの発売。この一言に尽きるんですけどね。長かったです。一応、方向転換をする予定です。

カス子ユーザー人口が減ってきていますし、十分自作のものだけでも幅広いバリエーションでグラフィックが作れるのも証明できました。今後は「カスタム少女を使えばこんなゲームが作れる」といういい見本になれればなと思います。

うちのmodが商用利用を可にしているのは、もともとはそういう、ゲームとか漫画を作って売りたいって思っている人に使ってほしいからですし、徐々にそういう行為への理解も広まってきているという気もしています。

ツクールなんかはお手軽に作れるものの一つですし、もっともっとこういう利用の仕方をする人が増えればいいなと個人的には思います。そのときに自分のmodが使われてたら嬉しいなぁ。

他カス子ブログ様更新情報


ワインダーで怪我した思い出。 / no title
自宅襲撃、その2 / 愛して斃せ!
SS加工 / ティナ製作日記 他他他
近状報告 2012/05/31 / ダメなMODを作ってみたり
健康管理 / のらねこのお気楽SSブログ
rebuild3 / ゴゴゴゴゴ
背景ほぼ終了 / SHAVEDFISH3D
病んでレ / 3Dカスタまらせて頂きます。
おぜうの羽に包まれて絶頂に達したい / リストラされたおっさんが3Dカスタム少女に挑む
木がぁぁぁぁ / SHAVEDFISH3D
[3Dカスタム少女]名状しがたい制服でも作ろうかな / taughthelplessnessの日記
アーマチュアのじっけん / 3D bud daughter atelier
AC「+R」 / もさもさ部屋ー。
多彩な / ティナ製作日記 他他他
つばさヘビセ4UPしました。 / OCEAN WORKS 505
女体の扱いは丁寧に… / クロ子のMOD七転八倒
口が軽いのはマジでした。 / no title
初心に帰る / 3D bud daughter atelier
ムーンベースは月面基地 / クロ子のMOD七転八倒
BAD END PEACES / 堕ち玩

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

3Dポーズ集 2012/05/31 05:09

ウィンドウの透明化まで(作業日報 5/30)

作業内容


RPGツクール


ウィンドウにステータスを取り込むまでは成功。んで、更新のテスト。


見てのとおり、なんか文字が重なってる。たぶん、最初に入力されていた文字。原因は何だろう? と色々調べてみる。ついでに改行とかも入れたかったのでスクリプトエディタとにらめっこ。

ヘルプにあるあらすじ画面の作成の「draw_text_ex」が動かないのでよくよく見比べてみと、Window_Baseのdraw_textはその処理の中でcontents.draw_textを呼び出している。contentsとはなんぞやと調べてみるとウィンドウ内部のビットマップの処理。

最初のものだけが残るのはact_window_updateは毎回更新されているためcreate_act_windowで入力されたものが重なっているんじゃないかと、仮説を立ててみて、ウィンドウ内をいったん全部消す処理を施してみる。

綺麗にいけました。改行の処理がまだなので・が残っているけれども。ソースは以下。


def create_act_window
@acts = Window_Base.new(0,0,544,100)
end
def act_window_update
texts = ""
pfa = $game_actors[$game_party.members[0].id]
texts = pfa.name + "\n"
texts += pfa.hp.to_s + "/" + pfa.param(0).to_s + " "
texts += pfa.mp.to_s + "/" + pfa.param(1).to_s + " "
@acts.contents.clear
@acts.contents.draw_text(0,0,500,70,texts)
end


一瞬だけ、別にcontents.clearいらないんじゃないかと思ったけど試したら必須だったっていうw

ウィンドウの透明化は@acts.opacity = 0でいけたので、常に表示されるステータスについてはこんなもん。

んで、やっぱり弾が出てないと手ごたえが感じられないのと、射程距離がわからないので間合いがつかめない問題があるので、何とか弾を表現する処理を考える。

イベントが新規で作成できないか試しているときに詰まったのでメモ。


@map.events.each do |i, event|
@events[i] = Game_Event.new(@map_id, event)
end


each do はループの処理。iの後ろにあるeventって何なのか。この処理方法はヘルプには記載されていない書き方。

実行の中身を見るためにp eventを書いてみると、eventの中身が表示された。p iでは1が表示。じゃぁ元の@map.eventsはなんなのかっていうとハッシュだったようで。

つまり、@map.events.each do |i, event| 式 endの記述を行った場合、iにはハッシュのキーが代入されて、eventには値だ代入されるということらしい。

javascriptに慣れているとiに代入されるのはループ用の数値だとばっかり思い込んでいたけれども、イテレータっていうものはそうじゃなくて、|この間に書かれた変数|に代入する処理を行うということ。

そろそろ時間がないので挙動の予測。Game_Event.new(現在のマップのid,イベントの中身)を$game_map.events[イベントID]にほうりこんでいるので、何も考えず$game_map.events[0]に追加すると、あらかじめ用意したイベントに上書きするんだろう。あと、イベントの中身は結構多いので、透明な何も書かれていないイベントを参照して、pushで放り込んだらいけるんじゃないかしらと思ってみる。

あ、それでSRPGコンバーターは戦闘シーン生成用に空のイベントを並べたマップが必要だったのね。なるほど。

ついでにRGSS3 スクリプトリファレンスにウィンドウ関係とか追加。

wiki
引き続きカスタムサーガwikiを更新しました。ブラウザ一騎当千 爆乳争覇伝 wikiも。

mod
髪の毛。あとはアホ毛のUV設定と、位置調整と。横髪作ってなかったのでまた明日にでも。

モンハンTRPG
フレーバーの追加範囲指定。とりあえず大型モンスターをMHP2G準拠に。亜種はちょっとすっ飛ばす。素材関係がまだだったのでやっつけよう。


他カス子ブログ様更新情報


背景ほぼ終了 / SHAVEDFISH3D
病んでレ / 3Dカスタまらせて頂きます。
おぜうの羽に包まれて絶頂に達したい / リストラされたおっさんが3Dカスタム少女に挑む
木がぁぁぁぁ / SHAVEDFISH3D
[3Dカスタム少女]名状しがたい制服でも作ろうかな / taughthelplessnessの日記
アーマチュアのじっけん / 3D bud daughter atelier
AC「+R」 / もさもさ部屋ー。
多彩な / ティナ製作日記 他他他
つばさヘビセ4UPしました。 / OCEAN WORKS 505
女体の扱いは丁寧に… / クロ子のMOD七転八倒
口が軽いのはマジでした。 / no title
初心に帰る / 3D bud daughter atelier
ムーンベースは月面基地 / クロ子のMOD七転八倒
BAD END PEACES / 堕ち玩
外回り2 / SHAVEDFISH3D
[3Dカスタム少女]ロップイヤー その2 / taughthelplessnessの日記
刺客さんまとめ。 / もさもさ部屋ー。
小休止…だがやることはMOD製作! / クロ子のMOD七転八倒
どこでも電源 / 3Dカスタまらせて頂きます。
自室襲撃の魅力 / 愛して斃せ!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

« 1 2

月別アーカイブ

記事を検索