Dev:JA/Ref/Release Notes/2.66/Game Engine

提供: wiki
< Dev:JA‎ | Ref/Release Notes‎ | 2.66
2018年6月29日 (金) 05:53時点におけるYamyam (トーク | 投稿記録)による版 (1版 をインポートしました)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

Blender 2.66: ゲームエンジン

キャラクター(Character)物理演算

  • maxJumps を KX_CharacterWrapper に追加、キャラクターが地面に着く前にジャンプできる数を調整できます。デフォルトでは 1 で、これはキャラクターが地面に再び触れる前まで一度だけジャンプできることを示します。2にすると二回ジャンプできます。
  • jumpCount を KX_CharacterWrapper に追加。これはシングルジャンプ用とダブルジャンプ用に別々のロジックを使用できます。例えば、二回目のジャンプには違うアニメーションを行うなど。
  • KX_CharacterWrapper の gravity 用の "float" のデフォルトが減らされました。
  • モーション(Motion)アクチュエーターに、キャラクター用コントロールのキャラクターモーション(Character Motion)タイプを追加。移動、回転、ジャンプがあります。
2.66の新しいキャラクターモーション(Character Motion)アクチュエーター
  • KX_CharacterWrapper.walkDirection を追加。キャラクターの方向をスピードを設定できます。KX_GameObject.applyMovement()は2.64のキャラクターコントローラー用の挙動に戻されました。2.65では applyMovement()が裏で walkDirection を使用していましたが、いくつか問題を起こしていました。

プロファイラー

プロファイルとデバッグプロパティ表示がクリーンアップされました。棒グラフが表示され、ボトルネックがもっとわかりやすくなりました。

2.66のゲームエンジンプロファイルの変更のスクリーンショット

アルファシャドウAlpha Shadows

シンプル(Simple)シャドウマップ用のアルファシャドウマップに暫定的に対応。ビューでの表示や分散(Valiance)シャドウマップには対応していません。

Blender 2.66でシンプル(Simple)シャドウマップを使用したアルファシャドウ

非同期の LibLoad

LibLoad が非同期で行えるようになりました。これはライブラリの読み込みが別スレッドで行われ、ゲームエンジンがフリーズするのを避けるということです。以下はドキュメントからのサンプルです。

# Print a message when an async LibLoad is done
import bge

def finished_cb(status):
    print("Library (%s) loaded in %.2fms." % (status.libraryName, status.timeTaken))

bge.logic.LibLoad('myblend.blend', 'Scene', async=True).onFinish = finished_cb

LibLoad()がライブラリ読み込み時の情報用の KX_LibLoadStatus オブジェクトを返すように。LibNew() と LibFree() へのこれによる影響はありません。別の言い方をすると、この async オプションは LibLoad() でのみ動作します。さらにこれは Scene のみで、Action や Mesh では動作しません。

注意:この機能はまだ実験段階で、いくつかのシーンでは不安定になる可能性があります。

Python ジョイスティック

ロジックブリックなしでジョイスティックを処理する Python インターフェイスが追加されました。新しい SCA_PythonJoystick オブジェクトはジョイスティックのリストである bge.logic.joysticks からアクセスできます。リストの長さは対応するジョイスティックの最大数で、利用可能なジョイスティックがないインデックスには None がセットされます。要は以下のコードを使用してジョイスティックをチェックできます。

if bge.logic.joysticks[0]:
    activate_player_one()

if bge.logic.joysticks[1]:
    activate_player_two()

# etc..

SCA_PythonJoystick により公開されるインターフェイスはジョイスティック(Joystick)ロジックブリックに非常によく似ていますが、一つだけ違うところがあります。それは軸(axis)の値が-32767から32767ではなく、-1.0から1.0の範囲に正規化されていることで、これはロジックブリックが公開している物です。