3D・Blender初級プラスRobux不要

BlenderでRoblox用の剣を作る:Studioへインポートして装備する方法

Blenderの3つのCubeから剣を作り、FBXでRoblox Studioへインポートして、柄を握るOriginalSword Toolとして装備しよう。

公開日 更新日
Blenderで作った剣をOriginalSwordとして装備したRoblox Studio画面

Blenderで刀身、鍔、柄を作り、画面下のホットバーから装備できるOriginalSwordへ変える。完成までの目安は12分だ。Robux、外部プラグイン、ゲームのPublishは必要ない。

Blenderで作った剣をOriginalSwordとして装備したRoblox Studio画面

この記事は、LightStick Toolを作って装備する記事の続きだ。StarterPack > LightStick > HandleをPlay中に持てる状態から始めよう。Blenderは初めてでも大丈夫だ。

1. Blenderを用意し、単位をそろえて保存する

Blenderは、Roblox Studioの外で立体の形を作る無料ソフトだ。Windows、Mac、Linuxで使える。まだ入っていない場合は、Roblox公式のBlender解説にあるdownloadリンクから最新版を入れよう。起動時のNew FileではGeneralを選べばよい。Robloxアカウントとの連携やaddonの追加はしない。

Blenderを開いたら、右側のPropertiesにあるScene Propertiesを選ぶ。Unitsを開き、次の2つを設定しよう。

項目
Unit System None
Rotation Degrees

BlenderのUnit SystemをNone、RotationをDegreesにしたScene Properties

Roblox公式のBlender設定でも、この2つをStudioのstudに合わせる初期設定として案内している。

編集用のblendファイルを先に保存する

上部のFile > Save Asを開こう。保存画面の下にあるファイル名へoriginal-sword.blendと入力し、右下のSave Blender Fileを押す。同じ名前のファイルを保存し直す画面では、ボタンがOverwriteになる。

Blenderの保存画面でoriginal-sword.blendの名前と保存ボタンを確認する

保存先は、あとでFBXを見つけやすい新しいフォルダにしておこう。たとえばOriginalSwordフォルダを作り、その中へblendとFBXを並べる。Studioへ渡すのはFBXだが、形を直すときはblendを開くため、どちらも残しておく。

作業の途中でもFile > Saveを使って上書き保存しよう。ショートカットを使うならWindowsはCtrl+S、MacはCommand+Sだ。保存できると、Blenderのウィンドウタイトルにあるファイル名の先頭から*が消える。

Tip — Blenderの画面は3つだけ覚えよう

中央の3D Viewportが形を見る場所、右上のOutlinerがobject一覧、右下のPropertiesが数値を変える場所だ。objectはBlender内で選んで動かせる1つの物で、最初からあるCubeも1 objectになる。

2. 3つのCubeを剣の形にする

中央上部がObject Modeになっていることを確認する。最初からあるCubeを選び、Outlinerで名前をbladeへ変えよう。Nキーで右側のItem > Transformを開き、LocationとScaleを次の値にする。

Tip — 移動・回転・大きさ変更はG、R、S

objectを選び、Gを押すと移動、Rで回転、Sで大きさ変更になる。続けて軸と数値を入力すると正確だ。たとえばGZ1Enterなら上へ1移動し、RZ15EnterならZ軸を中心に15度回転する。SX2Enterなら横幅が2倍になる。途中でやめるときはEsc、操作を戻すときはCtrl + Zだ。今回は下の表を使うため、Rotationは0 / 0 / 0のままでよい。

Tip — 視点を回す操作はobjectを回す操作とは別

マウスの中ボタンを押しながら動かすと見る向きを回せる。Shiftを押しながら中ボタンで平行移動、ホイールで拡大・縮小だ。右上にあるXYZの軸表示をドラッグしても視点を回せる。視点だけを動かしても、objectのLocationやRotationは変わらない。

object Location X / Y / Z Scale X / Y / Z
blade 0 / 0 / 2.65 0.22 / 0.36 / 2.4
guard 0 / 0 / 0.12 1.1 / 0.25 / 0.12
grip 0 / 0 / -0.75 0.24 / 0.22 / 0.75

2つ目からは、Shift + A > Mesh > CubeでCubeを追加する。名前をguardgripへ変え、同じ表の値を入れよう。bladeが刀身、guardが手を守る鍔、gripが握る柄だ。

3つのCubeをblade、guard、gripへ変形して剣の形にしたBlender画面

Tip — X、Y、Zは立体の3方向

Xが左右、Yが奥行き、Zが高さだ。今回はbladeのScale Zを2.4にして刀身を長くし、guardのScale Xを1.1にして左右へ広げている。

3つを作ったら、Aキーですべて選ぶ。Ctrl + Aを押し、Scaleを選ぼう。PropertiesのScaleが3つとも1.000になれば、見た目の大きさを保ったまま数値を確定できている。

3. 1つのHandle meshへ結合する

一度何もない場所をクリックして選択を外す。bladeguardShiftを押しながら選び、最後にgripを選ぼう。最後のgripだけが明るいオレンジになればよい。

Ctrl + Jを押すと、3 objectが1つになる。Outlinerの名前を大文字のHを含むHandleへ変えよう。Handleが1つだけ見え、Scaleが1 / 1 / 1なら結合できている。File > Saveでもう一度blendファイルを保存する。

blade、guard、gripを結合し、1つのHandle meshにしたBlender画面

Tip — meshは立体の形のデータ

meshは、頂点、辺、面という点・線・表面を組み合わせた立体の形だ。今回は3つのCubeを1 objectへ結合したため、Studioでは剣全体を1つのHandleとして扱える。

Tip — active objectは結合後の基準

複数選択の中で最後に選び、明るい色になった物がactive objectだ。gripを最後にすると、結合後の名前や基準をgripから引き継げる。ただし、これだけでキャラクターの手が柄に合うとは限らない。握る位置はStudioのGripでも確かめる。

meshの公式仕様では、1 meshの上限は20,000 trianglesだ。triangleは立体の細かさを数える三角形で、この剣は36なので十分小さい。3つとも厚みのあるCubeから作っているため、穴や裏面のない形になる。

4. 剣をFBXへ出力する

Handleだけを選び、File > Export > FBX (.fbx)を開く。保存名をoriginal-sword.fbxにし、右側を次の値へそろえよう。

場所 項目
Include Selected Objects オン
Transform Scale 1.00
Transform Apply Scalings FBX Units Scale
Transform Forward Z Forward
Transform Up Y Up

BlenderのFBX出力で選択物、Scale、Forward、Upを設定した画面

Bake Animationはオフにする。今回は動きのデータを入れていないためだ。Roblox公式のFBX出力設定でも、FBX Unit Scaleを使い、animationがない場合はBake Animationを外す手順になっている。Export FBXを押そう。

Tip — FBXは立体を受け渡すファイル

FBXは、Blenderで作った形をStudioへ渡すためのファイルだ。今回はoriginal-sword.blendが編集用、original-sword.fbxがStudioへ渡す用になる。あとで形を直すときも、blendを開いてFBXを出し直す。

5. StudioへHandleをインポートする

Roblox Studioへ戻り、Play中ならStopする。上部のFile > Importからoriginal-sword.fbxを選ぼう。Import Previewが開いたら、左側の一覧にHandleが1つだけあり、赤や黄色のwarning / errorが出ていないことを確認する。

右側のFile Generalは、Import Only as a ModelUpload to RobloxAdd to Workspaceをオン、Anchoredをオフにする。Upload to Robloxはmeshを自分のアカウントのassetとして読み込む設定だ。これだけでCreator StoreやMarketplaceへ公開されることはなく、Robuxも使わない。

File Transformを開いてWorld Forward = FrontWorld Up = Topを確認する。

Studio Import PreviewでHandleとFront、Top設定を確認した画面

次にFile Geometryを開き、Scale Unit = StudScale Factor = 1を確認しよう。

Studio Import PreviewでScale UnitをStudにした画面

Roblox公式のBlenderからStudioへの設定も、FrontTopStudの組み合わせを案内している。Previewの剣が正しい向きならImportを押す。Workspaceへoriginal-swordというModelが追加され、その中にHandleというMeshPartが1つ入る。

最初のImportは数秒かかることがある。ボタンを何度も押さず、Import Previewが閉じてExplorerのWorkspace > original-sword > Handleが現れるまで待とう。追加されたHandleを1回選ぶと、3D画面でも剣全体が1つの選択枠に入る。刀身、鍔、柄が別々に選ばれる場合は、Blenderで結合できていないため、3つをCtrl + JしてFBXを出し直す。

Tip — MeshPartは自作の形を表示するPart

MeshPartは、普通の四角いPartとは違うmeshの形をStudioへ表示する物だ。今回は剣全体の形を持つHandleが1つできる。Toolの仕組みは前の記事と同じままだ。

6. LightStickの見た目を剣へ置き換える

ExplorerでStarterPack > LightStickを選び、名前をOriginalSwordへ変える。中の古いPart Handleを削除する。次にWorkspace > original-swordを開き、中のMeshPart HandleOriginalSwordの直下へドラッグしよう。空になったoriginal-sword Modelは削除してよい。

StarterPack
└─ OriginalSword (Tool)
   └─ Handle (MeshPart)

MeshPartのPropertiesでAnchoredCanCollideをオフにする。Workspaceに同じHandleが残っておらず、Toolの直下に1つだけあることも確認しよう。公式のTool解説のとおり、1つのMeshPartだけで作るToolでは、そのMeshPartをHandleと名付ければ手へ付けられる。

ドラッグ後はExplorerの左にある三角を開き、OriginalSwordの1段下にHandleが入ったことを読む。OriginalSwordHandleが同じ深さに並んでいたら、Toolの中へ入っていない。Handleをもう一度ドラッグし、OriginalSwordの名前が明るくなったところで離そう。

StarterPackのOriginalSword Tool直下にHandle MeshPartを置いたExplorer

次にHandleではなく、親のTool OriginalSwordを選ぶ。Propertiesの検索欄へGripと入力し、次の値へ変えよう。

Grip
Position 0, -2.5, 0
Orientation 0, 0, 0

OriginalSword ToolのGrip Positionを0、-2.5、0にしたProperties

公式のTool解説のとおり、Gripは装備した物と手の位置・向きを調整する値だ。この剣ではPositionのYを-2.5にすると、右手が刀身の中央から鍔の下にある柄へ移る。

Tip — Gripは「手に対してどこへ置くか」

Grip > Positionは剣の形を変えず、手に対する置き場所だけをずらす。表どおりの大きさなら0, -2.5, 0で柄の中央になる。自分で柄を長くした場合は、Playで横から見ながらYだけを0.1ずつ変えよう。鍔が手より上、柄が手の中、刀身が手を通り抜けない位置ならOKだ。

7. 装備・解除・再装備を確かめる

Playを押そう。ホットバーのOriginalSwordを選び、自作した剣の柄がキャラクターの右手へ付けば装備できている。少し横から見て、鍔が手より上にあり、四角い柄の中央を握っていることも確認しよう。同じ枠をもう一度選んで解除し、3回目でもう一度装備する。

OriginalSwordをホットバーから装備し、外して、もう一度装備する動き

すでに別のToolがある場合、数字は1とは限らない。番号を決め打ちせず、名前がOriginalSwordの枠を選ぶ。Stopしてもう一度Playしたときにもホットバーへ戻れば、StarterPackから毎回配られている。

最後に次の3点を順番に見る。

  1. ホットバーにOriginalSwordという名前がある
  2. 選ぶと右手が鍔の下にある柄を握り、キャラクターは歩ける
  3. 解除してからもう一度選んでも、同じ向きで剣を持てる

3つとも見えたらStopする。Play中に見えていたBackpackやキャラクター内のToolはテスト用のコピーなので、そこでExplorerを編集しない。直したいときはStopして、元のStarterPack > OriginalSwordを変更しよう。

剣を持ったまま画面をクリックしても、まだ何も起きなくて正常だ。この記事の完成は装備までで、攻撃、damage、animationは次のプロジェクトで追加する。

うまく動かないとき

  • Importerに複数のobjectが出る: Blenderへ戻り、bladeguardgripをすべて選んでCtrl + Jし、OutlinerをHandle 1つにする
  • FBXが選択画面に出ない: Blenderで保存したフォルダを開き、拡張子が.fbxoriginal-sword.fbxを選ぶ。.blendはStudioへ直接Importしない
  • 剣が大きすぎる: FBXのApply ScalingsFBX Units Scale、StudioのScale UnitStud、Scale Factorが1か確認する
  • 向きが横になる: FBXのForward = Z ForwardUp = Y Upと、StudioのFrontTopを読み直す
  • ホットバーに出ない: OriginalSwordStarterPackの直下にあり、その中にHandleが1つだけあるか確認する
  • 装備すると動けない: MeshPartのAnchoredをオフにしてからPlayし直す
  • 刀身や鍔を持つ: OriginalSwordを選び、Grip > Position0, -2.5, 0へ戻す。剣の大きさを変えた場合は、Playで横から見ながらYだけを0.1ずつ調整する

完成

これで、Blenderの3つのCubeから1つの剣meshを作り、FBXでStudioへ渡し、柄を握るOriginalSword > Handleとして装備できる形になった。

次は、この剣を選んで入力すると1回だけ振るanimationを作る。

公式リファレンス

画像の拡大表示