スピンオブジェクト は、3D 空間内の 1つまたは複数の軸で回転するオブジェクトです。Roblox(ロブロックス)blox のシミュレーションエンジンの内蔵パワーを使用して、オブジェクトを回転させ、環境とインタラクトする方法を、プレイヤーによく知られていて簡単な方法で実際の
Spinning Objects.rbxl ファイルを参照して、このチュートリアルでは、物理的な力がスタジオで角度の動きにどのように影響するかを説明し、さまざまなスピン動作のエクスペリエンスでオブジェクトをスピンするためのさまざまなテクニックを示しています。これには、次のガイドが含まれます:
- Class.AngularVelocity モーバー制限を使用して、アセンダント角度で全体のアセンダントを回転させる。
- Class.HingeConstraint 機械的な制限を使用して、アセンブリ内のパーツをコンセントの角度が一定のままに回転させることで、コンセントのレストが停止すると、アセンブリ全体がステーションリーです。
- Class.BasePart.ApplyAngularImpulse|ApplyAngularImpulse メソッドを使用して、角度の力の初期の影響を受けたアセンブルをスピンすることで、アセンブルを時間の経過とともにゆっくりと減速させます。
角度運動と物理的な力
Roblox Studio は、物理的な動作をリアルタイムでシミュレートする実世界のシミュレーションエンジンで、エクスペリエンスで回転オブジェクトの動作を予測するために、オブジェクトが角度モーションでどのようにスピンするかを高度に理解することは重要です。 角度移動 、または回転移動は、固定ポイントまたは軸の周りの移動です。たとえば、プロペラの角度移動がある場合、プロペラの中央の回転軸の周りに回転します。
角度運動は、オブジェクトを押したり引っ張ったりする外部の物理的な力なしには存在できません。ニュートンの「第1法則 of 運動」によると、静的オブジェクトは静止し、動的オブジェクトは運動しています。たとえば、風によって動かされているプロペラは静止します。風のような外部の力がないと、プ
減速力 は、オブジェクトが回転する物理的な力の測定であり、角度加速を必要とするオブジェクトに責任があります。このコンセプトは、Studio でオブジェクトが回転するために適用される減速力の量を表します。減速力をオブジェクトに適用すると、オブジェクトが加速するのがより速くなります。
これは、トルクがオブジェクトに向かって押し戻す方向の物理的な力よりも 大きな 必要があるためです。たとえば、プロペラを汚れに配置すると、風の物理的な力は、ダートからの摩擦量を克服する必要があります。たとえば、風の力がダ
角度速度 は、オブジェクトの回転速評価する、またはオブジェクトが回転する固定ポイントまたは軸の周りの速度の測定です。Studio は、オブジェクトが回�
次のセクションでは、オブジェクトをコンセントまたは最初の角度速度でスピンする方法を学び、必要なトルクでオープオニアルな物理フォースを乗り越えるためにオブジェクトをスピンする方法に深く入ります。これらの物理コンセプトをレビューすると、Studio のあらゆるオプションのプロパティ値を正確に予測して、理想的なスピン動作を実現
定常な角度のフォースを維持する
オブジェクトが角度速度を一致させて保持するためには、角度フォースが必要です。これは、オブジェクトの角度速度を減速させる物理的な力、またはオブジェクトを静止にする物理的な力を克服するために必要です。たとえば
オブジェクトに適用するトルクの量は、環境自体の物理的な力だけでなく、オブジェクト自体にもよります。たとえば、重力と摩擦の両方によって回転する同じ形状の 2つのオブジェクトがある場合、大きなオブジェクトは、同じ角度の加速を達成するためにより多くのトルクが必要です。
次のサブセクションでは、さまざまな形とサイズのアセンブルを使用して、オブジェクト全体を回転する方法や、オブジェクトの一部を回転する方法を教えています。あなたが異なるプロパティ値を試験すると、オブジェクトの最大トルクを推定する方法を学びます。
角度速度制限を使用する
AngularVelocity オブジェクトは、mover constraint のタイプで、アセンションベクトルを全体のアセンションベクトルに適用して、コンセントリックな速度を維持します。アセンションを開始するには、AngularVelocity の制限が知る必要があります:
- 角度を適用するポイントと正方向または負方向。
- アセンブリの回転するためのラジアンの量。
- エンジンがアセンブリの角度を一致させるために適用できる最大のトルク量。
このプロセスを示すには、ワークスペースに AngularVelocity のアタッチメントを追加し、ブロックを 6 クリックして、世界の Y 軸に沿って角度が一致するように、ブロックを 9 回回転させます。
アタッチメントを追加
Class.Rotation オブジェクトをアセンブリに追加し、Class.Rotation オブジェクトの位置を 3D 空間で構成して、アセンブリを回転させるために組み立てを回転させることで、アセンブリの固定ポイントを指定できます。サンプル Spinning Objects エクスペリエンスは、制限を
アタッチメントには、旋回軸のアクスの視覚化を助けるビジュアルヘルプが含まれています。黄色い矢印は、アタッチメントの主軸を示し、オレンジ色の矢印は、アタッチメントのセカンダリ軸を示します。両方の軸の旋回に影��
アタッチメントを追加するには:
In the Explorer window, insert a block part into the Workspace .
新しい部分にアタッチメントを挿入します。
- In the エクスプローラー ウィンドウ, hover over the part and click the ⊕ ボタン. A コンテキストメニューが表示されます。
- メニューから、 アタッチメント を挿入します。アタッチメントは、パーツの中心に表示されます。
- アタッチメントを SpinAsset に名前変更します。
制限を構成する
あなたのブロックに固定ポイントを持つようにするためのブロックを持つようにすると、AngularVelocity 制限のプロパティを構成して、旋回方向、軸または軸を指定して、ターゲットの角度、コンセントの角度、ブロックが回転する速度、ブロックが回転する速度、エンジン
サンプル Spinning Objects エクスペリエンスは、1000行程度の定量角度のフォースをクラブ6ラジアンを毎秒世界の Y軸に沿って、定量角度の速度でスピンするために、1000行ton-studsのコンセントのブロックを 6 個以上スピンすることで��
Class.AngularVelocity 制限を構成するには:
(オプション) 3D 空間に制限を表示して、その回転方向を参照できるようにします。
- メニューバーで モデル タブ、そして 制限 セクションに移動します。
- 現在有効でない場合は、 制限詳細 をクリックして、制限ビジュアルヘルプを表示します。
部品に AngularVelocity 制限を挿入します。
- In the エクスプローラー ウィンドウ, hover over the part, then click the ⊕ icon. A contextual menu displays.
- コンテキストメニューから 角度速度 を挿入します。制限のビジュアルヘルプ は、パーツの中央に表示されます。
部品のアタッチメントを新しい制限に割り当てます。
- In the エクスプローラー ウィンドウ, select the constraint.
- In the プロパティ ウィンドウ,
- Attachment0 を SpinAsset に設定します。
- オージュラル速度 を 0, 6, 0 を設定して、 Y 軸に沿ってパーツの 6 角度を毎秒回転させます。注意、 0, -6, 0 を設定すると、ブロックは時計回りに回転します。
- MaxTorque を 1000 に設定して、1秒あたり最大 1000 行動力学的な力を適用して、ターゲットの角度速度を達成します。
- Keep 相対To を 世界 に保持して、ブロックを世界の位置と方向に回転させます。
設定したトルクの量を確認すると、世界の Y 軸に沿ってブロックの 6 ラジアンを回転させることができます。
In the menu bar, メニューバーで テスト タブに移動します。
シミュレーションセクションで、モードピッカーをクリックします。ドロップダウンメニューが表示されます。
Select 実行 . Studio は、3D 空間にあなたのアバターなしで現在のカメラポジションでエクスペリエンスをシミュレートします。
あなたのブロックのスケールと環境中の任意の物理的な力に対応する必要がある場合があります。たとえば、サンプルエクスペリエンスの AngularVelocity 制限は、プラスチック素材のデフォルトサイズの 4, 1, 2 ブロックパーツに対応し、環境には
しかし、ブロックが大きなサイズで草地の地形にある場合は、AngularVelocity.MaxTorque プロパティを拡大する必要があります。角度力は、サンプルの部品の大きさと摩擦から環境の両方を乗り越える必要があります。た
HingeConstraint の制限を使用する
HingeConstraint オブジェクトは、機械的な制限 を意味するタイプのオブジェクトで、2つの付属物が同じ軸を回転させるように制限し、付属物を同じ位置と主要軸に同じ方向に設定します。
さらに、2つのオブジェクトで構成を組み合わせると、オブジェクトはロックされ、オブジェクトの固定された主軸に従って回転します。これらのオブジェクトの 1 つをアンカーすると、角度力がオブジェクトの回転をコンスタントな角度速度で続け、残りのアンカーは静止します。
たとえば、アセンブリ内の特定のオブジェクトをスピンするためには、HingeConstraint 制限は知る必要があります:
- アタッチメントが重複する位置。
- 角度を適用するポイントと正方向または負方向。
- 1 秒あたりのアタッチメントの回転量。
- エンジンが持つことのできる最大トルク。
このプロセスを示すには、HingeConstraint 制限の参照を含む 2つのオブジェクトをワークスペースに追加し、プロペラを3 の制限に従って、1秒あたり 1 個のラジアンをClass.HingeConstruct のベースと一緒にスピンするようにします。
プロペラアセットを取得
クリエイターストア は、 Roblox と Roblox コミュニティによって作成されたすべてのアセットを見つけ、プロジェクト内で使用するためにモデル、画像、メッシュ、オーディオ、プラグイン、ビデオ、フォントアセットなどを含む、ツールボックスのタブです。クリエイターストアを使用して、個々のアセ
このチュートリアルは、HingeConstraint 技術のスピンオブジェクトの各ステップを再現するためのプロペラモデルを参照しています。このモデルを Studio の [インベントリに追持ち物リスト] リンクをクリックすることでインベントリに追加できます。アセットがインベントリにある場合は、プラット
このプロペラアセットをインベントリからエクスペリエンスに入手するには:
In the menu bar, メニューバーで ビュー タブを選択します。
In the ショー セクション, click ツールボックス . The ツールボックス ウィンドウが表示されます。
ツールボックス ウィンドウで、インベントリタブをクリックします。マイモデル ソートが表示されます。
クリックする プロペラ タイル。モデルはビューポートに表示されます。
アタッチメントを構成する
アタッチメントの重複位置と回転モードを指定するために、Attachment オブジェクトをアセンブルに追加し、3D 空間で配置と方向を構成するために 2つの Class.Attribute オブジェクトをアセンブルに追加します。
サンプル Spinning Objects エクスペリエンスは、取り付けられていないプロペラの位置とアンカーベースの位置の間の 2つのアタッチメントを整列し、サンプルの主軸を上向きに回転させるために基本のベースを回転させます。ベースのアタッチメントは、基本がアンカーされているため、このエクスペリエンスでは回��
ヒンジの制限にアタッチメントを構成するには:
Class.Attachment オブジェクトを 頭 と ベース に挿入します。
- In the エクスプローラー ウィンドウ, hover over 頭 and click the ⊕ ボタン. A コンテキストメニューが表示されます。
- メニューから アタッチメント を挿入します。
- このプロセスを ベース で繰り返します。
- 両方のアタッチメント 頭アタッチメント と ベースアタッチメント をそれぞれ名前を変更します。
ヘッドアタッチメント と ベースアタッチメント を回転させると、各アタッチメントの主軸が Y 軸で上昇します。これにより、Studio はアタッチメントの反時計回りに回転するようになります。
移動 ベースアタッチメント を ベース のトップに、 ヘッドアタッチメント を 1>プロペラ1> の底端に移動させます。これにより、Studio は頑固な関節自体を接続する場所を Studio に伝え、実行時に両方のアタッチメントを交差させます。
制限を構成する
あなたの付属物が重複する位置と回転方向を持つようになりましたので、HingeConstraint 制限のプロパティを構成して、あなたの付属物が毎秒どれだけの角度を回転させるか、およびエンジンが付属物に適用できる最大トルクを指定することができます。
前のテクニックと同様、サンプル Spinning Objects エクスペリエンスは、1000行ton-studsの定期的な角度のフォースをスピンするために、Y軸に沿って毎秒 3 個の付属品を回転させるために 1000 行の行動力を適用します。ただし、ベースの付属品が錨定されたオブジェクトで
ヒンジの制限を構成するには:
Class.HingeConstraint オブジェクトをヘッドに挿入する
- In the エクスプローラー ウィンドウ, 頭 の上にマウスポインタを置き、⊕ アイコンをクリックします。コンテキストメニューが表示されます。
- コンテキストメニューから ヒンジコンストリクト を挿入します。
プロペラのアタッチメントを新しい制限に割り当てると、プロペラがアンカーベースとの関係で 回転 するようになります。
- In the エクスプローラー ウィンドウ, select the constraint.
- In the プロパティ ウィンドウ,
- アタッチメント0 を ベースアタッチメント に設定します。
- アタッチメント1 を ヘッドアタッチメント に設定します。 階段がビューポートに表示されます。
In the エクスプローラー window, select the constraint, then in the プロパティ window,
- ActuatorType を Motor に設定します。新しいプロパティフィールドが表示されます。
- MotorMaxTorque を 1000 に設定して、ターゲットの角度速度を達成するために最大 1000 の行列力を適用します。
- AngularVelocity を 3 に設定して、プロペラの頭を 3 回転するたびに 3 回/秒回転させます。
設定したトルクの量が、Y軸に沿ってプロペラの 3 輪を回転させるかどうかを確認します。
In the menu bar, メニューバーで テスト タブに移動します。
シミュレーションセクションで、モードピッカーをクリックします。ドロップダウンメニューが表示されます。
Select 実行 . Studio は、3D 空間にあなたのアバターなしで現在のカメラポジションでエクスペリエンスをシミュレートします。
初期の角度フォースを適用する
オブジェクトの角度速度を変更する別の方法は、角力のインパルスを適用することです。角力のインパルスの後、オブジェクトは減速して、摩擦力などの反復的な力がない限り、静止になるか、速度を一致させます。摩擦力などの反復的な力がある場合は、速度を一致させます。
このテクニックは、強い風のような重要なゲームプレイや天気イベント後にオブジェクトをスピンするのに便利です。たとえば、強い風のような天気イベントでは、プレイヤーに即座にフィードバックを提供し、アダプトできる新しい値により、自分のゲームプレイ要件に対応できます。これを示すために、次のサブセクションでは、新しい値に対応できる最初
ApplyAngularImpulse を使用する
Class.BasePart.ApplyAngularImpulse|ApplyAngularImpulse メソッドは、Class.BasePart.ApplyAngularImpulse|ApplyAngularImpulse を使用して、Class.BasePart.ApplyAngularVelocity|ApplyAngularVelocity の初期速度を得るために、アセンブリ全体にトルクを適用します。アセンブリをスピンするには、メソッドは次のことを知る必要があります:
- 回転するアセンブリ。
- 回転速度を最初の角度速度に到達するための軸。
- 各軸に適用するトルクの量。
スクリプトでこれらの値をすべて定義できます。たとえば、サンプルスクリプトは、スクリプトの親としてアセンブリを回転させるように定義し、ランダムな角度の力のランダムなパルスを適用します。 0 と 100 行ton-studs の Y軸で。
Class.BasePart.ApplyAngularImpulse|ApplyAngularImpulse を使用してアセンブリを回転するには:
Insert a 球 part into the ワークスペース . The sample uses a 球 with a MaterialVariant so you can clearly visualize the 球's movement.
新しい部分にスクリプトを挿入します。
- In the エクスプローラー ウィンドウ, hover over the part and click the ⊕ ボタン. A コンテキストメニューが表示されます。
- メニューから スクリプトを挿入する 。
次のコードをデフォルトコードと交換します:
local part = script.Parentlocal impulse = Vector3.new(0, math.random(0, 100), 0)part:ApplyAngularImpulse(impulse)