UDN
Search public documentation:

UsingKActorsJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 ホーム > 静的メッシュ > KActors の使用
UE3 ホーム > 物理 > KActors の使用
UE3 ホーム > レベルデザイナー > KActors の使用

KActors の使用


概要


動的な要素を使用することによって、ゲームの環境は生き生きしてきます。また、プレイヤーにとっては、リアリティが増します。リアルタイムの剛体シミュレーションによって制御されるオブジェクトを追加するには、KActor を使用します。このアクタは、1 個の StaticMesh (静的メッシュ) アセットを使用します。武器の発砲による力 (force) や特別な力をもつアクタを使用することによって押したり動かしたりすることができます。プレイヤーでさえも、それができます。このアクタは、マップに配置される木箱や樽のようなアイテムを追加するために非常に役立ちます。さらに、押して開くことができるドアや揺れるライトなどのような、より複雑なものにも使用することができます。すなわち、実質的にあらゆる物理主導のエフェクトに有効なのです。

配置


KActor をマップに配置するには、ビューポートの右クリックによるコンテキストメニューを使用します。

ALERT! 注意 : StaticMesh アセットは、KActor とともに使用されるために、コリジョンジオメトリを単純化している必要があります。

コンテクストメニュー

  1. Content Browser (コンテンツ ブラウザ) 内で、KActor としてマップに追加する StaticMesh を選択します。
    place_select.jpg
  2. メッシュを追加するビューポートで右クリックして、コンテキストメニューから Add RigidBody: [MeshAssetPath] (剛体を追加する: [メッシュ アセットパス]) を選択します。位置は正確でなくともかまいません。後で再配置、回転、スケーリングすることがいつでも可能です。
    place_context_add.jpg
  3. Property ウインドウ に表示されているように、 StaticMesh が KActor としてマップに配置されました。
    place_complete.jpg

KActor の設定

レベル内に KActor を配置した後に、プロパティを調整することによって、オブジェクトが正しい動作を取るようにしなければならない場合があります。

KActor
Damage Applies Impulse (ダメージによって推進力が適用される)
これが有効になっている場合は、KActor に与えられたダメージによって、推進力が適用され、オブジェクトがダメージ位置から動かされます。推進力の大きさは、与えられたダメージの DamageType (特に KDamageImpulse プロパティ) によって決まります。
Wake On Level Start (レベル起動時にアクティブ化)
これが有効になっている場合は、レベルが起動するとすぐに KActor がシミュレートします。デフォルトでは、レベル開始時の KActor はスリープ状態になっています。したがって、物理シミュレーションはアクティブではなく、外的な力によってアクティブ化されるまでは静的に見えます。これは、ある種の状況にはふさわしい設定です。たとえば、山のように木箱がある場合です。何らかのものによって作用を受けない限り、木箱は動かず、したがって、レベル開始時に即座にシミュレートされる必要がないことになります。しかし、レベル開始時に KActor をアクティブにする必要がある場合は、この Wake On Level Start プロパティを有効にすることができます。
Limit Max Physics Velocity (最大物理速度を制限する)
これが有効になっている場合は、 Max Physics Volocity (最大物理速度) プロパティにしたがって、KActor のベロシティ (速度) が制限されます。
Max Physics Volocity (最大物理速度)
Limit Max Physics Velocity が有効化されている場合に、KActor が移動する最大速度を指定します。
直立維持の弾性
Enable Stay Upright Spring (直立維持の弾性を有効化する)
これが有効になっている場合は、物理シミュレーションによって、トルク (回転力) が KActor の回転に適用され、KActor の直立 (KActor のローカルの Z 軸がワールドの Z 軸に平行である状態) が維持されます。
Stay Upright Torque Factor (直立維持のためのトルク係数)
KActor の直立を維持するために適用されるトルクの量です。この値は、KActor の直立状態までの距離に応じてスケーリングされます。
Stay Upright Max Torque (直立維持のための最大トルク)
KActor の直立を維持するために適用される最大トルク量です。この値は、スケーリングされた Stay Upright Torque Factor をクランプするために使用します。

他のアクタへの / からの変換


KActor は、ビューポートの右クリックコンテクストメニューによって、StaticMesh を表示する特定の他タイプのアクタに変換することができます。また、逆にそのようなアクタから KActor に変換することもできます。StaticMeshActor または InterpActor としてマップに以前に配置したメッシュを、KActor にしたい場合 (またはその逆の場合) に役立ちます。

KActor への変換

  1. ビューポート内で、KActor に変換するアクタを選択します。
    convert_select.jpg
  2. そのアクタ上で右クリックし、 Convert (変換) > Convert [CurrentActorType] to KActors ([現在のアクタタイプ] を KActor に変換) を選択します。
    convert_context.jpg
  3. Property ウインドウ に表示されているように、アクタが KActor に変換されました。
    convert_complete.jpg

KActor からの変換

KActor を他のタイプのアクタに変換するプロセスは、上記で示した、KActor への変換プロセスと同様です。KActor が変換できるタイプのアクタを、以下にリストしておきます。

マテリアルのオーバーライド


StaticMesh に適用されたマテリアル (複数も) は、アクタ単位にオーバーライドすることができます。こうすることによって、1 個の StaticMesh アセットを 1 個のマップで複数回使用することができるようになります。あるいは、ユニークな外見をもたせながらゲーム全体で使用することができるようになります。 Materials (マテリアル) プロパティは、KActor の StaticMeshComponent (静的メッシュ コンポーネント) の Rendering (レンダリング) カテゴリに置かれています。この Materials プロパティは、 Static Mesh Editor (静的メッシュ エディタ) を通じて StaticMesh アセットに適用されているマテリアルに直接マッピングするマテリアルの配列です。マテリアルは、手動で配列に割り当てることができます。あるいは、Content Browser (コンテンツ ブラウザ) からドラッグアンドドロップすることによって、ビューポート内のメッシュに直接適用することもできます。

手動による割り当て

  1. ビューポート内で、新たなマテリアルを割り当てる KActor を選択し、 F4 キーを押すことによって Property (プロパティ) ウインドウにあるプロパティを開きます。
    convert_complete.jpg
  2. DynamicSMActor の下にある StaticMeshComponentRendering カテゴリ内で、 add_item_button.jpg ボタンをクリックすることによって、新たなアイテムを Materials 配列に追加します。StaticMesh に 2 個以上のスロットがある場合は、2 個以上のアイテムを追加することができます。これは、配列のアイテムが、StaticMesh のマテリアル スロットと一致するためです。
  3. マップにおいて KActor に適用するマテリアルを Content Browser で見つけます。
    material_select.jpg
  4. Materials 配列内の対応するアイテムのための use_selected_button.jpg ボタンを押すことによって、マテリアルを割り当てます。これで、メッシュは、適用されたマテリアルで表示されるようになります。
    material_complete.jpg

ドラッグアンドドロップ

  1. マップにおいて KActor に適用するマテリアルを Content Browser から選択します。
    material_select.jpg
  2. Content Browser 内でマテリアルを左クリックし、左マウスボタンは押下したまま、Content Browser から、マテリアルを適用するビューポート内にある KActor のセクションまでマウスをドラッグします 。
    material_drag.jpg
  3. 左マウスボタンをリリースすることによって、マテリアルを適用します。これで、適用されたマテリアルをともなってメッシュが表示されるようになりました。また、Property ウインドウの Materials 配列も更新されています。
    material_complete.jpg

物理マテリアル


KActor がワールドとどのようにインタラクトするかを制御する物理プロパティは、StaticMesh アセットに適用される 物理マテリアル によります。物理シミュレーションの要素 (例 : 密度、摩擦、減衰など) は、すべて、PhysicalMaterial を通じて調整することが可能です。また、PhysicalMaterial によって、さまざまなコリジョンイベント (例 : 衝撃、サーフェスに沿ったスライド) で再生されるサウンドとパーティクル エフェクトを指定することもできます。

physmat_effect.jpg

物理マテリアルをオーバーライドする

PhysicalMaterial は、アクタ単位でオーバーライドすることができます。そのためには、新たな PhysicalMaterial を、KActor の StaticMeshComponent (静的メッシュ コンポーネント) に割り当てます。

  1. 新たな PhysicalMaterial を割り当てる KActor をビューポート内から選択し、 F4 ボタンを押して Property ウインドウでプロパティを開きます。
    physmat_properties.jpg
  2. マップにおいて KActor に適用するマテリアルを Content Browser から選択します。
    physmat_select.jpg
  3. DynamicSMActor の下にある StaticMeshComponentPhysics カテゴリ内で、 PhysMaterialOverride プロパティのための use_selected_button.jpg ボタンを押すことによって、PhysicalMaterial を割り当てます。
    physmat_complete.jpg

コンストレイントと KActor


KActor は、他の KActor とバインドさせたり、ワールドとバインドさせたりすることによって、 コンストレイント (制約) を使って動きを制限および制御することができます。 コンストレイント アクタを使用すると、特定の軸を中心とした KActor の回転と移動を制約することによって、ヒンジや玉継手、滑車などを作成することができます。また、動きや回転を制御することによって、スプリングやモーターを作成することもできます。

コンストレイントの全プロパティに関する詳細ならびに解説については、 物理コンストレイントのリファレンス のページを参照してください。

KActor を制約する

  1. 使用したいコンストレイントのタイプを Actor Classes ブラウザから選択します。
    constraint_class.jpg
  2. ビューポート内で、コンストレイントを配置したい場所を右クリックして、 Add [ConstraintType] Here (ここに [コンストレイント タイプ] を追加する) を選択します。 コンストレイントを配置した後でも、再配置と回転はいつでも可能です。
    constraint_add.jpg
  3. コンストレイントを選択して F4 を押すことによって、プロパティを表示します。[ Lock Selected Actors ] (選択したアクタをロックする) ボタンをクリックすることによって、Property ウインドウをロックします。
    constraint_lock.jpg
  4. KActor を選択し、さらに、 RB Constraint Actor カテゴリ内にある ConstraintActor1 プロパティのための use_selected_button.jpg ボタンをクリックします。赤いバウンディングボックスが KActor の周囲に表示され、 ConstraintAcotr1 プロパティによって制約されていることが示されます。青いバウンディングボックスがあれば、それは、 ConstraintActor2 プロパティに制約されているアクタを示します。
    constraint_actor.jpg
    ConstraintActor2 プロパティは空のままです。このコンストレイントは、KActor をコンストレイント アクタの位置でワールドに制約します。
  5. 望ましいプロパティをコンストレイント上でセットします。この例では、twist axis (ひねり軸) を中心とした回転を、90 度に制約しているのみです。
    constraint_limit.jpg
  6. インゲームで制約された KActor をテストしています。力が加わるとスイングするようになりました。
    constraint.jpg