LR2のスキンについてのメモ
この冬にBMSプレイヤー、LR2のプレイスキンの作り方を調べたりしたので記録。基本的にLR2のスキンに関することはRED.氏のスキン仕様書がカバーしている。
http://www.geocities.jp/red_without_right_stick/lr2skinhelp.html
巷のスキン仕様解説に助けられたので自分なりに少し書きたい。たまに追記する予定。
目次
0.前置き
1.スキンの構成要素
1.1 画像について
1.2 csvファイル
1.3 lr2skinファイル
0.前置き
スキンの配置場所は.\LR2beta3\LR2files\theme\
スキンを作るならここに新規フォルダ作成, いじるなら編集用にコピーを取っておくと安心。
スキン動作の基本的アイデアは
スキン用の画像を用意→使う部分を切り出す→LR2の画面上に位置を指定して貼り付ける
のみ。貼り付ける際にオプションを指定することで拡縮して表示したりアニメーションさせたりできる。
1.スキンの構成要素
スキンは画像と2つのテキストファイル、合わせて3種類のファイル群からなる。
・画像ファイル
・.csvファイル
・.lr2skinファイル
画像ファイルはpng形式を推奨。
csvファイルとlr2skinファイルをざっくり言うと
・csvファイル…画像パーツの配置を書いたもの
・lr2skinファイル…スキン全体を管理するもの
lr2skinファイルはスキンの動作定義というよりは大元の管理といった感じなのであまり考える必要がない。lr2skinファイルでスキンを認識させ、csvで動かすという認識でいいと思う。csv,lr2skin両方ないとスキンは動かない。スキン分岐命令はlr2skinでもcsvでもできる。
1.1 画像について
png形式を推奨。tga形式は扱ったことがないので他で。
スキンをいじる/作る過程で、透過が扱える画像編集アプリケーションが必要になる。ペイントしかないならGIMPをインストールするとはかどる。
既存のスキンを見るとパーツがくっついた1枚の大きな画像がよくあるけれど、アニメーションしないパーツなら1パーツ1枚でも問題ない。後述のcsvファイルやlr2skinファイルでは各画像毎にLR2本体があるフォルダからの相対パスを記述していくので画像のファイル配置は自由。noteフォルダにノーツ用画像, judgeフォルダに判定用画像など。
1.2 csvファイル
"LR2の画面上に画像を貼り付ける"部分にあたる。
csvファイルはテキストファイルではあるけれども、Excelのように表形式で表示できる点が異なる。csvの編集はExcel, テキストエディタでは辛いのでCassava Editor等のフリーのcsvエディタを推奨。
csvでは主に画像の"切り出し"と"貼り付け"の2つをセットで書いていく。ここは上に挙げたRED.氏のLR2スキン仕様書の#SRC_IMAGE,#DST_IMAGEの欄が詳しい。
また、csvには、スキンで使う画像のファイルパスを全て書いておく必要がある。書いた順に0番,1番,2番…と番号が割り振られ、切り出す/貼り付ける際にはその番号で指定する。結局、画像をLR2で表示するために必要な命令は以下の3つ。
#IMAGE 画像のファイルパス記述
#SRC_IMAGE 画像の切り出し
#DST_IMAGE 画像の貼り付け
#IMAGEは宣言のようなものなので1度書けばOK。#SRC_IMAGEと#DST_IMAGEは画像パーツを1つ貼り付ける毎に1セット書く。LR2で使うcsvファイルの細かなフォーマットはRED.氏の仕様書参照。
1.3 lr2skinファイル
lr2skinファイルはスキン全体をまとめるテキストファイル。lr2skinファイルがないとLR2に認識してもらえない。lr2skinファイルで記述する内容はおおまかに以下の通り。
・スキン名(スキンプレビューで表示されるスキン名)
・スキンの種別(SP/DP/選曲/決定……)
・スキンカスタマイズの項目
スキンプレビューの画面でカスタマイズできる項目はlr2skinに記述することで表示される。連動して読み込む画像ファイルが変わることでノーツの色やフレームの種類などが変わる。まったくなくても良い。