nomisum 129 Posted July 11, 2015 Hi,if u talk about mission export, then please use original Arma 3 objects only, so all objects without "xcam_" at the beginning. Silola Ah, good to know! I'm currently in the process of using X-Cam for the first time significantly for a mission. Still I am amazed about the quality of the tool. If I could wish for something featurewise it would be pitch/tilt (which is already in the plans) and the possibility to easily change the daytime (currently I exit X-Cam, go to Camera, change time and reload X-Cam). I also discovered there is a little precision loss when using slope adjust - after reloading the project some items are a bit off (see pavement in screenshot) http://i.imgur.com/PJydfsE.jpg (520 kB) Share this post Link to post Share on other sites
rafal007111 11 Posted July 11, 2015 (edited) Ah, good to know!I'm currently in the process of using X-Cam for the first time significantly for a mission. Still I am amazed about the quality of the tool. If I could wish for something featurewise it would be pitch/tilt (which is already in the plans) and the possibility to easily change the daytime (currently I exit X-Cam, go to Camera, change time and reload X-Cam). I also discovered there is a little precision loss when using slope adjust - after reloading the project some items are a bit off (see pavement in screenshot) You can change daytime by switching "Detecion Distance" button on bottom of screen to "Daytime" and use + & - Edited July 11, 2015 by rafal007111 Share this post Link to post Share on other sites
nomisum 129 Posted July 11, 2015 You can change daytime by switching "Detecion Distance" button on bottom of screen to "Daytime" and use + & -http://i.imgur.com/LifKpfV.png Thanks. I should have rewatched the tutorial videos I suppose :rolleyes: Btw what are the potential downsides of using xcam_objects for missions? I already used lots of them and dont want to switch everything. Interaction/destruction is not necessary on those anyway. Share this post Link to post Share on other sites
Aus 10 Posted July 11, 2015 Silola I'm having issues with bounding box, It's not saving the values, so when copying objects I need to redo this continually Share this post Link to post Share on other sites
silola 1086 Posted July 11, 2015 Hi, @nomisum: I will check the "precision loss", but so far I've never had this problem. Is the difference visible between project > mission/script export or save project > load project ? @Aus: Make sure you have activated the option to load the user-defined copy distance "automaticly" (the option button below the [CD] Button) Within the yesterday's twitch stream I saw it was de-activated ;) @All: I have some trouble about the pitch/bank function, because under certain conditions (pitch or bank) the getposATL and setposATL works with a different result. This difference is not valid, if I use getposWorld > setposWorld, but this command workls like the getposASL and setposASL command. So I think I will make this function available only in connection with the ASL function....that's my current solution :mad: Silola Share this post Link to post Share on other sites
nomisum 129 Posted July 11, 2015 @nomisum: I will check the "precision loss", but so far I've never had this problem. Is the difference visible between project > mission/script export or save project > load project ? Its between save project -> load project. I can give you the files or build a sample mission, if you need them for debugging. The Map it happened on is VT5. (http://forums.bistudio.com/showthread.php?192994-WIP-VT5-Valtatie-5-release-v-0-1-Finnish-terrain-for-A3) Share this post Link to post Share on other sites
silola 1086 Posted July 11, 2015 Ok, but please check also the mission export, and tell me if you get the same (bad) result. Thanks :) Silola Share this post Link to post Share on other sites
nomisum 129 Posted July 11, 2015 (edited) Ok, but please check also the mission export, and tell me if you get the same (bad) result.Thanks :) Silola Yes, its the same with mission export. I will test this on other maps tomorrow if I can make a sample mission without dependencies. Edit: I did 2 short videos to demonstrate the effect on Stratis. Maybe this clears up whether this is intentional. I try to bring the sloped road down a bit, but after deselecting -> reselecting its on default ATL again. Same when saving and reloading the project. Edited July 12, 2015 by nomisum Share this post Link to post Share on other sites
killshot 5 Posted July 13, 2015 Thank you so much for this outstanding piece of art and your remarkable "customer service"! Such an important work you have done that should have already been done by Bohemia a decade ago. And I'm also totally looking forward to the units/vehicles/weapons-part in the future of your project! Incredibly awesome :bounce3: Share this post Link to post Share on other sites
silola 1086 Posted July 13, 2015 Thanks for the vids, nomisum. I will check it out. @killshot: Many thanks for the nice words :) Silola Share this post Link to post Share on other sites
alganthe 74 Posted July 13, 2015 I'll never make a mission without X-cam, it's just incredibly useful I don't know why nobody though of doing this before. Very good work Silola, keep it up :D Share this post Link to post Share on other sites
Aus 10 Posted July 14, 2015 Hi,@nomisum: I will check the "precision loss", but so far I've never had this problem. Is the difference visible between project > mission/script export or save project > load project ? @Aus: Make sure you have activated the option to load the user-defined copy distance "automaticly" (the option button below the [CD] Button) Within the yesterday's twitch stream I saw it was de-activated ;) @All: I have some trouble about the pitch/bank function, because under certain conditions (pitch or bank) the getposATL and setposATL works with a different result. This difference is not valid, if I use getposWorld > setposWorld, but this command workls like the getposASL and setposASL command. So I think I will make this function available only in connection with the ASL function....that's my current solution :mad: Silola Doh.... thanks Silola Share this post Link to post Share on other sites
killshot 5 Posted July 14, 2015 I have a question about the mission maker part of xCam. I would like to know if there is a way to have objects deleted, due to performance reasons of course? Spawn objects via xCamExport.sqf -> let players do the task and leave the area -> delete xCamExport.sqf-objects. xCamXport.sqf private ["_obj","_dat","_cString","_adString"]; _obj = objNull;_dat = [];_adString = "CAN_COLLIDE"; _cString = {_obj = createVehicle [(_dat select 0), call compile (_dat select 1), [], 0, _adString];if((_dat select 4) == 0) then {_obj enableSimulation false};_obj setdir (_dat select 2);if((_dat select 3) == -100) then {_obj setposATL (call compile (_dat select 1))} else {_obj setposASL [((call compile (_dat select 1)) select 0),((call compile (_dat select 1)) select 1),(_dat select 3)]};if((_dat select 5) == 0) then {_obj setVectorUp [0,0,1]} else {_obj setVectorUp (surfacenormal (getPosATL _obj))};if(count (_dat select 6) > 0) then {{call _x} foreach (_dat select 6)}}; _dat = ["UralWreck","[1870.203125,5703.727051,0]",132.314,-100,1,0,[]];call _cString; _dat = ["Land_GarbageContainer_closed_F","[1868.182495,5696.157715,0]",303.49,-100,1,0,[]];call _cString; _dat = ["Land_cargo_addon01_V1_F","[1868.182495,5696.157715,0]",303.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyres_F","[1871.369019,5702.731934,1.77752]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Garbage_line_F","[1868.481079,5695.0405273,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Garbage_square3_F","[1868.481079,5695.0405273,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyre_F","[1867.447021,5703.179688,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyre_F","[1868.509766,5702.548828,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_BarGate_F","[1883.146851,5698.54541,0]",103.49,-100,1,0,[]];call _cString; _dat = ["Land_Table_EP1","[1864.0161133,5694.772461,0]",142.996,-100,1,0,[]];call _cString; _dat = ["FloorMop","[1863.653564,5695.608398,0]",142.996,-100,1,0,[]];call _cString; _dat = ["SmallTV","[1864.343018,5694.71582,0.875487]",258.854,-100,1,0,[]];call _cString; _dat = ["EvMoney","[1864.0554199,5694.316406,0.845836]",258.854,-100,1,0,[]];call _cString; sleep 0.5; hint "Prefab loaded"; Regards. :) Share this post Link to post Share on other sites
naizarak 4 Posted July 15, 2015 I have a question about the mission maker part of xCam. I would like to know if there is a way to have objects deleted, due to performance reasons of course?Spawn objects via xCamExport.sqf -> let players do the task and leave the area -> delete xCamExport.sqf-objects. xCamXport.sqf private ["_obj","_dat","_cString","_adString"]; _obj = objNull;_dat = [];_adString = "CAN_COLLIDE"; _cString = {_obj = createVehicle [(_dat select 0), call compile (_dat select 1), [], 0, _adString];if((_dat select 4) == 0) then {_obj enableSimulation false};_obj setdir (_dat select 2);if((_dat select 3) == -100) then {_obj setposATL (call compile (_dat select 1))} else {_obj setposASL [((call compile (_dat select 1)) select 0),((call compile (_dat select 1)) select 1),(_dat select 3)]};if((_dat select 5) == 0) then {_obj setVectorUp [0,0,1]} else {_obj setVectorUp (surfacenormal (getPosATL _obj))};if(count (_dat select 6) > 0) then {{call _x} foreach (_dat select 6)}}; _dat = ["UralWreck","[1870.203125,5703.727051,0]",132.314,-100,1,0,[]];call _cString; _dat = ["Land_GarbageContainer_closed_F","[1868.182495,5696.157715,0]",303.49,-100,1,0,[]];call _cString; _dat = ["Land_cargo_addon01_V1_F","[1868.182495,5696.157715,0]",303.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyres_F","[1871.369019,5702.731934,1.77752]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Garbage_line_F","[1868.481079,5695.0405273,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Garbage_square3_F","[1868.481079,5695.0405273,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyre_F","[1867.447021,5703.179688,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyre_F","[1868.509766,5702.548828,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_BarGate_F","[1883.146851,5698.54541,0]",103.49,-100,1,0,[]];call _cString; _dat = ["Land_Table_EP1","[1864.0161133,5694.772461,0]",142.996,-100,1,0,[]];call _cString; _dat = ["FloorMop","[1863.653564,5695.608398,0]",142.996,-100,1,0,[]];call _cString; _dat = ["SmallTV","[1864.343018,5694.71582,0.875487]",258.854,-100,1,0,[]];call _cString; _dat = ["EvMoney","[1864.0554199,5694.316406,0.845836]",258.854,-100,1,0,[]];call _cString; sleep 0.5; hint "Prefab loaded"; Regards. :) just add each object to an array and then iterate with deleteVehicle Share this post Link to post Share on other sites
killshot 5 Posted July 15, 2015 just add each object to an array and then iterate with deleteVehicle I know how to do this, when I create a simple spawn script by myself: _obj1 = "UralWreck" createVehicle getPos player; _obj2 = "Land_GarbageContainer_closed_F" createVehicle getPos player; _obj3 = "Land_cargo_addon01_V1_F" createVehicle getPos player; hint "Spawned!"; sleep 0.5; _allObjs = [_obj1,_obj2,_obj3]; sleep 0.5; {deleteVehicle _x} forEach _allObjs; hint "Deleted!"; /* Or instead of array list: for "_del" from 1 to 3 do {call compile format ["deleteVehicle _obj%1",_del]}; */ But how exactly am I able to do so in the case of xCam exported sqf? :) Share this post Link to post Share on other sites
rafal007111 11 Posted July 15, 2015 Nice, now i can realize some ideas in metro. Thanks Silola :D Share this post Link to post Share on other sites
silola 1086 Posted July 15, 2015 (edited) I know how to do this, when I create a simple spawn script by myself:But how exactly am I able to do so in the case of xCam exported sqf? :) Hi killshot, You can do it as follows: For example you have 5 different areas and each area contains 5 different camps. It's important to save the different areas in different projects within X-Cam in order to get 5 different script files at the end. You need also 5 different empty (global) arrays, to store all the objects there. For example: Mission_Area_A = [];Mission_Area_B = [];Mission_Area_C = [];Mission_Area_D = [];Mission_Area_E = []; Now, within X-Cam, load the first project (for example "Mission_Area_A") and select all objects (press [Return] to start a frame selection). If you can see the blue boundingbox around the objects, open the "Object info" window and press the Button (see picture 1) [/img] The next step is to insert an init code for all the selected objects. Please enter this code into the edit field (see picture 2): [{Mission_Area_A pushback _obj}] ... and press [Ok]. [/img] Press the [spacebar] and save this project. The last step is to export this project as a script file. Now load the second project (for example "Mission_Area_B") and go on with the same steps: Select all objects, press the button, enter the init code ... now: [{Mission_Area_B pushback _obj}], save the project, export the project ... and so on ... until u have saved the init code for all objects within the different projects/areas. Now u need a (server side only) script, to control the different areas (load or delete the respective objects). I don't want to give u the complete solution, but here a small overview: You have to control each area about player units. So, at the beginning of the mission you have to check if at least one player unit is within area A. If yes, start the respective script to create all the objects. If not, wait until the first player unit reachs the area A. Do the same for all the other areas of course. If u want to delete all objects within area C, for example, because no player unit is near this area, you can do it as follows: {deletevehicle _x} foreach Mission_Area_C; And if you want to create the objects again, start the respective script again ... so, it's very easy I think. Silola Edit: if you delete all objects of one area, then it's important to clear the respective array .... Mission_Area_C = [] ... for example ;-) Edited July 15, 2015 by Silola Share this post Link to post Share on other sites
naizarak 4 Posted July 15, 2015 I know how to do this, when I create a simple spawn script by myself:But how exactly am I able to do so in the case of xCam exported sqf? :) private ["_obj","_dat","_cString","_adString"]; [b]toDelete = [];[/b] _obj = objNull;_dat = [];_adString = "CAN_COLLIDE"; _cString = {_obj = createVehicle [(_dat select 0), call compile (_dat select 1), [], 0, _adString]; [b]toDelete pushBack _obj;[/b] if((_dat select 4) == 0) then {_obj enableSimulation false};_obj setdir (_dat select 2);if((_dat select 3) == -100) then {_obj setposATL (call compile (_dat select 1))} else {_obj setposASL [((call compile (_dat select 1)) select 0),((call compile (_dat select 1)) select 1),(_dat select 3)]};if((_dat select 5) == 0) then {_obj setVectorUp [0,0,1]} else {_obj setVectorUp (surfacenormal (getPosATL _obj))};if(count (_dat select 6) > 0) then {{call _x} foreach (_dat select 6)}}; _dat = ["UralWreck","[1870.203125,5703.727051,0]",132.314,-100,1,0,[]];call _cString; _dat = ["Land_GarbageContainer_closed_F","[1868.182495,5696.157715,0]",303.49,-100,1,0,[]];call _cString; _dat = ["Land_cargo_addon01_V1_F","[1868.182495,5696.157715,0]",303.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyres_F","[1871.369019,5702.731934,1.77752]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Garbage_line_F","[1868.481079,5695.0405273,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Garbage_square3_F","[1868.481079,5695.0405273,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyre_F","[1867.447021,5703.179688,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_Tyre_F","[1868.509766,5702.548828,0]",48.49,-100,1,0,[]];call _cString; _dat = ["Land_BarGate_F","[1883.146851,5698.54541,0]",103.49,-100,1,0,[]];call _cString; _dat = ["Land_Table_EP1","[1864.0161133,5694.772461,0]",142.996,-100,1,0,[]];call _cString; _dat = ["FloorMop","[1863.653564,5695.608398,0]",142.996,-100,1,0,[]];call _cString; _dat = ["SmallTV","[1864.343018,5694.71582,0.875487]",258.854,-100,1,0,[]];call _cString; _dat = ["EvMoney","[1864.0554199,5694.316406,0.845836]",258.854,-100,1,0,[]];call _cString; sleep 0.5; hint "Prefab loaded"; then when you have to get rid of them: { deleteVehicle _x } forEach toDelete; Share this post Link to post Share on other sites
killshot 5 Posted July 15, 2015 Thanks a lot for your quick and detailed responses, guys! Both ways did work for me. :) And of course I used your new double-lmb function for frame selection. :D Share this post Link to post Share on other sites
silola 1086 Posted July 15, 2015 Thanks a lot for your quick and detailed responses, guys! Both ways did work for me. :)And of course I used your new double-lmb function for frame selection. :D LOL ... I'm not perfect. Share this post Link to post Share on other sites
rec 10 Posted July 19, 2015 I've started creating a small outpost and added some lights, but when i turned the time to night, the lights were on, but they didn't light the ground, how can i make them work properly? Share this post Link to post Share on other sites
rafal007111 11 Posted July 19, 2015 (edited) I've started creating a small outpost and added some lights, but when i turned the time to night, the lights were on, but they didn't light the ground, how can i make them work properly? and that for many of the objects (change to SI to 1), if you export with enable simulation "false". Edited July 19, 2015 by rafal007111 Share this post Link to post Share on other sites