したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

製作お助け掲示板

1Yes:2010/06/25(金) 01:34:11
製作で困ったことがあれば
質問をどうぞ
どんな初歩的な質問でも
キャラ製作の先人達がやさしくお答えいたします。
ただし教えてくれた内容が間違っていても怒らないように。
だれにでも間違いはあります。
ココで得た知識を吸収し、教える側に回れるように精進しましょう。
また
先人達も知識がさび付かないように、理解をより深めるために
お互いに知識を出し合い、高め合いましょう。

334blank:2010/09/21(火) 01:23:37
イマイチ言いたいことが伝わってこないけど
0.33+0.17*IfElse((Root,Var(5)=[90,150)),Floor(Root,Var(5)/30),0)
で同じ結果が得られる筈
分かりやすい記述になったかどうかは個人の感覚によるけどね

335Azuma:2010/09/21(火) 18:11:25
スイマセン、自分で読んでもカオスな文章でした;

えっと

type=varadd
trigger1=1
var(5)=1 ;最大値120、[0~29]が1段階目、[30~59]が2段階、[60~89]が3段階、[90~119]が4段階、[120]が5段階目の要領

…で、タメ時間を判断させているんですが、タメ段階に応じてエフェクトサイズを変えたいです。
エフェクトのscaleに記述した式が「0.33+0.17*((floor(Root,var(5)/30))=3)+0.34*((floor(Root,var(5)/30))=4)」なのですが

もっと短く、簡単な式があるのでしょうか?と聞きたかったです。

336blank:2010/09/21(火) 19:49:38
それだったら
0.33+0.17*(Root,Var(5)=[90,119])+0.34*(Root,Var(5)=120)
でいいんじゃない?

337Azuma:2010/09/21(火) 23:05:59
おぉ…なるほど!
別のの計算式に囚われてて、視野が狭まってたのかー

ありがとうございます!

338blank:2010/09/23(木) 13:03:51
相談させていただけますでしょうか。
2ヒットする通常攻撃があるのですが、これをキャンセルして必殺技に繋ごうとした場合、
以下のcmd記述ですと、1発目が出た時点でキャンセルされます
[State -1]
type = ChangeState
value = ***
triggerall = command = "SP"
trigger1 = statetype != A
trigger1 = ctrl = 1
trigger2 = stateno = 100  ←これが2ヒット出る通常攻撃です
trigger2 = movecontact

できればヒット(&ガードされても)2発目が出てからキャンセルがかかるようにしたいのですが
どのように記述すればよいのでしょうか。 
ご助力いただけますと幸いです。

339Yes@明日から1週間ネットできない。:2010/09/23(木) 21:43:52
1ヒット目と2ヒット目で
表示されている絵が違うなら
AnimelemかtimeをChangeStateのトリガーに加えればいいと思いますよ。

同じならHitCount(そのステート内でのヒット数を返すトリガー)
でいけます。
別に同じじゃなくてもいけます。

340blank:2010/09/23(木) 23:41:32
>>338
1段目のヒットorミスに関わらず「2段目が」ヒットorガードされなければキャンセルできないのか
「1段目・2段目どちらかが」ヒットorガードされれば2段目の発生を過ぎてからキャンセル可能になるのか
によって違う)
因みに>>339のは1段目がヒットして2段目をスカってもキャンセル可能になるから後者
前者の場合はもう一工夫必要

341blank:2010/09/23(木) 23:58:27
一段目と二段目に別のHitDefIDをつけてNumTarget(二段目のHitDefID)で解決

342Azuma:2010/09/24(金) 22:05:34
特殊敗北演出を導入したいのですが、試合を落とすことを認識できないっぽいので
セルフ設定で対戦で負けるまでのラウンド数を入れてもらう形式にしようと考えています。

[State -2, VarSet]
type = VarSet
trigger1= LoseKO
trigger1=!var(45)
var(45) = 2;←これ弄ってもらう予定、この順で記述すれば下のvar(46)用ステコン機能前にリセットしちゃうことはない…ですよね?
ignorehitpause = 1


[State -2, VarAdd]
type = VarAdd
trigger1= LoseKO
var(45) = -1
ignorehitpause = 1


[State -2, VarSet];条件がそろったら、演出スイッチをオンに
type = VarSet
triggerAll = GetHitVar(fall.kill)
triggerAll =!Var(45)
triggerAll =!NumPartner
trigger1= Life <= 0
trigger2= Life - GetHitVar(Damage) <= 0
var(46) = 1
ignorehitpause = 1


…って感じで記述したんですが、LoseKOが持続しちゃうのでアウトでした。
Q1◆「敗北した瞬間」とか「1ラウンドに1回だけ実行」みたいなトリガーにして機能するようにしたいです。


Q2◆ 敗北演出のスイッチで、もっと上手い方法があったら教えて下さい
→演出処理の都合Common5150ではなく、別のステコンへ移行させて処理したい都合、変数スイッチ式にしましたが…別の手段があるのでしょうか?

343blank:2010/09/24(金) 23:47:05
[State -2, VarAdd]
Type = VarAdd
Trigger1 = RoundState = 2
Trigger1 = Var(45) > 10000
Trigger1 = Var(45) := Var(45)-10000
Trigger1 = 0
Trigger2 = LoseKO
var(45) = 9999
IgnoreHitPause = 1
に変えて

Var(46)の方のVarSetの条件を
TriggerAll = !Var(45)
から
TriggerAll = Var(45) = 10000
に変えればいいんじゃない?

344blank:2010/09/25(土) 00:00:48
あ、書き足すの忘れてた
Trigger2 = LoseKO
の次の行に
Trigger2 = Var(45) < 10000
を追加してね

345Azuma:2010/09/25(土) 09:44:08
丸ごとコピペしてみましたが、var(46)のステコンが機能してないみたいです。
「:」使用した代入関連が絡むトリガー処理が把握し切れてないので原因も構造も理解不能orz


上の記述の場合
Trigger1 = RoundState = 2;戦闘中で
Trigger1 = Var(45) > 10000;var(45)が10001以上なら
Trigger1 = Var(45) := Var(45)-10000;var(45)-10000をvar(45)に代入する
Trigger1 = 0;トリガー1が機能しないようにする
;
Trigger2 = LoseKO;負けた瞬間以降で
Trigger2 = Var(45) < 10000;var(45)が9999以下なら
var(45) = 9999;var(45)に9999を「加算」する
IgnoreHitPause = 1

という意味であってるのかな…結果として、どういう処理なのかわかんないですけれど
「常にvar(45)の値を10001に固定する…?」ということなのかな? いや、ひょっとしてvar「add」じゃなくて「set」にする?

スイマセン、自分の頭ではこれが限界ですorz

346blank:2010/09/25(土) 12:45:22
まず、1回負けた瞬間に1つ目のVarSetでVar(45)=2になる
同じフレームでVarAddのTrigger1は成り立たないからTrigger2で9999加算されて10001になる
Trigger2にはVar(45) < 10000があるから10001になって以降はVarAddされない
次のラウンドの試合中(RoundState=2)にVarAddのTrigger1でVar(45)から10000が減算されて1になる
それ以降のラウンドでLoseKOした場合はVarAddのTrigger2で9999加算されて10000になる
Trigger2にはVar(45) < 10000があるから10000になって以降はVarAddされない

つまり1つ目のVarSetで設定した回数(この場合2回)LoseKOするとVar(45)が10000になるってこと
10000足したり引いたりしてるのはLoseKOがRoundState >= 3の間ずっと有効だから
VarAddを1回だけ実行するように制御するための処理で
10000という数字そのものに意味は無い(普通は2,3本先取だから10以上なら何でもいい)

Var(46)のステコンが機能してないというのはTriggerAll = Var(45) = 10000に変えても?
つかTriggerAll = GetHitVar(Fall.Kill)の時点でかなり篩にかけられてると思うけど、これでいいの?

347blank:2010/09/25(土) 12:48:23
あ、そうでもないか
Fall.Killは省略時1だったな

348Azuma:2010/09/25(土) 13:31:29
ふむふむ、すぐには無理ですが少し長く考えて弄って行けば理解できるかも…

あ、機能しない原因わかりました
[IntPersistIndex=59]になっていました、ラウンドまたいで機能させる変数がリセットされてちゃダメですよねw

ありがとうございました!

349なだげつ:2010/09/29(水) 15:09:20
ドットのことでもいいでしょうか?

あるキャラをいちからD4規格で作ろうと考えているのですが、
まず何からはじめればいいのかさっぱりわかりません。
はじめるというか描きだしとかですねこの場合…。
絵板のpanda氏(カイ子の人)やJ氏(シュウの人)がやってるような
下書きとかもどうやってるんだろうかといった感じです。
それとも初心者はおとなしくD0からやったほうがいいのでしょうか?

350Yes:2010/09/30(木) 01:02:47
僕もそれ気になってた。

351wolf:2010/09/30(木) 19:10:50
同じ初心者の意見なんで参考になるかはわかりませんが、
自分も改変からじゃなくてD4からスタートしました。

とりあえず始めたのが、
①お絵かきツールで ナナーマン みたいな丸と線だけの棒人間に、とらせたい格好を書く
②棒人間をカンフーマンの立ち絵に登録して大きさを確認
③棒人間にそれっぽく肉を付けていく
④肉をつけたあと、服やら髪やら目をつけていく
⑤適当に影つけ
⑥ドット絵板に投稿して意見をもらう
って感じでした。

とりあえず悩んでてもなにもはじまらないので
どんな落書きでもいいので書いてみる事をおすすめします。
初めてMUGENで書いたキャラが動くときはマジで感動ですよ!

352wolf:2010/09/30(木) 19:12:29
>351
②の大きさを確認ですが、
MUGENでの大きさを確認って意味です!

353島村鰐:2010/09/30(木) 23:32:08
D4キャラ描きの端くれなので私の場合をば。
アナログというもアナクロな私の場合はまず全て紙の上に下描きしまして、それをスキャナで取り込み→写真屋で着色といった形で作業してます。
アニメの中割なんかも基本的には全部紙の上で出来上がってます(一部そうではない部分もある)。
これだと着色のやり方も普通に画材がツールに置き換わるだけに近い感覚になるので、絵を描くこと自体に慣れているなら割と楽かと。

この場合問題になるのは絵のサイズ。
作業の手間も減りますしそもそもあんまり細かい絵は必要ないのでメモ帳みたいな小さな紙に描くといいのですが、
それでも取り込み直後では大きさがでかいのでゲーム素材として適当な大きさに縮小する必要があります。
キャラの絵の大きさは結構ゲームによってもまちまちなので画面に対するキャラの大きさの比率は好みで。
D4キャラの場合、身長○ドットに対して画面の大きさは縦480×横640ドットです。

354blank:2010/10/03(日) 11:43:21
PlaySndの記述で
+Random%2ってのを見つけたのですが、これはどういう意味なのでしょうか?

[State 210, PlaySnd_Voice]
type = PlaySnd
trigger1= Time = 4
trigger1= Random < 500
value = 15, 3+Random%2
channel = 0

って感じの使い方をされていたのですが…

355blank:2010/10/03(日) 13:39:57
殺意リュウのKOボイスみたいに格好いいエコーをかけたいんですが
SoundEngineFreeを弄りましても、知識が浅すぎてサッパリわかりませんでしたorz

音声加工に詳しい方いらっしゃいましたら、ご教授願います。

356愛茶:2010/10/04(月) 00:47:50
一応、自分が使ってるのはAudacity 1.3 Beta (Unicode) って奴なのだが・・・。
これが色々と加工ができるし、音声をピンポイントで書き出せたりして結構便利。
エコーはこれでもできるような気がする。
まぁ簡単な操作でできるから、あと、注意点は再生を一時停止させると書き出しできないからそれ注意。

MUGENの記述でもできるんだっけ?w知らんし、手前は元の音源改造しちゃう派だからね。

357blank:2010/10/04(月) 02:39:44
>>354
3 + randomを2で割った余り
%2だとrandomが偶数なら0、奇数なら1となる
だったはず

358blank:2010/10/05(火) 18:12:36
>>357
ありがとうございます!

359デグレ:2010/10/09(土) 09:06:48
リンクの歩きがどうしてもうまくいきません。
どうすればいいのでしょうか?
一応トワプリのトレースをいろいろ試しているのですが、
中々うまくいきません。
スマブラからのトレースも考えたのですが、
出来る限りトワプリに近づけたいしスマブラには後退がないし・・・で
今保留状態です・・・・。

360blank:2010/10/09(土) 23:52:18
まず「歩き」に関して躓いてるのだけは分かるけど、その文章じゃ抽象的過ぎてお助けできないと思う
「スマブラ」は兎も角「トワプリ」とか言われても知らない人は何なのか分からないし

ドットに関してなのかcnsに関してなのか
前者なら試作gifでも絵版に貼り付けて意見求めた方がいいし
後者ならどういう記述でどういう動作になってどこが意図と違うのかを書かないと
まあニュアンス的に前者だとは思うから、絵版へGoかな

361ふうりん:2010/10/10(日) 20:16:45
Xのリンクはグラフィックスもトワプリ風に変更されてるし悪く無いと思いますけどねー。
そもそもトワプリと2D格ゲーとはカメラ位置も違うから完全に同一には出来ませんし…

盾と剣を持つ格ゲーキャラはレオと旧アテナがいるんでそちらを参考にしたり、
海外で作られた手描きリンクとかを参考にするのもいいかも知れませんね

362wolf:2010/10/11(月) 13:56:08
質問があります!
相手キャラをKOした場合に、
相手のKOモーション(ボイス)を経由せずに、KO状態にして、
さらにKO後のアニメを変更する方法ってあるのでしょうか?

363Yes:2010/10/11(月) 18:34:33
確か出来たと思います。

攻撃がヒットした瞬間、相手のstateを奪うと
stateを返すまで、相手のライフが0になってKO表示が出ても
KOモーションのstateに飛ばなかったような覚えがあります。
それで、ライフ0になったときようの場合分けをしたような‥しなかったような‥

>KO後のアニメの変更
この部分ちょっとあやしい。
stateを奪ったままでも時間が経てば
次のラウンドに進んだような気がするので
たぶん大丈夫じゃないですか?

364blank:2010/10/11(月) 20:28:50
負けた側はどんな状態でもRoundState進むからステート奪っておk
ただ、11,0に登録されてるKOボイスはcnsに依存せずMUGEN本体が勝手に再生しちゃうし
-2でLifeとかAliveとかを条件にPlaySndしてるキャラも例えステート奪おうと再生しちゃう
まあ無音Sndで飽和させれば再生中のKOボイス掻き消すことは可能だけどね

365名無し:2010/10/11(月) 22:24:02
すみません質問があります。
ヘルパー式の飛び道具にジャグルを設定したとしても、
攻撃がヒットした時プレイヤーのジャグルポイントが減らない様なんですが、
これはどうやって対処したらよいでしょうか?

といいますか、ヘルパー式の飛び道具の場合、
ジャグルは設定しないのが普通なんですかね?

366blank:2010/10/12(火) 00:02:01
確かヘルパーのは別個勘定だったと思う
わかんないけどそれっぽいのやりたいのなら
自分が知ってるのはvarでやるぐらいかなぁ

多分ね

367wolf:2010/10/12(火) 21:13:48
ありがとうございます!

なんとかなりました!

368名無し:2010/10/13(水) 12:36:12
>>366
アドバイスありがとうございます
やっぱり変数とかを使うしかないみたいですね

369Azuma:2010/10/18(月) 12:50:06
ttp://loda.jp/dteit009/?id=184
上記テキストにあるCNSで、特殊敗北演出を実行したいです(具体的には初代餓狼ギースのビル落下っぽいの)
理想の流れは書いてある通りなのですが処理の発想自体が悪いのか上手く作れませんでした。

現在の記述ですと
「250FのPause中」に「ヘルパーが150F目になった」ことを「本体が認識」して「LifeSetさせる」処理が機能しません。
詳しい方がいらっしゃいましたら解決策を教えて頂けますよう、よろしくお願い申し上げます。


ひょっとしなくても根源的な処理の発想が悪いorトリガーの無駄が多いとも思いますので
そういった指摘もお願い致します。

370blank:2010/10/18(月) 14:50:48
Pause中は-2を実行できないからね
やるとしたらPauseを150と100の2つに分けて100の方をLifeSetの下に持っていくか
ヘルパーがAffectTeam=Fで本体のタゲ取ってTargetLifeAddかな
後者やるならタゲ取る時に巻き込まないよう地中深い座標とかでClsn処理すべきだけど

371なだげつ:2010/10/21(木) 10:03:57
>>351-353
レスが遅れましたがありがとうございました。
とりあえず島村さんの言う方法をやってみたいと思います。
人間はまだ難しそうなので簡単な形のキャラから初めていこうかな、と

372Azuma:2010/10/21(木) 10:36:44
ちょっと気になる点は残りましたが、処理自体は上手く行きました!
ありがとうございましたー

373デグレ:2010/10/24(日) 13:18:50
製作中のリンクをMUGENで動かしてみたのですが、
歩きがちゃんとした形になりません。
下のURLの動画のようなダサい形になってしまいます。
ttp://www.nicovideo.jp/watch/sm12525671
どうすればよろしいのでしょうか?

GIFアニメ。
ttp://www42.tok2.com/home/mugenyes/uploda/src/file349.gif

374島村鰐:2010/10/25(月) 00:00:51
ダサい、というのも人それぞれなので何を以ってダサいと感じているのかって問題もありますがまあそれはさておき…
製作中の歩き方はおそらくバーチャファイターとかの3D格ゲーに良くあるすり足をイメージしてと思われますが、
それにしてはテンポが速いのと両足が地面から離れているのでぴょんぴょんと立ちポーズのまま跳ねて移動しているように見え、
主に後者のせいですり足移動の慎重なイメージとそぐわないのでおかしなことになっているのです。
足の位置を換えずにすり足でじりじり移動するのですから、両足を地面につけたまま右足を少し踏み出しては左足を引きずって引き寄せ、
左足をひきつけたら左足を踏みしめて右足をズズズッと前にすり出す…という感じで。
上下に跳ねてはいけません。
逆にテンポよくスピーディに移動したいなら、やはりちゃんと足の前後を入れ替えながら普通に歩くべきで、
専用の歩行パターンをちゃんと書き起こした方がよかろうかと思います。
足の前後位置を固定したままぴょんぴょんと跳ねていくというのはやはりないかと。

375blank:2010/10/25(月) 00:48:06
鉄拳システムのキャラ作るにあたって質問なのですが、
mugenでも地上9Aコマンドや立ち3Aコマンドって作れるもんなのでしょうか?どなたかご教授願います

376Yes:2010/10/25(月) 16:43:00
しゃがみ以降中や、ジャンプ移行中に出す形で作れますよ。

377Yes:2010/10/25(月) 19:06:49
>>373
移動速度とアニメーションの表示フレームを
色々と弄ってみては如何でしょうか。

378blank:2010/11/07(日) 18:15:14
手描きのキャラをつくるときに>>353に似たやり方でスキャナで取り込んだ後のものを
大きさを合わせた後トレスする感じで作りたいのですが
トレスに最適なソフトって何がいいのでしょうか…?ちなみにD4サイズです。

379otoshigo:2010/11/11(木) 14:48:54
失礼します。今の内から少しずつ記述的な事も勉強しておきたいと思っているので質問させてください。
必殺技で構えを変更する技を作ろうと思うのですが、それはCNSの基礎を勉強していけばおのずと作れる
ものなのでしょうか?普通の必殺技であれば教えて下さっている製作指南サイトもあるかと思うのですが・・・
よろしければ教えていただけないでしょうか。お願い致します。

380Yes:2010/11/11(木) 17:02:13
>>378
レイヤが使えるソフトならどれでも大丈夫だと思いますよ。
スキャナで取り込んだ画像だと、たぶん減色が必要なので
若干使い辛いですがDPixedが良いんじゃないですか。
自信ないんで、詳しい人補足してください。

>>379
おのずと作れると思います。
VarとChangeAnimを研究してください。
駄目だったら解説ページを作りますよ。

381otoshigo:2010/11/11(木) 18:21:08
>>380
VarとChangeAnimですね・・わかりました。これから一つずつ憶えていきたいと思います。
教えていただきありがとうございました!

382ケットシー:2010/11/12(金) 22:26:46
 ジャグル値がオーバーしたらエフェクトが出るようにしようと思いトリガー一覧見てたが・・・あれ?ない?
だめもとで以下の記述をしたらエラーが。もしかしてjuggleってトリガーに出来ないんですか?
[State -2];じゃぐるオーバーera-?
type =explod
trigger1 = juggle > 14
trigger1 = NumExplod(10002) < 1
anim = 10002
pos = 0,50
postype = p2
facing = 1
vfacing = 1
scale = 0.5,0.5
sprpriority = 2
ownpal = 0
ontop = 1
removeongethit = 0
bindtime =-1 ;0にするとエフェクトが出ない。
removetime = -1
vel = 0,0
id = 10002

[state -2];ジャグルオーバー消失
type = RemoveExplod
trigger1 = juggle = [0,14]
ID = 10002

383blank:2010/11/12(金) 22:36:44
できないよ

384ケットシー:2010/11/12(金) 23:41:57
>blankさん
 お早いレスありがとうございます。ううんジャグル値オーバーが画面でわかるようになれば楽でいいんだけど・・。
空中の敵に攻撃がhitもしくは地上の敵に当たったら浮く攻撃でveraddで代用できるませんかね?

385blank:2010/11/13(土) 09:32:55
P2StateType とか StateNo とか MoveHit
あたりを条件にして変数を加算していけばどうだろう

386blank:2010/11/13(土) 09:52:31
juggleは使い勝手悪過ぎてVarで代用してる人が多いから
どうにもわからなかったらjuggleタイプのコンボ制限あるキャラ覗いてみては?

387ケットシー:2010/11/13(土) 12:20:00
なんとか完成?まあそのうちなにか不具合でそうな気もしなくもないが。(タッグとかだとなんかバグりそう)
[State -2, ジャグル代わり1]
type = varadd
triggerall = movehit = 1
triggerall = p2statetype = A
trigger1 = stateno = [200,240]
trigger2 = stateno = [400,640]
trigger3 = stateno = [1000,1150]
trigger4 = stateno = [3100,3201]
v = 9
value = 1

[State -2, ジャグル代わり3];浮く攻撃
type = varadd
triggerall = movehit = 1
trigger1 = stateno = [250,280]
trigger2 = stateno = [1200,1240]
v = 9
value = 3

[state -2,ジャグル代わり7]
type = varadd
trigger1 = stateno = 810
trigger1 = time = 0
v = 9
value = 7

[state -2,じゃぐる0]
type = varset
trigger1 = p2movetype != H
trigger2 = enemy,GethitVar(hitcount) = 0
v = 9
value = 0

[state -2,ジャグルオーバー]
type = explod
trigger1 = var(9) > 14
trigger1 = NumExplod(10002) < 1
anim = 10002
ID = 10002
pos = 0,-40
postype = p2
facing = 1
vfacing = 1
scale = 0.5,0.5
sprpriority = 2
ownpal = 0
ontop = 1
removeongethit = 0
bindtime =-1 ;0にするとエフェクトが出ない。
removetime = -1
vel = 0,0
id = 10002

[state -2];ジャグルオーバー消失
type = RemoveExplod
trigger1 = var(9) = [0,14]
ID = 10002

388デグレ:2010/11/18(木) 23:04:42
Gororiさん
ドット絵板でいただいた3Dモデルのアドバイスなのですが、
詳しいことが分からないのでご教授お願いします。

とりあえず色々しらべて、フリー素材を
入手するところまではうまくいったのですが、
手に入れたファイルを開くことが出来ません。
拡張子は3dsとあるのですが、いくら調べても
開く方法が分からず・・・。

389Gorori:2010/11/19(金) 01:08:01
3ds形式は3D STUDIO MAXというハイエンドソフトの形式です。
開くのは少しいいソフトが必要です。

OBJ形式という一般的な3Dソフトで扱えるファイルも一緒にダウンロードできたと思いますが
ただ開くだけだとテクスチャなどの再設定が必要なので
いじらなくても使えるようにした状態でOBJ形式になおしたものを
旧アップローダーに上げました。パスは"link"です""の中の文字だけ。

拡張子がobjが3Dソフトで開くべきファイル。mtlなどはテクスチャ設定などの情報。jpgなどはテクスチャ

7Zipなので解凍してつかってください。

390デグレ:2010/11/19(金) 20:53:57
>>389
どうやって開ければいいのか分かりません。
何しろ3Dソフトを検索するとたくさん出てきて
何を使えばいいのか・・・。
一応Toystudioとblenderという2つのソフトで
開こうとしたのですが、Toystudioは
開こうとするとフリーズし、blenderでは
「このファイルは開けません」と出てきます。
どうすればよろしいのでしょうか?

後、OBJ形式のフリー素材が見つかりませんでした。
3ds形式は下のURLのサイトにあったのですが・・・。

ttp://www.zeldacapital.com/index.php

391デグレ:2010/11/19(金) 22:38:07
連投申し訳ありません。
今東方仗助も作っているのですが、中々うまくいきません。
一体どうすればよろしいのでしょうか?

問題点は以下の通りです。

1.ジョジョキャラ特有の顔や影、服のしわをどうやって作ればいいのかわからない。
2. 改変で作ろうとしているが、改変可能で仗助に使えそうなキャラクターがいない。
  (本当は承太郎と遠野志貴の改変で作りたいのですが、今現在承太郎で
  改変可能なキャラがおらず、遠野志貴も改変可能なキャラが見つからない。)

方向性としては他のジョジョキャラと比べても違和感の無いのを作りたいのですが・・・。
今現在の成果は下のURLでご確認ください。本当はドット絵板に投稿するべきなのでしょうが、
まだ投稿できそうな完成度に達していない・・・。
今はリンクが一時的に作れない時に東方仗助の製作を進める予定です。
東方仗助を作ることでリンクでは学べないことをいろいろ学べそうです。

ttp://www42.tok2.com/home/mugenyes/uploda/src/file379.png

392Gorori:2010/11/19(金) 22:58:14
3Dのソフトでファイルを開くというのはそのソフト用の形式を開くものが多いので
だいたいのソフトはファイルのインポートがあるのでそれを使ってみるといいよ。
ソフトの使い方まではわかりませんけど。

私が見つけたリンクの3Dは下記です。
ttp://gfx-3d-model.blogspot.com/search/label/3D%20Characters?max-results=4

393Gorori:2010/11/21(日) 02:46:23
デグレさんへ、Toystudioは使ったこと無いのでわかりませんがblenderはボーン(骨組み)が可能だったはず。
ボーンを設定すれば、もしくは可能なソフトで設定すればキャラクターを動かせますよ。
さらに時間軸が設定できるソフトならアニメーション管理も楽ですが。

394wolf:2010/11/22(月) 19:26:25
抽象的な質問になってしまって申し訳ないのですが、
現在、バリアーを持ってるキャラを作成しています。

バリアーはヘルパーで作成していて、自キャラの位置に固定させているのですが、
相手のステートを奪う攻撃をくらったと同時にバリアーの攻撃が相手にあたると
相手にステートを奪われたままの状態になってしまいます。

相手のステート記述を見ると、そのステートに入った場合、次の攻撃を喰らわないと抜けることができない状態でした
こういった状態を回避するのにいい方法はありますでしょうか?

395沫莉:2010/11/22(月) 20:20:24
順序的にはこんな感じでしょうか?
1:相手の攻撃で相手のP2stateへ移行する。
2:直後にこちらが設置したヘルパーによる攻撃発生。相手の攻撃が中断される。
3:本来されていた相手の攻撃が発生しない為、自キャラがP2stateから帰ってこれない。

……この場合、あまり言いたくないですが完全に相手側の不備かな、と言う感じがします。
相手のステートを奪う行動をした以上、本来は必ずステートを奪った相手が自ステートへ回帰できるようにしないといけない筈なのですが。
(最悪、中断される可能性がある技なら失敗時に相手が復帰できるようにしておかないと)

どうしても対策が必要な場合、相手のNameとStateNoを条件に、加えてステートを奪われて一定時間後に
本来の流れになっていない場合は常時監視でステート変更して強制回帰させる手もあるんでしょうが、
確実に不具合の温床になるのでお勧めはできません。神だとか論外だとかは正直別の話として、
相手のステートを奪ったまま放置するのも、相手にステートを奪われてる状態から勝手に回帰するのも
あまり良い印象はないやり方ですからね。

396wolf:2010/11/25(木) 23:07:26
>沫莉さん
>1:相手の攻撃で相手のP2stateへ移行する。
>2:直後にこちらが設置したヘルパーによる攻撃発生。相手の攻撃が中断される。
>3:本来されていた相手の攻撃が発生しない為、自キャラがP2stateから帰ってこれない。
そんな感じです!

やっぱやるとしたらステ抜けしかないんですかね・・・
ありがとうございました!

397ケットシー:2010/11/29(月) 23:38:56
KOされた時に猫の鳴き声がなるようにしたんですがBGMがあると聞き取りにくいので音量あげようと思ってたので
→キャラのCNSにそれらしいステートがない→ふむ?commonステートかな?→開いてplaysndで検索→ない?

KOされたときの音(SND11)の音量を上げたい時はどうすればいいのでしょうか?

398Yes:2010/11/30(火) 00:37:18
playsndで音量を上げても
音量の違いは人間ではわからないレベルです。
機能してない説もある。

playsndを2つ3つ重ねるのも他の音が消えやすくなってしまうので
お勧めできません。
あと、気持ち重くなるような気がする。(気のせいかも)

ので
SoundEngineなどを使ってsndファイルに入れる前の
wavファイルの音量を大きくするのがいいと思います。

SND11がどこで鳴らされているのかは僕も分からないです。

399blank:2010/11/30(火) 01:29:10
既に答えられてるけど
11,0に入れる「猫の鳴き声」のwav自体の音量を上げればいい
ただ、音声の加工はソフトによっては音質が劣化する可能性があるから注意
上で挙がってるSoundEngineは結構お勧め

それか、発想の逆転でAssertSpecialのNoMusic使ってBGMを一時的に消すとか

400ケットシー:2010/12/01(水) 23:56:43
>SoundEngine
 音量上がりました。ありがとうございます。ソフトの使い方はまだぜんぜん飲み込めてませんが。

 キャラ製作での難点の一つは複数のソフトの使い方を覚えないといけないこと・・・。

401Azuma:2010/12/09(木) 17:09:56
イントロ演出中([Intro]状態になるようにAssertSpecialを組んでいる)に、Pauseステコンを演出に用いることは不可能なのでしょうか?
スローモーション演出をしてみようとしたところ、キャラの動作は問題ないもののラウンドコールが連呼されるようになってしまいまして…

402Yes:2010/12/12(日) 01:54:14
>>401
AssertSpecialをヘルパーに記述して
Pauseの発動している時間が
AssertSpecialの発動している時間の中に納まっていれば
大丈夫です。

statedef-3にAssertSpecialを入れても
何とかなるかもしれません。

403Azuma:2010/12/12(日) 13:17:39
ヘルパー式のは既に試してみましたが、上手くいきませんでした。

改めて調べたところ
Pause中に本体同様「止まっている」ために1Fのみ有効のAssertSpecialの発動が切れているのが原因のようです。


[State 6420, Helper]
type = Helper
trigger1= Time = 0
trigger1=!NumHelper(6425)
name = "Intro_AssertSpecial"
stateno = 6425
ID = 6425
pos = 0,0
postye = p1
pausemovetime = 99999
supermovetime = 99999

で、呼び出しているのですが…何故止まるのだろう(=ω=;)

404Yes:2010/12/12(日) 14:25:41
kmfのkfm.cnsの


[State 191, 6]
type = PlaySnd
trigger1 = AnimElemTime(7) = 3
value = F5,3
volume = -80

←*ここ*

;---------------------------------------------------------------------------
; 挑発の動作
[Statedef 195]






;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[State 3210, pause]
type = pause
trigger1 = 1
time = 8
ignorehitpause = 1

[State 3320, Helper]
type = Helper
trigger1 = time = 0
name = "ttt"
ID = 3645
sprpriority = 6
facing = -1
pos = 600,20
postype = front
stateno = 192
supermovetime = 99999
pausemovetime = 99999

; (ヘルパー)
[Statedef 192 ]
type = A
movetype= I
physics = N
anim = 3645
ctrl = 0
sprpriority = 8

[State 191, AssertSpecial]
type = AssertSpecial
trigger1 = 1
flag = Intro

[State 3320, ChangeState]
type = DestroySelf
trigger1 = Time = 800

;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
;━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


を入れてみてください。
たぶんPauseより先にAssertSpecialが切れてしまっていると思います。

405Azuma:2010/12/12(日) 15:52:27
原因不明ですが、解決しました。
ヘルパーの抹消管理が狂っているのが原因だったようですが、どうも厳密には違うようで…よくわかりません;

ありがとうございました!

406風吼:2010/12/14(火) 00:42:45
こちらでははじめまして。風吼です。
ずいぶん前からAKOFに参加したいとキャラクターを作ってきたのですが、
CNSで躓いて動けないでいます。
すごい基本的なことかもしれませんが、助けたいただければとてもうれしいです。

イントロでキャラクターを炎で覆い隠したいのですが、炎が表示できず悩んでいます。
分かる範囲で正しい配置をしていると思うのですが、何がおかしいのか…

;イントロ(試合開始前の登場演出アクション)
[Statedef 191]
type = S
ctrl = 0
anim = 190
velset = 0,0

[State 191, イントロ]
type = AssertSpecial
trigger1 = 1
flag = Intro ;イントロの状態

[State 191, エフェクト];炎柱
type = Explod
trigger1 = AnimElemTime(5) = 0
anim = 191
sprpriority = 999999
postype = p1
scale = 1.3,1.3
pos = 0,0
shadow = 68,68,68
bindtime = -1
ownpal = 1

[State 3005, 6]
type = EnvShake
trigger1 = AnimElem = 5
time = 30
ampl = -6
freq = 85
phase = 75

[State 191, ステート変更];アニメーションが終われば「通常立ち」のステートに変更する
type = ChangeState
trigger1 = AnimTime = 0
value = 0

今はこんな風になっています。どうかよろしくお願いします。

407blank:2010/12/14(火) 12:22:31
その記述なら表示はされるはずだから
Begin Action 191とそれに対応するsffのスプライトをチェックかな
あとは-2とかでRemoveExplod使ってたりしないかどうか
取り敢えずExplodが表示されない原因分かるまでEnvShakeをNullしてみては?
画面揺れてると確認しづらいでしょうから

ここからは個人的に気になる点だけど
・AnimElemTime(5) = 0とAnimElem = 5は条件的には同じだから統一した方がスッキリ
・PosType = P1とPos = 0,0は省略可
・炎エフェクトなのに影を付けてる

408風吼:2010/12/14(火) 14:58:45
blankさん。
アドバイスありがとうございます。
気になる点については修正させていただきましたが、まだうまくいきません。
SFF及びAIR、RemoveExplodの使用状況も確認しましたが、問題ないと思います。素人判断ですが…。
後、重要なことを一つ言ってなかったのですが、EnvShakeによる画面揺れも効果が出ていないのです。
いったい何が悪いのやら…。出来れば、また教えてほしいです。
よろしくお願いします。

409blank:2010/12/14(火) 17:31:36
helperに関しての質問なのですが、
場に出ている全てのhelperを数えることは可能なのでしょうか?

410Yes:2010/12/14(火) 17:36:11
・anim = 190が本当に5枚‥6枚あるかどうか。(一枚目がAnimElem = 0だっけ?)
・本当にStatedef 191に移行しているか?
・Explodが画面の外に表示されているのではないか?

確認してみてください。

411blank:2010/12/14(火) 17:41:30
じゃあAnimElem = 5の条件満たしてないんじゃない?
190が4枚以下でループしてる(例えば190に5枚目以降が存在しない)とか
或いは-2とかのChangeAnimが誤作動してるとか
まあAnimTime = 0でのChangeStateが成功してるなら可能性は薄いけど

Ctrl+Dでデバッグ情報見て、StateNoとAnimとスプライトNo(Animの右に表示されてる)あたりが
正常な値になってるかを確認してみて

412Yes:2010/12/14(火) 17:45:22
>>409
1対1なら
NumHelperとenemy,NumHelper
で何とかなるんじゃないですか?

そうでないなら‥どうかな。
enemy,ってたぶん複数を指定できませんよね。

413blank:2010/12/14(火) 17:58:23
>>409
Varに格納するんだったら
Type = Null
Trigger1 = Var(*) := NumHelper;自分のヘルパー数をVar(*)に格納
Trigger1 = 0;Trigger2を読ませる
Trigger2 = Var(*) := Var(*)+Enemy(0),NumHelper;敵1のヘルパー数をVar(*)に加算
Trigger2 = 0;Trigger3を読ませる
Trigger3 = Enemy(0),NumPartner;敵1に相方がいる場合(敵2がいる場合)
Trigger3 = Var(*) := Var(*)+Enemy(1),NumHelper;敵2のヘルパー数をVar(*)に加算
Trigger3 = 0;Trigger4を読ませる
Trigger4 = NumPartner;相方がいる場合
Trigger4 = Var(*) := Var(*)+Partner,NumHelper;相方のヘルパー数をVar(*)に加算
でおk

414風吼:2010/12/14(火) 18:50:41
>>410,>>411
お二人ともありがとうございます。
>>411

415風吼:2010/12/14(火) 18:55:14
すいません、途中で書き込んでしまいました。

>>410,>>411
お二人ともありがとうございます。
>>411で言われたように確認してみたところ、anime noとstate noが190でした。
spriteについては問題なく動いているようで、10枚全部回っているようです。
A-ignizと比較したところ、sprite noが191になっていないのが問題なんですかね?

416blank:2010/12/14(火) 19:55:48
>state noが190でした
>>406を実行したいならstate noが191であるべきでは?
多分5900(初期化ステート)から190へのChangeStateはあるけど
190から191へのChangeStateがないとかそんな感じじゃない?

190がどんなステートか知らないけど、190で特に何もしてないなら
5900から直接191へChangeStateしてもいいと思うよ

417blank:2010/12/14(火) 23:44:43
>>412
>>413
回答ありがとうございます。
実は改変自由のキャラを改変しているのですが、
そのキャラが使う正確なhelper数を計っていました。
helperがhelperを出している場合も、計れるのですか?

また、trigger1 = Time = 26のような設定をしていても、
Persistentが無ければ複数出てしまうのでしょうか?

418blank:2010/12/15(水) 02:07:14
ID指定せずにNumHelper使えば、孫ヘルパーも数えてくれるよ

ステコンは1Fに1回ずつしか実行しないから
Trigger1 = Time = 26ならPersistentによらず呼び出すのは1つだけ
但し、HitDef当てたりしてHitPauseTimeが発生してるときはTimeが止まるから
IgnoreHitPause = 1を付けてる場合は複数呼び出してしまう
2つ以上出したくないならPersistent = 0を付けておくのが無難

419ほえほえ:2010/12/15(水) 12:10:58
現在、キャラの透過処理ができずに困っています…。
作成したキャラクターを実際にm.c.mで表示すると(mugen実機上で表示すると)
背景色が残ったまま透過できませんでした。

尚使用している環境は
OS   …windows7
仕様ツール…Photoshop6.0
です。

D-Pixedを使用してもOSが適応されていないせいか
途中でフリーズします。

またPhotoshop6.0で作業する際は
絵を描く⇒インデックスカラーに設定する⇒pcxで保存する。
という順番です。

同じようにPhotoshopで作業されている方や
他にwindows7で作業されている方で
透過処理はこのようにしているという方がいましたら
私めにお教えください。

長文大変失礼いたしました…。

420blank:2010/12/15(水) 15:02:22
vistaでもD-pixedはこまめに保存してれば一応使えなくもないから7でもそうなんじゃない?
パレット番号交換しまくってるとフリーズするけど1~2回ならフリーズせずにいける
しばらく使っていればフリーズしやすい操作とか分かるから慣れればそこまで気にならない
それか「windows7 パレット編集」とか「windows7 パレットエディタ」あたりでググれば使えるツールあるんじゃない?

なんにせよMUGENでは必ず0番パレット(D-Pixedだと一番左上)が透過されるから
256色パレットエディタで編集しないと思い通りの色が透過されない場合が殆ど
だからフォトショとかをメインに使ってると逆に面倒だよ

421風吼:2010/12/15(水) 19:41:16
>>416
アドバイスありがとうございます。
いろいろと試しましたところ、無事エフェクトも表示されるようになりました。
みなさん。アドバイスどうもありがとうございました!
また悩んだら聞きに来ると思いますが、その時にはよろしくお願いします。

422blank:2010/12/15(水) 21:08:34
>>418
回答ありがとうございます!

またも質問になってしまうのですが、Helperを
[State 00]
Type = Helper
trigger1 = Time = 23(二つ目以降はtimeを2ずつずらしてます)
StateNo = 6058
ID = 6058
Name = "6058"
Pos = -50,-100
PosType = P1
Ownpal = 1
Persistent = 0

とこのような記述を位置などを変えたものを5個と

[State 20091, 2]
Type = Explod
trigger1 = time < 19(二つ目以降はtimeを2ずつずらしてます)
trigger1 = time > 1
Anim = 6042
ID = 20092
Pos = -10,-75
PosType = P1
Scale = 2-(Time*0.18),2-(Time*0.18)
Ownpal = 1
SprPriority = 3
IgnoreHitPause = 1
Persistent = 1
removetime = 1
Trans = AddAlpha
Alpha = 256-Floor(Time*13.2),256

[State 20091, 2]
Type = Explod
trigger1 = time < 14(二つ目以降はtimeを2ずつずらしてます)
trigger1 = time > 1
Anim = 6043
ID = 20092
Pos = -10,-75
PosType = P1
scale = 0.15+Time*0.24,0.15+Time*0.24
Ownpal = 1
SprPriority = 3
IgnoreHitPause = 1
Persistent = 1
removetime = 1
Trans = AddAlpha
Alpha = 200-Floor(Time*19.2),256

とそれぞれ同じように位置を変えた物を5セット一気に出しているのですが、
これを1P、2Pと同時に行うと重くなってしまいます。

他にHelperが3個以下あるのですが、やはり負担が大きいのでしょうか?
ちなみにHelperのMaxの値は56です

423ほえほえ:2010/12/16(木) 01:17:54
>>420
ご回答ありがとうございます。
色々試した結果、D-Pixedではなく
edgeにて透過色を指定 ⇒ IrfanViewでpcx保存が
windows7でもフリーズなく透過できることができました。

424blank:2010/12/16(木) 03:19:51
>>422
Helper5個にExplod10個か・・・
表示してるAnimのパレットがバラバラだとかなり重くなるとは思う
あと、Explodを毎F出し直してるのも重い原因かなScaleやTrans加工してるし

軽くしたいならsffに登録する画像自体を加工してMUGEN側では表示するだけにするとか
複数のエフェクトを1個に凝縮するとなお良し
折角そこまで記述書いたんだったら
本体にAssertSpecialのFlag=InvisibleとFlag2=NoBGとFlag3=NoFG追加して(Flag3は必要に応じて)
MUGEN上で表示してる絵をキャプチャしてsffに再登録するのも手だと思う
6042と6043が同系統の色だったら↑の方法やっても劣化は気にならない筈

425blank:2010/12/17(金) 02:07:36
>>424
回答ありがとうございます!

ある程度パレットを統一したら、大分軽くなりました
これから画像のパレットを統一する等で、試行錯誤していきたいと思います

426blank:2010/12/17(金) 20:28:24
すみません、またも質問なのですが
timeによって、飛んでいく速度が変わるhelperを作成しているのですが、
stateが変わると、timeが引き継がれないようで、速度が戻ってしまいます

次のstateに元のstateのtimeを引き継ぐには、どのようにすればよろしいでしょうか?

427wolf:2010/12/17(金) 23:04:20
timeじゃなくてGameTime使えばいいのでは?
helper呼び出し時のGameTimeを変数に格納しておいて、
格納したGameTimeと現在のGameTimeの差分とればいけるとおもわれ

428Azuma:2010/12/18(土) 21:25:56
または、-2か-3にtimeで変数が増加する命令を入れといて、その変数をhelperのステコンが参照する形式にするとか。


質問ですが、ヘルパーアーマーをキャラに使っています(テンプレそのまま)
攻撃がヒットした際に、ヒットポーズを無視してヘルパーが動くので
本体側アニメと「ナンバーは同じ」であっても本体と同ステート内でのtimeがズレてしまう現象が発生しています。

ヘルパーを「本体がヒットポーズ中は動かない」ようにしたいです。
アニメの本体&ヘルパー同期は下記の記述で行っておりますが、具体的な記述が掴めません。ご教授願います。

[State 15000, ChangeAnim]
type = ChangeAnim
trigger1= IsHelper(15000)
trigger1= Anim != Root,Anim
value = Root,Anim
ignorehitpause = 1

429blank:2010/12/18(土) 23:58:08
Type = ChangeAnim
Trigger1 = IsHelper(15000)
Value = Root,Anim
Elem = Root,AnimElemNo(0)
でおk

アーマーヘルパー自身はHitDef撃ってないだろうから
IgnoreHitPause = 1は付けても無意味だよ

430Azuma:2010/12/19(日) 00:00:12
ありがとうございます!
早速試してまいりますー

431愛茶:2010/12/19(日) 11:04:26
ども、お久しぶりです。

早速質問ですが。

2ndRSP等の暗転時の演出はどうすればできるのかな?と。
特にセフィロトの樹とかのスプライトに残像付けるアレとか。

Helper使うとは聞いてはいるが、イマイチピンと来ないです・・・OTL

ご教授お願いします(_ _;

432426:2010/12/19(日) 20:25:15
>>427
解決しました!
ありがとうございます!

433blank:2010/12/20(月) 00:01:50
>>431
当該キャラ持ってないんでどんな演出か分からんことには・・・
残像は拡縮してるのか、アニメ・表示位置は完全に同期or数F遅れなのか、何枚重なってるのかetc
色んな要素があるから一概にこうやればいいとは言えない
拡縮ならAngleDraw、アニメは>>429、表示位置はVar使えば数F遅れも可、重なってる枚数分Helper出す
みたいな抽象的なアドバイスしかできない

2ndRSPをデバッグモードで戦わせて、参考にしたい技のStateNoを確認してから
cns覗いてみるのが一番なんじゃないかな




掲示板管理者へ連絡 無料レンタル掲示板