

💡TinkerCADで自分だけの「オリジナル剣」を作る方法【完全解説】
🔧 この動画で学べること
✅ 1. TinkerCADの新機能「スケッチ」による自由なモデリング
✅ 2. .OBJ形式の書き出しとRobloxへの正しいインポート手順
✅ 3. 「Handle(ハンドル)」パーツの役割と透明化のテクニック
✅ 4. Weld(溶接)機能を使った複数パーツの物理的な固定方法
✅ 5. スクリプトによる攻撃アニメーションとダメージ判定の実装
📺 チャプター目次 :
00:00 オープニング・完成品の紹介
00:16 TinkerCADで剣をモデリングするコツ
02:03 .OBJ形式でのエクスポートとフォルダ展開
02:56 Roblox Studioへの3Dインポート
04:15 モデルのピボット(中心軸)を再設定する
05:13 アバターを基準にして剣の大きさを修正
05:48 Toolの作成:持ち手(Handle)の設定と溶接(Weld)
09:15 プラグインを使って剣を手に持ったときの位置を設定
11:50 剣の色や素材を変更しよう
13:09 スクリプトで攻撃判定とアニメーションを付ける
13:00 実際にゾンビと戦ってテスト!
13:51 エンディング・次回の予告
1. TinkerCADで剣をモデリング

※Blenderを習得するには時間がかかりますが、TinkerCADなら誰でもモデリングが可能です。もちろん、すでにBlenderを使える方はそちらで作成しても問題ございません。その際には、「.fbx(エフ・ビー・エックス)形式」でデータをエクスポートして下さい。
2. .OBJ形式でのエクスポートとフォルダ展開

※グループ化しないことで、Roblox Studioにインポートした後に、刃、ガード、持ち手を別々のパーツとして色や質感を変えられるようになります。

※Blenderを使える方はそちらで作成しても問題ございません。Blenderの場合には「.fbx(エフ・ビー・エックス)形式」でデータをエクスポートして下さい。

3. Roblox Studioへの3Dインポート

※パーツの名前を変更しなくてもインポートできますが、意味のある名前をつけることにより『スクリプト等によるバグを防ぎ、将来の修正や機能追加の際にモデルの構造をすぐに把握できる』というメリットがあります。面倒でも名前をつけるようにしましょう。

※モデルやパーツがビューポート画面のどこにあるか分からなくなった時や、画面の隅にあって操作しづらい時などに、対象を選択して「F」キーを押しましょう。「視点の中心」がそのパーツに固定されるため、回転やズームなどの細かな調整がやりやすくなります。
4. インポートした「モデル」と「メッシュ」のピボット(中心軸)を中心点に設定

※このボタンを押すと、選択しているモデルのピボット「中心軸」がビューポート画面に表示されます。ピボット「中心軸」が見えていないので、モデルから大きくズレている可能性があります。
※インポートした直後のモデルやメッシュは、操作の基準となる「ピボット(中心軸)」がモデルの外側にズレていることがよくあります。

※モデルの左側の「矢印(▶)」マークをクリックすると、そのモデルに含まれているモデルの階層が展開され、その中に含まれているパーツやメッシュ、アタッチメントなどが表示されます。


5. 剣の大きさを修正しよう
6. Toolの作成:持ち手(Handle)の設定と溶接(Weld)

※オブジェクト挿入画面が表示されたら、「Tool」オブジェクトをクリックして下さい。

※「エクスプローラ」ウィンドウ内の「tinker」を選択して、キーボードの「DEL」キーを押せば削除できます。

※オブジェクト挿入画面が表示されたら、「Part」オブジェクトをクリックして下さい。

※「Part(ブロック)」は、「MySword」Toolの子要素として追加されます。

※「ホーム」タブの「色(Color)」ボタンをクリックして、自分の好きな色に変更して下さい。

※この名前が正確に「Handle」でないと、ツールをキャラクターが手に持ってくれなくなってしまいますので注意して下さい。

※「Handle」はツールの「持ち手の基準点」として使用するためのものなので、プレイヤーからは見えないように設定しておきます。

※「Handle」を「MySword」ツールのPrimaryPart(中心)とすることで、剣をプログラムで動かしたりエフェクトを付けたりする際に、位置や向きがズレなどがなくなります。

※全てのメッシュとパーツの「CanCollide(衝突判定)」をオフにすることにより、剣がキャラクターや地面とぶつからないようになります。

※剣に『重さ』があると、装備したときにキャラクターが傾いたり、動きが鈍くなったりする可能性があるので、重さをゼロにしています。

※鍔(Guard)と持ち手(Grip / Grip2)の「CanTouch」のチェックをオフにすることにより、ここの部分に触れても当たり判定が発生しないようにしています。

※これにより、プレイヤーが剣を振り回しても、パーツがバラバラになって地面に落ちたりしないようになります。

※「WeldConstraint」を選択してプロパティを見て、Part0に「Handle」、Part1に「Sword」が設定されていれば、2つのパーツが正しく繋がっている証拠です。
7. プラグインを使って剣を手に持ったときの位置を設定
8. 剣の色や素材を変更しよう
9. スクリプトで攻撃判定とアニメーションを付ける

※Zombieのモデルなどを追加する際に『スクリプトが含まれています』という警告ウィンドウが表示されますが、『OK』ボタンをクリックしてそのまま追加してください。
10. スクリプト
-- 1. 設定:パーツとダメージ量
local tool = script.Parent
local sword = tool:WaitForChild("Sword")
local damage = 50
local isAttacking = false -- 攻撃判定のスイッチ
-- 2. アニメーションの準備
local anim = Instance.new("Animation")
anim.AnimationId = "rbxassetid://522635514"
local loadAnim = nil -- 再生用の入れ物
-- 3. 装備した時:アニメーションをプレイヤーに読み込む
tool.Equipped:Connect(function()
local character = tool.Parent
local humanoid = character:FindFirstChildOfClass("Humanoid")
if humanoid then
loadAnim = humanoid:LoadAnimation(anim)
end
end)
-- 4. クリックした時:アニメーション再生とスイッチの管理
tool.Activated:Connect(function()
if loadAnim and not isAttacking then
isAttacking = true -- 攻撃開始
loadAnim:Play()
task.wait(0.5) -- 攻撃が続く時間
isAttacking = false -- 攻撃終了
end
end)
-- 5. 刃が触れた時:ダメージを与える
sword.Touched:Connect(function(hit)
if isAttacking then
local character = tool.Parent
local targetChar = hit.Parent
local targetHuman = targetChar:FindFirstChildOfClass("Humanoid")
-- 自分以外かつ人間(またはモンスター)ならダメージ
if targetHuman and targetChar ~= character then
targetHuman:TakeDamage(damage)
isAttacking = false -- 連続ヒット防止
end
end
end)
Roblox Studioは、Roblox用の カスタムゲームを作成できる公式の無料 ユーティリティソフトウェア。ミニゲーム、障害物コース、ロールプレイングストーリーなど、さまざまなゲーム作ることが出来ます 。プログラミング言語Luaを利用してプログラミングします。Robux(ロバックス)と呼ばれる仮想キャッシュを、ゲーム内アイテムに対して使用することで収益を得る仕組みを構築することも出来るので、子供たちはゲーム開発を通じでビジネスの感覚が身につけられる。
Robloxは、ユーザーがRoblox Studioを使ってゲームをプログラムしたり、他のユーザーが作成したゲームをプレイしたりできるオンラインゲーミングプラットフォームおよびゲーム作成システムです。
