これは非常に基本的な質問です。私はArmaスクリプトに慣れ親しんでおり、動いている車両(pickup_truckという名前)の周りにバウンディングボックスを作ろうとしています。このスクリプトを実行するにはどうすればよいですか? http://www.armaholic.com/page.php?id=30924 例:[pickup_truck] execVM "bb_object_1.sqf"; 私はこのスクリプト(http://killzonekid.com/arma-3-bounding-box-utility/)を手に入れることができましたが、バウンディングボックスは車両と一緒に動かない!Arma 3スクリプトを使用したバウンディングボックス
0
A
答えて
0
これは、「Draw3D」ミッション・イベント・ハンドラの外側で定義された車両のオブジェクトbboxです。いったん定義されると、この変数はイベントハンドラコードで変更されません。
元、KKの例では、移動中の車の周りにバウンディングボックスを表示するようには設計されていません。
移動車両の周囲にバウンディングボックスを表示する場合は、イベント発生ごと(イベントハンドラコード内)にbbox変数を定義する必要があります。次に、各フレームで境界ボックス点の座標が実際になります。
addMissionEventHandler
関数は、ハンドラコード内でパラメータを渡すことを許可していません。したがって、KKの例では、グローバル変数bbox
とbboxr
を使用して、イベントハンドラコードからのアクセスのバウンディングボックス情報を格納していました。
このような場合、私は機能BIS_fnc_addStackedEventHandler
を使用することを好む。この解決策では、イベントハンドラコード(pickup_truck以下のコード)にパラメータを渡すことができます。
採用KKの例:
[
"Whatever_EVH_Name_You_Want",
"onEachFrame",
{
private _veh = _this select 0;
private _bb = {
_bbx = [_this select 0 select 0, _this select 1 select 0];
_bby = [_this select 0 select 1, _this select 1 select 1];
_bbz = [_this select 0 select 2, _this select 1 select 2];
_arr = [];
0 = {
_y = _x;
0 = {
_z = _x;
0 = {
0 = _arr pushBack (_veh modelToWorld [_x,_y,_z]);
} count _bbx;
} count _bbz;
reverse _bbz;
} count _bby;
_arr pushBack (_arr select 0);
_arr pushBack (_arr select 1);
_arr
};
private _bbox = boundingBox _veh call _bb;
private _bboxr = boundingBoxReal _veh call _bb;
for "_i" from 0 to 7 step 2 do {
drawLine3D [
_bbox select _i,
_bbox select (_i + 2),
[0,0,1,1]
];
drawLine3D [
_bboxr select _i,
_bboxr select (_i + 2),
[0,1,0,1]
];
drawLine3D [
_bbox select (_i + 2),
_bbox select (_i + 3),
[0,0,1,1]
];
drawLine3D [
_bboxr select (_i + 2),
_bboxr select (_i + 3),
[0,1,0,1]
];
drawLine3D [
_bbox select (_i + 3),
_bbox select (_i + 1),
[0,0,1,1]
];
drawLine3D [
_bboxr select (_i + 3),
_bboxr select (_i + 1),
[0,1,0,1]
];
};
},
[pickup_truck]
] call BIS_fnc_addStackedEventHandler;
関連する問題
- 1. ARMAモデルを使用した統計モデル
- 2. PythonのARMA/ARIMAを使用した線形回帰モデル
- 3. 'arma :: umat'から 'arma :: mat'への変換
- 4. タイムシリーズ - フィッティングARMAモデル
- 5. バウンディングボックスを使用したXNA衝突検出
- 6. Arma 2 DayZエポックSQLデッドボディクリーナー
- 7. tensorflowとinception-v3を使用するバウンディングボックス
- 8. bcdeditを使用したスクリプト
- 9. ARMA :: rowvec ::ベクトル<int>
- 10. magrittrフォワードパイプを使用してARMAモデルを使用してループすることができません
- 11. GDALのogr2ogrを使用してバウンディングボックスを作成する方法
- 12. ループARMAモデルの推定に
- 13. バウンディングボックス
- 14. ラップされたテキストのバウンディングボックス
- 15. .htaccess index.phpスクリプトを使用したサブディレクトリ
- 16. bashスクリプトを使用した非コミット・ライン
- 17. phpスクリプトを使用したリンゴプッシュ通知
- 18. if/elseを使用したLinuxスクリプト
- 19. Expression Engineスクリプトを使用したCronジョブ
- 20. 次のスクリプトを使用した作業
- 21. パスワードレスSSHのスクリプトを使用したセットアップ
- 22. PHPスクリプトを使用したHTMLフォーム
- 23. VBスクリプトを使用したSAPマクロ
- 24. スクリプト言語を使用したC++ユニットテスト
- 25. 強制スクリプトインターフェイスを使用したRoslynスクリプト
- 26. スクリプトを使用したMeteor Appのデプロイ
- 27. insertbeforeスクリプトを使用したJqueryのホバー
- 28. VBスクリプトを使用したFlashインストール
- 29. Android Publisherを使用したMemoryError upload.pyスクリプト
- 30. Pythonスクリプトを使用したNode.jsアプリケーション