FC2ブログ

色変えでハマった話

2色目の色変えが反応せず、ハマるハマる。
試しては失敗、試しては失敗の繰り返し。

公式の2色変えアイテムを見て見たら……。
3maskですか、そうですか。
そりゃ、いくらやっても変わらんはずだわ。


PlayHomeスタジオアイテム作成講座(応用編 1)

9. サイズ、出現位置を変更する
9-1 サイズを調整する
さて、基礎編で作ったデスククロックですが、でか過ぎますので少し小さくしたいですね。
メタセコでメッシュを小さくしても良いのですが、とりあえずSB3Uでサイズを調整してみます。

前回作成した本体のファイル"mod_deskclock"をSB3Uで開きます。
ファイラーの"Animator"タブにある"clock"をダブルクリックして開きます。
エディターの左ペインの"Object Tree"で、"O_clock"フレームを選択します。
※画像ではフレームが展開されていますが、展開しなくても良いです。
エディターの右ペインの"SRT"と書かれたタブがありますが、ここで調整します。
9-1-1.jpg

設定内容は以下の通りです。
Translate: 位置
Rotate: 回転
Scale: 大きさ

ここではサイズを変更しますので、ScaleのX, Y, Zを全て0.5にします。
元が1なので、x, y, z がそれぞれ半分になりますね、きっと。
SRTタブ内の数値を変更したら必ず、その下の方にある"Apply Changes"を押します。
これを押さずにファイラーやエディターの左ペインを弄ったりすると、変更した内容がパーになります。
忘れずに押しましょう。

"Apply Changes"を押したらセーブします。ファイラーで、File > Save .unity3dです。

保存したらゲーム内で表示してみます。
基礎編と同様、アイテム本体を置いた場所に上書きコピーして、スタジオを起動します。

9-1-2.jpg
手のひらサイズになりました()

9-2. 位置を調整する
今回のアイテムをスタジオでロードすると、地面の高さに出現しますので、もう少し高い位置に出るようにしてみましょう。

先ほどのように、本体のファイル"mod_deskclock"をSB3Uで開きます。
ファイラーで"clock"をダブルクリック、"O_clock"フレームを開きます。
右ペインのSRTで、"Translate"のYを1に変更して、"ApplyChanges"を押します。
Unity上で1は1mなので、1m程度高い所に出るはずです。
9-2-1.jpg

で、実際にスタジオで読み込んでみると……。

9-2-2.jpg
Y座標は0ですが、地面からずいぶん上にありますね。
一応床から1mの所に出現しているはずですが、イリュゲーの場合はスケールが現実と一致していませんので、まぁ目安程度です。

但し、回転の中心は変わりませんので、回転させるとこのような回り方をします。
9-2-3.jpg


9-3. 位置を調整する その2
公式のマップからアイテムを取り出そうとすると、だいたいこんな感じに、操作軸からえらく離れた所に出現します。

9-3-1.jpg

まぁ、元々フライパンはコンロの上に置いてあったわけですからw
操作軸から離れていると、超扱い辛いので移動します。

操作軸を動かして、フライパンを原点(0, 0, 0)に移動します。
画面上にキューブで十字線を作ってありますが、こいつらと床が交わる所が原点です。
で、必死こいて移動するとこのような数値になりました。
9-3-2.jpg

SB3Uでこの数値をSRT値に入力して保存します。

9-3-3.jpg

原点に出現するようになりました。
9-3-4.jpg

例ではフライパンの中心付近を原点にしていますが、手に持つアイテムは持ち手を原点にした方が使い勝手は良いかと。

ただ、あまりにも離れている場合や、大きく角度を変える必要がある場合は、一度メタセコ等にエクスポートして、そちらで弄った方が早いです。
メタセコの場合は、移動したいメッシュを選択して 移動 > グローバル座標を選んで、0, 0, 0 で一気に原点まで移動できます。

PlayHomeスタジオアイテム作成講座(基礎編)

<追記> 5/13 教材の修正を行いました。
お手数では再ダウンロードをお願いします。

誰もプレホのアイテム作成の仕方を解説してないので、解説記事なんかを書いてみました。
しかし、実際書いてみるとハニセレのスタジオNEO用と全然変わりません()
違いが出てくるのは応用編に入ってからですね。

何か作ってみようと思った方は、スタジオアイテムから始めると良いと思います。
服とか髪とかに比べると、格段に敷居が低いです。

■用意するもの
・SB3UtilityGUI(なるべく新しい物)
enimaroahさんのGithubより、最新版を入手
ここではSB3UtilityGUI 1.11.4を使用します。

・スタジオアイテムスターターキット
http://rara.jp/playclub/page13488#14260
事前にインストールしておいてください。

・テキストエディタ
文字コードをUTF8にして保存できる必要があります。
メモ帳でも可能ですが、私はフリーのテキストエディタ(Terapad)を使っています。

・[PH]スタジオアイテム作成講座教材
 倉庫からダウンロードしてください。
 解凍すると以下の物が入っています。
 abdata > studio > itemobj > playhome > ItemResolver > sample.txt: リストファイルのサンプル
 abdata > studio > itemobj > playhome > mod > training > ModBase: アイテム本体のベースファイル
 clock.mqo: 時計のメッシュ
 t_clock.dds: 時計のテクスチャ


■はじめに
本講座ではSB3Uを使用してファイルの改造を行います。
SB3Uは↓のような画面で構成されています。
SB3U.jpg

正式な呼称は良く分かりませんが、ここでは図のように左からファイラー、エディターと呼びます。
エディター内は2つのペインに分かれていますので、それぞれを左ペイン、右ペインと呼びます。


1. スタジオアイテムの構造
スタジオアイテムをItemResolverに認識させ、プレイホームスタジオに表示するには2つのファイルが必要です。

・リストファイル
 スタジオでの表示名、ID、ファイル本体の位置などが書かれたテキストファイルです。
 PlayHome > abdata > studio > itemobj > playhome > ItemResolver フォルダに配置します。

・ファイル本体
 アイテムのデータ本体が入っているファイルです。
 PlayHome > abdata > studio > itemobj > playhome > mod > 任意のフォルダ名 に配置します。


2. ファイル本体の準備
2-1. ファイル名を変更する
 PH_MOD作成講座教材に入っている"ModBase"をコピーして、ファイル名を変更します。
 ここでは"mod_clock"とします。
 "ModBase"ファイルは今後別のアイテムを作る際にも使えます。
 このファイルを下地として作ったものを配布しても構いません。
 元はsaw2008さんに頂いた空のファイルです()

2-2. CAB値を変更する
 CAB値とは、ゲーム内の全てのunityファイルが持つ固有のIDです。
 これが重複すると、スタジオ内で表示されないだけでなく、ゲーム自体が起動しなくなる場合があります。
 
 ※SB3Uでファイルを編集する場合、上位に"abdata"フォルダがある必要があります。
  例えば、C:\mod\abdata\mod_clockの場合は大丈夫ですが、C:\mod\mod_clockの場合はファイルの上位フォルダに"abdata"が無いので編集できても保存できません。
  教材のフォルダ構造をそのまま使用する場合は問題ありませんが、他のフォルダに移動して作業する場合は気を付けてください。


 先ほど名前を変更したファイル"mod_clock"をSB3Uにドラッグ&ドロップして開きます。
2-2-1.jpg


 ファイラーのメニューから File > CABinet > CAB-0998bbc7d807dfaAAA7b986C035f0001をクリックします。
2-2-2.jpg

 ここで、CAB-以下の数値を被らなそうな値に変更します。
 16進数という話なので使える文字は「0-9, a-f」のみです。

 何故か他の文字も受け付けますが、SB3Uの作者のenimaroahさんが16進数と言っていたので16進数で入れています。
 CAB-の部分は任意の文字列に変更できますので、この部分を自分の名前3文字にしている方もいます。

 ファイラーのメニューからFile > Save .unity3d をクリックしてセーブします。
2-2-3.jpg


3. ファイル本体の作成
3-1. Animator名の変更

 ファイラーのAnimatorタブを選択します(開いた時点でここが選択されています)
  "Animator"というAnimatorがありますので、これををクリックし[F2]を押します。
 Animator名を"clock"に変更し、[OK]を押します。
3-1-1.jpg


3-2. フレームを追加する
 「フレーム」とは文字通り枠ですが()フォルダのような物だと思って頂ければ良いかと思います。

 ファイラーのAnimatorタブにある"clock"(先ほど名前を変更したAnimator)をダブルクリックします。
 エディターの左ペインに"Object Tree"のタブが表示され、ツリー構造が表示されます。
3-2-1.jpg

 "Object Tree"タブ内のフレーム"clock"の左側の[+]をクリックして展開します。
 "clock"フレームの下に"Frame1"という名前のフレームがぶら下がっています。
 この"Frame1"を選択して、エディター右ペイン"Frame"タブ内の"Transform Name"をクリックして名前を変更します。(入力して[Enter])
 ここでは"O_clock"とします(オーです)
3-2-2.jpg


3-3. 子フレームを追加する
 エディターの左ペインで、先ほど名前を変更したフレーム"O_clock"を選択し、右ペインのFrameタブにある"Create"ボタンを押します。
3-3-1.jpg
 
 左ペインの"Object Tree"の"O_clock"フレームの左側に[+]が出てきますので、これをクリックして展開します。
 "chilidOf-O_clock"というフレームが作成されていますので、ここを選択して、エディター右ペイン内Frameタブの"Transform Name"から名前を変更します。
 ここでは"body"とします。
3-3-2.jpg

 同じ手順でもう一つ子フレームを追加します。
 "O_clock"フレームを選択し、Frameタブの"Create"ボタンを押します。
 今度はフレームが展開されているので"body"の下に"ChildOf-O_clock"が増えているのが見えると思います。
 "ChildOf-O_clock"を選択し、Frameタブの"Transform Name"から名前を"hand"に変更します。

 一度ここでセーブしておきましょう。
 File > Save .unity3dをクリックします。

4. メッシュの追加
 メッシュとはポリゴンで出来た3Dモデル(とその付帯データ)の事です。
4-1. mqoファイルからインポートする
 教材に入っている"clock.mqo"(メタセコイアのファイルです)をSB3Uにドラッグ&ドロップします。
 ファイラーに"clock.mqo"というタブが追加されますので、この中の"body"を、エディターの左ペイン"Object Tree"の"body"フレームへドラッグ&ドロップします。
4-1-1.jpg

 下の画像のような"Options"というダイアログが開きます。
4-1-2.jpg

 "Method"を"Replace"に変えます(空のフレームに追加するのでMergeのままでも良いですが)
 "Convert to Mesh Renderer"にチェックを入れて"OK"を押します。

4-2 Normals and Tangents
 "Object Tree"内のメッシュを追加した"body"フレームの左側に[+]が出ますので、これをクリックして展開します。
 "body"フレームに"MeshRenderer"が追加されているので、選択します。
 エディターの右ペインにある"Mesh"タブの"Normals..."ボタンを押します。
4-2-1.jpg

 "Normals & Tnangents"というダイアログが開きますが、そのまま"OK"を押します。

 "body"と同じ手順で、今度は"clock.mqo"から"hand"を選択し、"Object Tree"の"hand"フレームにドラッグ&ドロップします。
 メッシュを追加したら、同様に"Normals..."ボタンを押し、"OK"を押します。

5.マテリアルを設定する
 エディターの左ペイン"Object Tree"内の"body"フレームの下にある"MeshRenderer"をクリックします。
 右ペイン"Submeshes"欄の"Material PathID"を見ると、メッシュ(サブメッシュ)が二つ入っています。
 どちらも(none)になっていますので、右側にある下向きの三角をクリックして"m_clock"を選択します。
 ふたつとも同じマテリアルを割り当てます。
5-1-1.jpg


6. テクスチャの追加
6-1. 既存のテクスチャをReplaceする
 教材付属の"t_clock.dds"をSB3Uにドラッグ&ドロップします。
 ファイラーに"Images"タブが追加され、ドロップしたテクスチャ名が表示されます。
 エディター左ペインの"Texture"タブを開き、"main"という名前のテクスチャを選択します。
 右ペインが自動的に"Texture"タブに切り替わります。
 ファイラーの"Images"タブのt_clock.ddsを選択した後、エディター左ペインの"Texture"タブに表示されている"main"を選択します。
 右ペインの"Replace"ボタンを押します。
6-1-1.jpg


ファイル本体は完成なのでセーブします。

7. リストの作成
7-1. IDを決める


雨宮さんの書かれた、プレイホームItemResolver仕様を確認しましょう。
http://blog.livedoor.jp/yashiroamamiya/archives/6851217.html

配布を予定しているなら、IDを予約して50,001~100,000を使用します。
ID予約はこちら
https://docs.google.com/spreadsheets/d/140JCpH-76q_QE0aUHV63C4DURwMsJD1mHsXyjWHUAHI/edit#gid=0

予約しない場合は100,001~120,000のチャレンジエリアから、勘でIDを使用します。

7-2 リストの書式
添付の"sample.txtを"コピーして、"mod_deskclock.txt"にリネームします。
"mod_deskclock.txt"をエディターで開きます。
7-2-1.jpg

最初の3行は無視されます。
1行にひとつのAnimatorについての情報を記載します。
複数ファイルの内容を一つのファイルで定義することも可能と思いますが、通常はファイル本体1つにつき、リストも1つ使用します。
1つのファイルの中に複数Animatorがある場合は、1つのリストファイルの中にそれぞれのAnimatorの設定を記述します。

項目の内容は以下の通りです。

ID番号:
7-1で決めたID番号を記載します。

カテゴリ番号:
アイテムをどのスタジオ内のどのカテゴリに入れるかを記載します。
30:家具
31:壁・板
32:日用品
33:小物
34:食材
35:武器
36:その他
37:Hアイテム
38:液体
39:画面効果
40:医療
41:エフェクト
50:基本形
53:オブジェ
57:キャラ
62:ギミック
63:3DSE

※98,99は予約済みの為使用不可

アイテム名称:
スタジオ内で表示される名称です。

ファイル本体へのパスとファイル名:
abdata以下、ファイル本体までのパスを記載します。
ファイル名まで入れます。

Animator名称:
アイテムのAnimator名を入れます。
SB3Uで表示されるAnimator名です。

アニメーションフラグ:
知らんw
アニメーションを内蔵しているかどうかでしょうね

カラー1フラグ:
色変え可能にする場合はTrueにします。

カラー1オブジェクト名:
色変え可能にするオブジェクト名(フレーム名)を記載します。

カラー2フラグ:
2色変え可能にする場合はTrueにします。
カラー1フラグがFalseだと無視されます。

カラー2オブジェクト名:
カラー2で色変えするオブジェクト名(フレーム名)を記載します。

サイズ変更フラグ:
サイズ変更可否を設定します(True = 変更可/ False = 変更不可)

8. 表示してみる
8-1 リストファイルを入れる

C:\ILLUSION\PlayHome\abdata\studito\itemobj\playhome\ItemResolverにリストファイルをコピーします。

8-2 ファイル本体を入れる
C:\ILLUSION\PlayHome\abdata\studito\itemobj\playhome\mod\まで開き、その中に"training"という名前のフォルダを作ります。
その中にファイル本体"mod_clock"をコピーします。

8-3 スタジオを立ち上げて確認する。
追加したアイテムは、[MOD]日用品の中にあるはずなので探してみてください。
また、座標は0, 0, 0に出ますので、カメラを移動しないと見えません。
アイテム一覧には表示されるのに、スタジオで表示されない場合は、名前、パスなどが間違っていると思いますので確認してください。

PlayHomeStudio64bit 2018-05-06 17-52-39
デフォライトのみ……暗い。

PlayHomeStudio64bit 2018-05-05 16-45-59
ちょいとでかいですが、サイズ変更は応用編にて。

■応用編(の予定)
・サイズ、出現位置を変更する
・色変え可能にする
・透過シェーダーを使用する
・質感を上げる

■リンク

ハイライトさんによるSB3Uの解説
SB3U初歩の初歩(;^_^A
http://hilite000.blog.fc2.com/blog-entry-105.html

SB3U初歩の初歩 その2
http://hilite000.blog.fc2.com/blog-entry-112.html

SB3U初歩の初歩 その3
http://hilite000.blog.fc2.com/blog-entry-120.html

SB3U初歩の初歩 最終回
http://hilite000.blog.fc2.com/blog-entry-125.html


プレイホーム ItemResolver仕様
http://blog.livedoor.jp/yashiroamamiya/archives/6851217.html


ID予約サイト
https://docs.google.com/spreadsheets/d/140JCpH-76q_QE0aUHV63C4DURwMsJD1mHsXyjWHUAHI/edit#gid=0

Funny flash

でででん、でーでーでん♪
この頃流行りの女の子~(ry
おもふら(面白いフラッシュ) = Funny flash!

……はい。

PlayHome64bit 2018-03-11 16-51-30

ハニセレで言う所の黒化がおもフラの原因……というか、直接の原因はバンプマップやスペキュラマップに透過部分がある事?のようです。
UV展開がちゃんと出来てない(UV頂点が重なってる)と黒化しますので、面のバンプやらスペキュラの値=0だと発生する??という事ですかね?

スペキュラマップはDXT1で作る必要があり、バンプマップも透明部分があると上の画像のようになります。
上の画像はメインテクスチャをバンプマップに突っ込んだところ発生した物です。

で、cubemapの画像を反射するようになるので、100個くらいセットの髪のテカりんこ問題もこのあたりに原因がありそうです。


プレイホームの色変えとか、RenderQueueとか

ステージ衣装のプレイホーム体験版への移植は先送りと言いつつ、ちょっと調べてみたら意外とすぐ設定ヶ所の所在が判明したのでちょいとメモ書き程度に。
まだ検証してないので細かいやり方なんかはまた後日。
というか地雷を踏んだ後で()


律子ブレザーをmqoでエクスポートした物です。
ブレザーがサブメッシュに分かれているのは先日の記事の通りですが、メタセコで見ても3つのサブメッシュ、3マテリアルに分かれています。

で、どこで色変え範囲が指定されてるのかと思えば、MonoBehaviour[MaterialCustoms]に書かれていました。
MainColor_SubClolr.jpg
Main, Subそれぞれ4つずつdataParameterという物がありますが、多分全部の箇所にマテリアルを指定する必要がありそうです。
まぁ、メインはメインで全部同じマテリアルですが。

また、色変え可能部(ブレザー本体、襟)は同じシェーダーでしたが、色が変わらない部分(ボタン)は違うシェーダーでした。
シェーダー名の欄が数字のままだったので名称は不明ですが、シェーダーも色変え用の物を使う必要がありそうです。


アルファ病と戦うのに必要なRenderQueueは、各フレーム内のMonoBehaviour[SetRenderQueue]の中にありました。
SetRenderQueue.jpg
↑は前髪のものです。

色変え不可の服を色変え可にするのは、ハニセレと比べるとひと手間ありそうです。
色変え不可の服にはMonoBehaviour[MaterialCustoms]がありません。
MonoBehaviourを他の服から移植するか、一度fbxでエクスポートして、色変え可の服にインポートする事になりそうです。

ちなみにブレザーのテクスチャは白かったので、色変えシステム的にはハニセレと同じようです。
色変え不可衣装のテクスチャは特に彩度が落としてある訳ではないので、トーンカーブがガガガガガという事は今回は無いようで。

ハニセレの衣装をAnimatorごと移植してもPHでは動かないのですが、MonoBehaviourを足してやれば動くのかしらん?
プロフィール

Nocky

Author:Nocky
ILLUSIONのゲーム"プレイクラブ"、"ハニーセレクト"、"プレイホーム"のSSと、キャラに着せる洋服をメインに扱っています。
登場するモデルは全て成人です。

Counter
PV(2016.11.24-)
カレンダー
04 | 2018/05 | 06
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
カテゴリ
リンク
プレイホーム
ハニーセレクト3
ハニーセレクト2
ハニーセレクト
プレイクラブ2
プレイクラブ
VRカノジョ
ブロとも申請フォーム

この人とブロともになる