Наткнулся на такое видео. Кто нибудь знает как это можно реализовать? Там есть объяснение но на английском я ничего не понял. Подскажите пожалуйста заранее спасибо!
описание как сделать. Английский язык.
Edited by pixel, 11 October 2017 - 22:59.
Best Answer SteelRat , 12 October 2017 - 21:37
/* create render surface */
// создание объекта в текстуру которого будет рендерится изображение с камеры
_bb = "Land_Billboard_F" createVehicle position player;
// создание поцедурной текстуры в которую будет идти рендер изображения с камеры
_bb setObjectTexture [0, "#(argb,512,512,1)r2t(uavrtt,1)"];
/* create uav and make it fly */
// создание беспилотника
uav = createVehicle ["B_UAV_01_F", _bb modelToWorld [0,100,100], [], 0, "FLY"];
createVehicleCrew uav;
uav lockCameraTo [_bb, [0]];
uav flyInHeight 100;
/* add loiter waypoint */
// создание точки вокруг которой будет кружиться беспилотник
_wp = group uav addWaypoint [position _bb, 0];
_wp setWaypointType "LOITER";
_wp setWaypointLoiterType "CIRCLE_L";
_wp setWaypointLoiterRadius 100;
/* create camera and stream to render surface */
// создание камеры изображение с которой будет рендерится в текстуру созданного выше билборда
cam = "camera" camCreate [0,0,0];
cam cameraEffect ["Internal", "Back", "uavrtt"];
/* attach cam to gunner cam position */
// аттачим созданную камеру к беспилотнику
cam attachTo [uav, [0,0,0], "PiP0_pos"];
/* make it zoom in a little */
// настраиваем зум камеры
cam camSetFov 0.1;
/* switch cam to thermal */
// настраиваем эффект отрисовки полученной с камеры картинки
"uavrtt" setPiPEffect [2];
/* adjust cam orientation */
addMissionEventHandler ["Draw3D", {
// этот код вызывается каждый фрейм, с целью коррекции направления камеры
_dir =
(uav selectionPosition "PiP0_pos")
vectorFromTo
(uav selectionPosition "PiP0_dir");
cam setVectorDirAndUp [
_dir,
_dir vectorCrossProduct [-(_dir select 1), _dir select 0, 0]
];
}];
Go to the full post
Posted 11 October 2017 - 22:56
Наткнулся на такое видео. Кто нибудь знает как это можно реализовать? Там есть объяснение но на английском я ничего не понял. Подскажите пожалуйста заранее спасибо!
описание как сделать. Английский язык.
Edited by pixel, 11 October 2017 - 22:59.
Posted 12 October 2017 - 21:37 Best Answer
/* create render surface */
// создание объекта в текстуру которого будет рендерится изображение с камеры
_bb = "Land_Billboard_F" createVehicle position player;
// создание поцедурной текстуры в которую будет идти рендер изображения с камеры
_bb setObjectTexture [0, "#(argb,512,512,1)r2t(uavrtt,1)"];
/* create uav and make it fly */
// создание беспилотника
uav = createVehicle ["B_UAV_01_F", _bb modelToWorld [0,100,100], [], 0, "FLY"];
createVehicleCrew uav;
uav lockCameraTo [_bb, [0]];
uav flyInHeight 100;
/* add loiter waypoint */
// создание точки вокруг которой будет кружиться беспилотник
_wp = group uav addWaypoint [position _bb, 0];
_wp setWaypointType "LOITER";
_wp setWaypointLoiterType "CIRCLE_L";
_wp setWaypointLoiterRadius 100;
/* create camera and stream to render surface */
// создание камеры изображение с которой будет рендерится в текстуру созданного выше билборда
cam = "camera" camCreate [0,0,0];
cam cameraEffect ["Internal", "Back", "uavrtt"];
/* attach cam to gunner cam position */
// аттачим созданную камеру к беспилотнику
cam attachTo [uav, [0,0,0], "PiP0_pos"];
/* make it zoom in a little */
// настраиваем зум камеры
cam camSetFov 0.1;
/* switch cam to thermal */
// настраиваем эффект отрисовки полученной с камеры картинки
"uavrtt" setPiPEffect [2];
/* adjust cam orientation */
addMissionEventHandler ["Draw3D", {
// этот код вызывается каждый фрейм, с целью коррекции направления камеры
_dir =
(uav selectionPosition "PiP0_pos")
vectorFromTo
(uav selectionPosition "PiP0_dir");
cam setVectorDirAndUp [
_dir,
_dir vectorCrossProduct [-(_dir select 1), _dir select 0, 0]
];
}];
Posted 13 October 2017 - 16:25
/* create render surface */ // создание объекта в текстуру которого будет рендерится изображение с камеры _bb = "Land_Billboard_F" createVehicle position player; // создание поцедурной текстуры в которую будет идти рендер изображения с камеры _bb setObjectTexture [0, "#(argb,512,512,1)r2t(uavrtt,1)"]; /* create uav and make it fly */ // создание беспилотника uav = createVehicle ["B_UAV_01_F", _bb modelToWorld [0,100,100], [], 0, "FLY"]; createVehicleCrew uav; uav lockCameraTo [_bb, [0]]; uav flyInHeight 100; /* add loiter waypoint */ // создание точки вокруг которой будет кружиться беспилотник _wp = group uav addWaypoint [position _bb, 0]; _wp setWaypointType "LOITER"; _wp setWaypointLoiterType "CIRCLE_L"; _wp setWaypointLoiterRadius 100; /* create camera and stream to render surface */ // создание камеры изображение с которой будет рендерится в текстуру созданного выше билборда cam = "camera" camCreate [0,0,0]; cam cameraEffect ["Internal", "Back", "uavrtt"]; /* attach cam to gunner cam position */ // аттачим созданную камеру к беспилотнику cam attachTo [uav, [0,0,0], "PiP0_pos"]; /* make it zoom in a little */ // настраиваем зум камеры cam camSetFov 0.1; /* switch cam to thermal */ // настраиваем эффект отрисовки полученной с камеры картинки "uavrtt" setPiPEffect [2]; /* adjust cam orientation */ addMissionEventHandler ["Draw3D", { // этот код вызывается каждый фрейм, с целью коррекции направления камеры _dir = (uav selectionPosition "PiP0_pos") vectorFromTo (uav selectionPosition "PiP0_dir"); cam setVectorDirAndUp [ _dir, _dir vectorCrossProduct [-(_dir select 1), _dir select 0, 0] ]; }];
Спасибо большое!