🛠️

CICrafter操作マニュアル(2.01)

2024/07/03に公開

0.CICrafterについて

CICrafterは、UnityやBlenderを使わずに、パーツを組み合わせてクラフトアイテムを作成しアップロードできる非公式ツールです。
また、CICrafter用のパーツはglbなので作成して配布・共有することができます。

今のところWindows専用です。

cluster公式で配布されている「Unityなしでもクラフトアイテム・アクセサリーを作成・アップロードできるツール」 を改造して作成されました。

1.できること、できないこと

1.1 できること

  • GLBファイルをパーツとして読み込めます。

    設定されているテクスチャや頂点色などは無視されます。
    読み込むのは、頂点、面、ノーマル、UV0のみです。

  • 組み合わせるパーツを追加することができます。

    パーツはGLBファイルなので、Blender等でモデリングし追加することができます。

  • パーツごとに色、半透明、質感、発光、コライダーを設定できます。

    位置、回転、スケールの設定も可能です。
    条件によっては同時に設定できない要素があります。

  • UVを使用するパーツではテクスチャを設定できます。

    128x128のテクスチャを最大で3パーツ分設定可能です。
    内部で256x256にアトラス化されます。

  • ScriptableItem、MovableItem、GrabbableItem、RidableItemとすることができます。

    Grip位置とSeat位置の設定が可能です。
    ScriptableItemのClusterScriptはワールドクラフトの画面で編集してください。
    ベータアイテムとすることでPlayerScriptの設定も可能です。

  • ベータアイテムとしてアップロードできます。

    アイテムの物理演算系の機能(衝突や自由落下)を利用できます。

  • SubNode、TextViewを扱えます。

    どちらもアイテム直下にのみ配置できます(今後の拡張未定)。
    SubNodeは位置の設定のみが可能です(今後の拡張未定)。

  • アイテムの形状を自由に回転・拡大して確認できます。

    画面上の見た目そのままで、サムネイルも撮影が可能です。
    サムネイルはファイルに保存もできます。

1.2 できないこと

  • HumanoidAnimationListおよびItemMaterialSetListには対応していません(対応未定)。
  • 各種Shapeコンポーネントには対応していません(対応未定)。

2.画面の構成

(1)パーツ一覧ペイン
(2)パーツ設定ペイン
(3)アイテム設定ペイン
(4)3D操作ペイン

2.1 パーツ一覧ペイン

アイテムに追加されているパーツを管理するペインです。
CICrafterでの「パーツ」とは、アイテムを構成する3D形状の1つを指しています。

パーツ名をクリックするとパーツが選択状態となりパーツ設定ペインでパーツの配置や形状を変更できます。

一つのアイテムに追加できるパーツは128個ですが、クラフトアイテムのポリゴン数上限に注意してください。

2.1.1 パーツを追加する

パーツを追加するには、パーツ一覧ペインにて行います。

左側のドロップダウンリストをクリックすると、追加できるパーツの一覧が表示されます。

追加したいパーツを選択し、右側のボタンを押下することでパーツを追加できます。

パッケージパーツ

CICrafterのインストールフォルダにある「GlbParts」フォルダ以下にある「パッケージパーツ」を追加できます。
各パーツの本体はGLBファイルです。読み込み時の各種制限についてはこちらを確認してください。
各パーツのサムネイルは初回読み込み時に自動で作成されます。

フォルダ名とファイル名に以下の制限があります。

  • 後述の機能により、名称に半角ハイフン「-」を使用することはできません。
  • 名称を日本語名と英語名の両方に対応させる場合、半角ハイフン「-」で繋いで記述してください。
    例)立方体のパーツの場合。「立方体-Cube.glb」というファイル名にすると、日本語時には「立方体」、英語時には「Cube」と表示されます。

SubNode

ClusterScriptの$.subNode()で取得できるSubNodeを作ることができます。
アイテム設定ペインにてScriptableItemをONとすることを忘れないでください。

const node = $.subNode("SubNode000");

SubNodeの名称(SubNode000など)を変更したい場合は、SubNodeパーツをクリックし選択した状態で、もう一度クリックすると名称を変更できます。

TextView

ClusterScriptのSubNode.setText()でテキスト表示を行えるようにするTextViewコンポーネントのパーツを追加します。
アイテム設定ペインにてScriptableItemをONとすることを忘れないでください。

$.subNode("TextView000").setText("hello cluster");

SubNodeでの名称(TextView000など)を変更したい場合は、TextViewパーツをクリックし選択した状態で、もう一度クリックすると名称を変更できます。

Grip位置、Seat位置

アイテム設定ペインにてGrabbableItemおよびRidableItemをONにした場合に、それぞれのGrip位置、Seat位置として使われる位置を指定するパーツです。

GLBファイル

GlbPartsファルダ以外の場所にあるGLBファイルを読み込み、その形状をパーツとして扱えるようにします。
頂点、面、ノーマルのみ読み込みます。設定されているテクスチャや頂点色などは無視されます。

厚さが0のパーツは、CICrafter上で厚みをつけることができます。Blender等でGLBファイルを作成する場合は以下の制限に注意してください。

  • Unity上での頂点のZ座標値がすべて0になるようにしてください。
  • 面の表は、Unity上でのZの正方向にしてください。
  • 面を構成していない頂点を作らないでください。

GLBファイル(UV使用)

GlbPartsファルダ以外の場所にあるGLBファイルを読み込み、その形状をパーツとして扱えるようにします。
頂点、面、ノーマル、UV0のみ読み込みます。設定されているテクスチャや頂点色などは無視されます。
パーツ設定ペインで各種テクスチャを設定できます。

テクスチャをアトラス化する関係で、合計で3パーツまで追加できます。

厚さが0のパーツは、CICrafter上で厚みをつけることができます。Blender等でGLBファイルを作成する場合は以下の制限に注意してください。

  • Unity上での頂点のZ座標値がすべて0になるようにしてください。
  • 面の表は、Unity上でのZの正方向にしてください。
  • 面を構成していない頂点を作らないでください。

直方体

直方体のパーツを追加します。
内部的な処理の関係上、BoxColliderではなくMeshColliderを利用しています。

多角柱、UV球

プロシージャルな多角柱、UV球のパーツを追加します。
パーツ設定ペインに、形状に関する設定が追加されます。

2.1.2 パーツの情報を変更する

追加したパーツをどのように扱うかを簡単に設定、一覧できます。
(1)~(3)についてはパーツ設定ペインでも同じ設定を行えます。


(1)外観として使う

このパーツをアイテムの外観として使います。
コライダーの形状として使う場合はOFFにしてください。

(2)コライダーとして使う

このパーツの形状をアイテムのコライダーとして使います。
これらの形状を元に、最終的に凸状(Unityで言うところのConvex)のコライダーを持つアイテムになります。

(3)半透明のパーツにする

このパーツを半透明にすることができます。
半透明にすると、色の設定に「不透明度」が追加されます。

(4)パーツを選択する、名称を変更する

パーツの名称をクリックすると、パーツを選択状態にすることができます。
パーツを選択するとパーツ設定ペインでパーツの設定が行えます。

パーツを選択した状態で、再度パーツの名称をクリックすると、パーツの名称を変更することができます。

2.2 パーツ設定ペイン

パーツ単体に対して、配置や形状を設定するペインです。
パーツごとに設定できる項目は異なります。

2.2.1 パーツに共通の設定項目

位置

パーツをどこに配置するかを設定します。単位はメートルです。
パーツの基準点が、アイテムの基準点(アイテムを配置する時の中心位置)にある時に(0, 0, 0)となります。
パーツがクラフトアイテムのサイズ上限からはみ出さないように注意してください。

回転

パーツをどれだけ傾けるかを設定します。単位は度(degree、0-360)です。

スケール

パーツをどれだけ拡大縮小するかを設定します。
パーツがクラフトアイテムのサイズ上限からはみ出さないように注意してください。

色-色相

パーツの色相を設定します。値は0-360を取ります。
値を0から増やすと、色が赤>黄>緑と変化していきます。

色-彩度

パーツの彩度を設定します。値は0-1を取ります。
値を0に近づけると、白っぽくなります(彩度が落ちます)。

色-明度

パーツの明度を設定します。値は0-1を取ります。
値を0に近づけると、暗くなります(明度が落ちます)。

色-不透明度

パーツの不透明度を設定します。値は0-1を取ります。
値を0に近づけると、透明になります。

表面の金属感、表面の滑らかさ

パーツの表面の材質感を設定します。値は0-1を取ります。
金属感はUnityでのMetallicで、周囲の環境(Skybox)をどれだけ反射するかを設定します。
滑らかさはUnityでのSmoothnessで、反射がどれだけシャープかを設定します。

発光

上記で設定した色で発光させる割合を設定します。値は0-1を取ります。
0の場合は発光しません。

Albedo、Normal、Metallic/Smoothness、Emissionテクスチャ

各テクスチャは設定時に128x128に縮小され、縮小された状態で表示されます。
パーツごとの指定種類に設定した値に応じて、設定できるテクスチャの種類が異なります。
テクスチャを指定できるパーツは合計で3パーツまでで、各テクスチャは内部でアトラス化され、256x256のテクスチャになります。

2.3 アイテム設定ペイン

アイテム全体に対する設定をまとめたペインです。

アイテム名、アイテムサイズ

アイテム名を入力してください。
アイテム名、アイテムサイズ共にクラフトアイテムの制限に注意してください。

アイテムサイズを計算する、確認する

アイテムサイズを自動計算します。
設定したアイテムサイズを、実際の形状と比較して確認することができます。

MovableItem、GrabbableItem、RidableItem、ScriptableItemにする

各種コンポーネントをItemにつけ、それぞれのItemとします。
MovableItemの場合、RigidBodyコンポーネントが追加されます。
ScriptableItemではスクリプトを直接設定できます。

PlayerScriptを使う

ベータアイテムにするをONにして使用できます。
PlayerScriptスクリプトを直接設定できます。

パーツごとの指定種類

パーツごとに材質感か発光度のどちらを設定するかを選びます。
これにより、パーツ設定ペインで設定できる項目が変化します。
クラフトアイテムの内部的な仕様(2024.7.1現在)により、同時にどちらも設定することができません。

表面の金属感、表面の滑らかさ

アイテム全体(不透明用と透明用)での表面の材質感を設定します。値は0-1を取ります。
金属感はUnityでのMetallicで、周囲の環境(Skybox)をどれだけ反射するかを設定します。
滑らかさはUnityでのSmoothnessで、反射がどれだけシャープかを設定します。

発光強度

パーツで設定した発光がどれだけ強く発光されるかを設定します。値は0-5を取ります。
ワールドクラフトの光の強さ(Unityで言うところのBloom)が効いているワールドにて、輝くような効果が得られます。
0にするとワールドクラフトでの配置時に真っ黒となるため、1にしておくとよいでしょう。

ベータアイテムにする

ONにするとベータ機能を用いたアイテムとしてアップロードできます。
現在では物理演算系の機能(衝突や自由落下)を利用できます。
HumanoidAnimationListおよびItemMaterialSetListには対応していません。
物理演算系の機能についてはクラフトアイテムの制限ベータ機能を確認してください。

ポリゴン数

現在のアイテムのポリゴン数を確認できます。Renderer用とCollider用のメッシュが同一かどうかの判定も行っています。
ポリゴン数の上限はクラフトアイテムの制限を確認してください。

サムネイル

アップロード時に必要なサムネイルを撮影できます。
サムネイル撮影時は背景が白になり、反射する環境はUnityのデフォルトの空になります。
また、背景を透過状態にしたサムネイルをファイルに保存することもできます。

2.4 3D操作ペイン

それぞれのパーツが実際にどのように配置され、どのように見えるかを確認できるペインです。
サムネイルはこのペインでの見た目で作られます。

視点の変更

マウスのボタンドラッグで、注視点を中心に視点を回転できます。
マウスのボタンドラッグで、視点を平行移動できます。
マウスホイールで、拡大縮小できます。

3D操作ペインの右上にあるシーンギズモの軸をクリックすると、それぞれの軸の方向からアイテムを見る視点になります。

パーツの選択

マウスのボタンクリックで、クリックしたパーツを選択状態にできます。
選択状態になったパーツ以外は半透明になります。
選択したパーツは、パーツ設定ペインで編集できます。
選択したパーツをもう一度クリックするか、パーツがないところをクリックすると、全パーツの選択は解除されます。

パーツギズモ

パーツを選択すると、3D操作ペイン上で位置などを変更できるギズモが表示されます。
このギズモは3種類あります。

移動ギズモ

矢印をドラッグすることで、パーツのローカル座標上でのXYZ軸方向にパーツを移動させることができます。
ctrlキーを押下した状態で矢印をドラッグすると、画面サイズに対応したグリッド幅でグリッドにスナップします。
パーツを選択した状態で、Wキーを押下すると移動ギズモに切り替わります。

回転ギズモ

リングをドラッグすることで、パーツのローカル座標上でのXYZ軸を中心にパーツを回転させることができます。
パーツを選択した状態で、Eキーを押下すると回転ギズモに切り替わります。

スケールギズモ

先端のキューブをドラッグすることで、パーツのローカル座標上でのXYZ軸方向にパーツを拡大縮小させることができます。
パーツを選択した状態で、Rキーを押下するとスケールギズモに切り替わります。

ギズモの切り替え

上記のギズモは、3D操作ペインの左上にあるボタンにて切り替えることができます。
回転に対応していないパーツの場合、回転ギズモのボタンを押してもギズモは切り替わりません。

パーツをセンタリング

パーツを選択した状態で、センタリングボタンを押下するか、Fキーを押下すると、そのパーツの原点に視点が移動します。

シーンギズモ

シーンギズモは3D操作ペインの右上にあります。
シーンギズモの軸をクリックすると、それぞれの軸の方向からアイテムを見る視点になります。
各軸で色がついている方向が正方向です。

メニューボタン

セーブ、ロード、ログアウトなどを行えるメニューを表示します。

セーブ・ロードについて

拡張子が.cicのテキストファイルにセーブ・ロードを行います。
セーブファイルにはパーツの頂点情報が記録されているため、対応するパッケージパーツをインストールしていなくてもロードすることが可能です。

undo、redoボタン

3D操作ペインの上部にあるundoボタンおよびredoボタンを押下するか、ctrl+Zキーおよび、ctrl+Yキーを押下することで、パーツ等に行った操作のundo(取り消し)およびredo(やり直し)を行うことができます。

関連リンク

以上です!
良きクラフトアイテムライフを!

Discussion