1

Blender ゲーム エンジン用の Blender のエディタ内にいくつかのスクリプトを作成しました。Burster プラグインを使用してブレンド ファイルを表示しています (プラグインの詳細はこちら)

バースター プラグインが .blend ファイルをオンラインで表示すると、ファイルの読み取りまたは書き込みができないことを知ったので、データを保存するための別の解決策を探しました。Blender ゲーム エンジンで globalDict にデータを入力しています。

データはスクリプト内から手動で読み込まれるため、これにより (ここで何かが欠けていない限り... 疲れなど)、データを永続化できます。私がこれを行うのは、ブレンド ファイルを 1 回開いてから Burster を介して次のファイルを開くまで、スクリプトが持続しているように見えるからです。

だから、私の質問に:

  1. 上記のセットアップ (Blender -> Burster) を使用してデータの永続化を行うより良い方法はありますか?

  2. そうでない場合 (またはそうであっても)、Blender 内で作成、編集、保存した Python スクリプトを Blender が保存する場所を知りたいです。

アドバイスや助けをいただければ幸いです。

4

3 に答える 3

1

ゲームオブジェクトに属性を設定できます。

    import bge

    def main():
        cont = bge.logic.getCurrentController()
        own = cont.owner
        x = 2
        own["x"] == x

    main()

今それにアクセスします。

    import bge

    def main():
        scene = GameLogic.getCurrentScene()
        cont = bge.logic.getCurrentController()
        own = cont.owner

        obj = scene.objects["obj"]

        x = obj["x"]
    main()

そしてblenderはそのファイルを.blendファイル内に保存します。ブレンダーなしでそれらにアクセスする方法がわかりません。

于 2012-11-15T04:11:27.247 に答える
1

それは実際には、どのような「持続性」を求めているかによって異なります。

ゲーム中にデータを保持したい場合は、logic.globalDict を使用する必要があります。これは、シーン間で保持される唯一の構造であるためです。

于 2012-10-08T20:55:55.757 に答える
0

設計上、Burster プラグインは永続データをユーザーのコンピューターに保存できません。Burster の作成者は、非常に深刻なセキュリティ上の問題をいくつか示した後、この必要な制限を行いました (また、ゲームの自動起動もオフにしました)。

Burster ができることとできないことの詳細については、http://geta3d.com/index.php?option=com_content&view=article&id=20&Itemid=23 を 参照してください。

Cookie のサポート (ゲームの状態をブラウザーに保存できるようにする) は計画された機能でしたが、Burster の開発がまだ進行中であるかどうかはわかりません。

于 2015-07-02T19:38:38.093 に答える