ScuffedWallsを使ってNoodle譜面をつくる
長くなりました、ごめんなさい
準備するもの
ここからダウンロードしてください
あと、壁を置いたりアニメーションをつけた場合クロマッパー上で確認することはできないのでゲーム内で確認することになります。そのため、ゲームをデスクトップモードで起動する必要があります。詳しい使い方はこちらを参照
つかいかた
①譜面をフォルダごと、.exeにドラッグします。
②編集したい難易度を指定します。
③譜面のフォルダ内に生成された.swファイルを編集する。(Ctrl+Sを押すと実行されます)
あとはドキュメントを見ながら思いのままにNoodle譜面を作るだけ!
使い方
(ビート数):(関数)
(いろいろなパラメータ):(何かしらの数字)
(いろいろなパラメータ):(何かしらの数字)
⋮
といった感じで、関数をビート数に対して実行していきます。そのしたに設定したいパラメータを入力することで細かく設定できるようになります。
ここからはNoodle譜面といえば壁譜面だと思うのでWall関数を例に使い方を詳しく書きます。手っ取り早く使用例が見たい人は飛ばしてください。
下準備
また下準備です。準備が8割です。まず譜面ファイルを作成します。
Ex+の譜面にChromaのライトイベントとNoodle が必要なノーツを置きます。
まず、Tabキーをおしてサイドメニューを開きます。そこのクロマメニューをおします。クロマイベントの設置を有効にしてからライティングレーンにイベントを置きます。色は何でもいいです。
次にノーツを設置するレーンでQキーを押すとマス目関係なく自由に置けるようになります。Qキーを押しながら好きなところにノーツを置いてください。
ここで譜面を保存して難易度選択画面に戻ります。
Ex+をExにコピーします。
ここまでで譜面の下準備は完了です。
譜面をフォルダごとSucffedwall.exeにドラッグします。
そこで次のように文字を打ち込んでエンターを押していきます。(最後は"y"で大丈夫です)
これで、譜面フォルダ内にSucffedwallExpertPlusStandard.swが生成されていれば大丈夫です。このファイルにコマンドを打ち込むことで様々な演出を作ることができます。
.swファイルを編集中はscuffedwall.exeは起動させておいてください。
次にSucffedwallExpertPlusStandard.swを開いて、
1:Import
path:ExpertStandard.dat
と入力して上書き保存してください。これはExの譜面をEx+にコピーする関数です。先ほど操作したSucuffedwallが正常に動いていたら準備完了です!
壁を置く
まず譜面に壁を置いてみましょう。壁を置くためには"Wall"関数を使います。大文字でも小文字でも大丈夫です。設置するビート数は何でもいいですがプレビューで確認しやすいように若い数字がいいです。
5:wall
scale:[1,1,1]
"scale"は壁の大きさを指定します。[x,y,z]の座標です。簡単に言うと[よこ、たかさ、おくゆき]です。好きな数字で構いませんがとりあえず一辺の長さが1の立方体を作ってみましょう。上書き保存してscuffedwallが正常に動いていたら書き込みに成功しています。
壁ができました!
大きさ、場所、色を変えてみる
パラメータをいじってみましょう!壁には大きさを指定する"scale"のほかにも"position"(場所),"color"(色)を指定できます。先ほどの壁に追加してみましょう。
5:wall
scale:[0.3,0.3,5]
position:[0,5]
color:[0,1,1,1]
"position"は[x,y]、"color"は[r,g,b,a]です。aはアルファ値です。スケールも変更して細長くしてみました。ゲーム内で確認してみましょう。
いい感じですね
たくさん壁を出す
壁譜面を作るにはたくさん壁があったほうが気分もあがりますね。たくさん出すには"repeat"(繰り返す回数)、"repeataddtime"(繰り返しの間隔)を使います。
5:wall
repeat:100
repeataddtime:0.2
scale:[0.3,0.3,5]
position:[0,5]
color:[0,1,1,1]
これで、先ほど作った壁を100個、0.2拍ごとに生成します。こちらもゲーム内で確認してみましょう
いい感じです。もう少し工夫を加えましょう。繰り返し中に動きを持たせるには内部変数の"repaet"を使います。これは繰り返すたびにrepeatが変数として0から1ずつ増えていきます。(今回は0~200まで増える)
パラメータ内で数式を使いたい場合は{中かっこ}で囲みます。
5:wall
repeat:100
repeataddtime:0.2
scale:[0.3,0.3,5]
position:[{-30+repeat},5]
color:[0,1,1,1]
これで、最初の壁は[-30,5]に、次の壁は[-29,5]に、その次は[-28,5]…のように少しずつ右にずれていく壁ができるはずです。ゲーム内で確認してみましょう。
ますますいい感じです。ただちょっとださいのでもう一工夫します。scuffedwallでは三角関数を使うことができます。「なんだそれ!?」というひとは何も考えず真似してください。そういう呪文みたいなものです。
ついでに、NJSとオフセットも設定しておきましょう。"njs"と"njsoffset"を使います。
5:wall
repeat:100
repeataddtime:0.2
scale:[0.3,0.3,5]
position:[{7*Cos(repeat/9)},{7*Sin(repeat/9)}]
color:[0,1,1,1]
njs:5
njsoffset:10
計算をする個所は{中かっこ}で囲みます。四則演算は+(たしざん),-(ひきざん),*(かけざん),/(わりざん)で行うことができます。
これで半径5の円状に壁が設置されます。
※三角関数の一文字目は大文字にすることに注意
それではゲーム内で確認してみましょう
きれいですね
アニメーションを加える
さらにもう一歩進んでアニメーションを加えてみましょう。ここからはscuffedwallのドキュメントで詳しく読んでほしいのですがここでは"animatedissolve"を紹介します。
5:wall
repeat:100
repeataddtime:0.2
scale:[0.3,0.3,5]
position:[{7*Cos(repeat/9)},{7*Sin(repeat/9)}]
color:[0,1,1,1]
njs:5
njsoffset:10
animatedissolve:[0,0],[1,0.2]
[どれぐらい消えるか,時間]で指定します。0は完全に消え、1は完全に表れてる状態です。時間は0から1で表します。
上で書いたのは最初(0)は完全に消えていて(0)、少したつ(0.2)と完全に表れる(1)ようになっています。
ゲーム内で確認してみましょう。
ふわっと表れていたら成功です。もっと細かく設定するとついたり消えたりする壁や、目の前で突然消える壁などが作れます。ほかにもアニメーションを作る関数はたくさんあるので遊んでみてください。
なんとなく使い方がわかってきたのではないでしょうか。
エラーが出た場合はつづりが間違えている、.(ピリオド)と,(カンマ)を間違えている、ありえないパラメータをつかってる、英字と日本語入力を間違えてる、scuffedwallにエラーが表示されるときは何行目がおかしいか教えてくれます。そこを見直しましょう。
使用例
関数の打ち方はわかったけどいい感じの壁を作るにはどうしたらいいの?という人のためにいくつか使用例を書きます。ここをコピーして数字を変えてみる使い方もありだと思います。
壁譜面(雰囲気バージョン)
周りにふわーって流れてくるタイプの壁を作りたい場合は"repeat"を使います。
5:wall
repeat:50 //50個の壁をつくる
repeataddtime:0.1 //0.1ビートごとに出現する
scale:[0.5,1,10] //平べったい壁
position:[{-10+repeat/2},0,0] //repeatをいれると壁が少しずつずれていく
color:[0,1,1,1] //r,g,b,a
njs:100 //100ぐらいがちょうどいい
njsoffset:5 //遠めにしたほうが雰囲気が出る
基本的に壁譜面はこれらの応用ですべていけます。
壁譜面(ひとりでうごくバージョン)
いきのいい壁が作りたいときは
"animateposition"や"animatescale"、"animatelocalrotation"を使います。
時間は0~1で表します。
5:wall
duration:10
scale:[1,1,1] //立方体
position:[1,2,10]
color:[1,1,1,1]
animateposition:[10,0,0,0],[-5,0,0,0.5]
ちょっとこだわった壁譜面はアニメーションをうまく使いましょう
踊るノーツ
ノーツはプレイヤーに切ってもらわなきゃいけないので暴れた後に本来あるべき場所に来てもらいます。そこで”AssignPathAnimation”を使用します。
10:AssignPathAnimation
track:hopp
duration:8
AnimatePosition:[0,10,0,0],[0,0,0,0.5,"easeOutBounce"],[0,0,0,1]
easing:easeInOutSine
この後跳ねさせたいノーツを"hopp"トラックに入れます。
プラットフォームを改造する
1:Environment \\ビートは何でもいい
id:^BigMirrorEnvironment\.\[0]Environment\.\[18]DoubleColorLaser$ \\Regexの形で書く
lookupMethod:Regex \\Regex推奨
position:[8,1.667,39] \\もともとオブジェクトがあった位置からの移動距離
scale:[10,1,1]\\大きくしたり、伸ばしたり
track:DoubleColorLaser \\トラックも指定できる
active:true
より詳しくは別記事を参照
エフェクトセット
別記事に移しました
さいごに
おつかれさまでした。多分一度読んだだけでは何のことかわからないことがたくさんあると思います。もしわからないことがあれば気軽に私に聞いてください。書いてあることでも書いてないことでも大丈夫です。
もしNoodle譜面が完成したら教えてください!あなたのNoodle譜面を楽しみにしてます!
この記事が気に入ったらサポートをしてみませんか?