10

初期化スクリプトに、インタラクティブなBlenderアプリケーション(必ずしもゲームではない)に必要な追加のセンサー/コントローラー/アクチュエーターを作成させたいと思います。これは、次の2つの理由で推奨されます。

  • このスクリプトは複数のアプリケーションで使用できます。共通論理を何度も作成するのは面倒です。そして、AFAIKをインポートする他の方法はありません。
  • 私はコーダーなので、Pythonモジュールでロジックブリックを作成する方がはるかに簡単で快適です。(...そしてコードはバージョン管理、ピアレビュー、簡単に文書化などが可能です)

実際にテンプレートファイルを作成すると、最初の問題に部分的に対処できます。しかし、プロジェクトごとに異なるパーツを組み合わせたり、組み合わせたりすることはできません。または、可能性ごとにテンプレートを作成する必要があります。

ゲームエンジンのドキュメントPythonAPIの両方を検索しましたが、手がかりが見つかりませんでした。__init__ロジックブリックのメソッドはそこにリストされていません。

しかし、Python内で動的にロジックブリックを作成する方法がある場合は、それを試してみたいと思います。

注: BGEに関する私の限られた知識では、たとえば、Pythonから直接キーを押すことにアクセスすることはできません。センサーが必要です。

4

2 に答える 2

6

これが本当に古い投稿であることは知っていますが、情報は古くなっています。Python でアクチュエーターとセンサーを追加できるようになりました: http://www.blender.org/documentation/blender_python_api_2_60_6/bpy.ops.logic.html

他の誰かが情報を探している場合。

于 2013-06-08T19:47:34.137 に答える
2

そのため、Python から直接ロジック ブリックを作成する方法はありません。

BGE でオブジェクトをインスタンス化すると (オブジェクト アクチュエーターの追加など)、インスタンス化されたオブジェクトのロジック ブリックが付属します。センサー、コントローラー、アクチュエーターの再配線を含め、それらを変更および再配置できます。

これが現在の回避策だと思います。一般的なセンサー、コントローラー、アクチュエーターの空のマトリックスを作成し、新しいオブジェクトをシーンに追加するときに、ロジック ブロックのパラメーターを入力して必要な配線を行う関数を呼び出します。

于 2010-07-14T14:07:51.147 に答える