Outerra forum

User mods, screenshots & videos => Vehicles => Tracked vehicles => Topic started by: TruenoCraft on June 26, 2015, 10:00:33 am

Title: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 26, 2015, 10:00:33 am
Hello everyone, here I present the Vanguard of PlanetSide 2. (My first project)
I hope you like it, because it is only a static object.

Sorry for my english. =|

Images:
(http://www.mediafire.com/convkey/f1d4/axzdciwb030s0aszg.jpg)
(http://www.mediafire.com/convkey/c8dc/0uqn6do95cd9k9qzg.jpg)
(http://www.mediafire.com/convkey/4d3d/igfypp5qq2t4fsazg.jpg)
(http://www.mediafire.com/convkey/58b2/m9dil4jdgm69qcizg.jpg)
(http://www.mediafire.com/convkey/f98c/57uvhz7d53dzdpxzg.jpg)

Video:
http://www.youtube.com/watch?v=K5Q50Aip8jM (http://www.youtube.com/watch?v=K5Q50Aip8jM)

Download Vanguard (http://www.mediafire.com/download/z6f24k2i1utevi4/Vanguard.rar)

Title: Re: PlanetSide 2 Vanguard
Post by: BijiHunter on June 26, 2015, 11:31:36 am
I love you <3!

Hopefully we can make it drive.
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 26, 2015, 11:39:06 am
I love you <3!

Hopefully we can make it drive.
Thank you very much  ^-^
Yes, I would also like to see it move.
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 26, 2015, 01:03:45 pm
at least turret movement  ....
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 26, 2015, 01:30:33 pm
at least turret movement  ....
Yes, is the very good idea.
Title: Re: PlanetSide 2 Vanguard
Post by: ZeosPantera on June 26, 2015, 02:03:02 pm
Sweet.
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 26, 2015, 02:19:14 pm
Well, basically, taking the tiger-tank script and just put the vanguards mesh-names in it should go. (off course, things must be checked as bones during import)
Title: Re: PlanetSide 2 Vanguard
Post by: Jagerbomber on June 26, 2015, 05:40:33 pm
NC scum...
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 27, 2015, 12:57:21 am
NC scum...
Sorry, but NC only wants freedom. (I imagine you're from TR)
Title: Re: PlanetSide 2 Vanguard
Post by: Jagerbomber on June 27, 2015, 01:15:30 am
Actually VS.  :P
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 27, 2015, 06:32:08 am
Actually VS.  :P
:D not bad
Title: Re: PlanetSide 2 Vanguard
Post by: Jagerbomber on June 27, 2015, 03:40:55 pm
Not good either...  >:D

 :P
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 28, 2015, 07:02:22 am
Well, basically, taking the tiger-tank script and just put the vanguards mesh-names in it should go. (off course, things must be checked as bones during import)
For me it is very complicated animate objects, sorry  =|
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 28, 2015, 07:37:12 am
Well, basically, taking the tiger-tank script and just put the vanguards mesh-names in it should go. (off course, things must be checked as bones during import)
For me it is very complicated animate objects, sorry  =|

 ... well ... then slap the model (max or blender file) up here ... well build some Frankenstein-defibrilator for tanks.  =D
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 28, 2015, 08:09:26 am
Well, basically, taking the tiger-tank script and just put the vanguards mesh-names in it should go. (off course, things must be checked as bones during import)
For me it is very complicated animate objects, sorry  =|

 ... well ... then slap the model (max or blender file) up here ... well build some Frankenstein-defibrilator for tanks.  =D
Ok,here you have.
Download (http://www.mediafire.com/download/f9q10r1ycmb5i09/Vanguard%282%29.rar)
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 28, 2015, 02:26:49 pm
... on what version of Max was it created ? ... i have 2010 and it wont open ... i could import the separate .obj parts, but for some reason, after exporting it to into one .obj file (cause i want to work on it in Blender, so i must export it out), all UVs are a mess (pieces of them are all around and owerlaping --- evidently, the max file has them located right, but the .obj´s in some other arrangement system). 

 ... could you try to export the model to .obj for me from your max program (or someone) ? Some changes need to be done, its just as a static model, so the cannon and turret is one mesh, leading wheels and the body too, etc. so id have to do some splitting to make it animated. Just need them damned UVs as they should ...
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 28, 2015, 03:13:47 pm
... on what version of Max was it created ? ... i have 2010 and it wont open ... i could import the separate .obj parts, but for some reason, after exporting it to into one .obj file (cause i want to work on it in Blender, so i must export it out), all UVs are a mess (pieces of them are all around and owerlaping --- evidently, the max file has them located right, but the .obj´s in some other arrangement system). 

 ... could you try to export the model to .obj for me from your max program (or someone) ? Some changes need to be done, its just as a static model, so the cannon and turret is one mesh, leading wheels and the body too, etc. so id have to do some splitting to make it animated. Just need them damned UVs as they should ...
Take this file. It's better Download (http://www.mediafire.com/download/03ayqy0o5uu56h0/NC_Vanguard.FBX) (And Thank you :D)
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 28, 2015, 04:19:43 pm
... on what version of Max was it created ? ... i have 2010 and it wont open ... i could import the separate .obj parts, but for some reason, after exporting it to into one .obj file (cause i want to work on it in Blender, so i must export it out), all UVs are a mess (pieces of them are all around and owerlaping --- evidently, the max file has them located right, but the .obj´s in some other arrangement system). 

 ... could you try to export the model to .obj for me from your max program (or someone) ? Some changes need to be done, its just as a static model, so the cannon and turret is one mesh, leading wheels and the body too, etc. so id have to do some splitting to make it animated. Just need them damned UVs as they should ...
Take this file. It's better Download (http://www.mediafire.com/download/03ayqy0o5uu56h0/NC_Vanguard.FBX) (And Thank you :D)

 :o   ... you used this one for import ?
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on June 28, 2015, 04:51:03 pm
:o   ... you used this one for import ?
Yes I did, why?
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 29, 2015, 01:12:08 am
:o   ... you used this one for import ?
Yes I did, why?

(http://t4.aimg.sk/pokec/fotoalbumy/06/o_469947942_b73d2cf59765626cbe16d391b9b0006b.png?t=&h=_he5mYLedNbqWRibNx_jjQ&e=2145916800&d=o_469947942_b73d2cf59765626cbe16d391b9b0006b.png)

(http://img12.deviantart.net/debc/i/2011/309/a/4/wha_by_artfuldodger112-d4f5z9y.png)

 ... either Blender plays with me, cause he secretly hates NCs, or ... well i dont know.
No crtitics doe, if it works, i just ...

(http://static.fjcdn.com/pictures/Veni+vidi+wha_ca0770_4885037.jpg)

Well, the TOW-part is visible - just double-stuff is shifted outside the picture into the right side ... but the other ones ... i wouldn't guess if i were on all the Afghans crack in the world, witch should be where ...

 doe pieces are properly split in the model it seems - i just splitted the wheels off from the main body so i would just copy-paste the whole tiger2 script in, having those wheels named the same as in the script (2a, 2b, 3a ... 10a, 10b), so they could turn around the same way too (off course putting theyr origins to the center of theyr geometry too). ... else, just a little tweak to the script to be able to handle both the turret and the TOW separately, like in my promo-4-turret script :

Code: [Select]
//vehicle script file
//see http://xtrac.outerra.com/index.fcgi/wiki/vehicle for example and documentation
var bscount;

var aAAuxb2Time;
var aAAuxb2Bool;

var turret
var mantlet

const MaxTurretXSpeed01 = 10; //deg/s
const MaxTurretYSpeed01 = 10; //deg/s
const MaxTurretXAccel01 = 100;//deg/s^2
const MaxTurretYAccel01 = 100;//deg/s^2
const MinTurretAngle01 = -7.2;  //in deg  gun depression
const MaxTurretAngle01 = 60; //in deg  gun elevation

const MaxTurretXSpeed02 = 10; //deg/s
const MaxTurretYSpeed02 = 10; //deg/s
const MaxTurretXAccel02 = 100;//deg/s^2
const MaxTurretYAccel02 = 100;//deg/s^2
const MinTurretAngle02 = -7.2;  //in deg  gun depression
const MaxTurretAngle02 = 60; //in deg  gun elevation

const TurningBoost = 0.4;   //boost coefficient to help with turning at speed
const TurnForceCoef = 0.8;  //portion of engine force for neutral turns
const RollingFriction = 1000;//force that needs to be overcome to get wheels turning

const EF = 25000.0;         //engine force
const BF = 20000.0;         //braking force
const EFr = 0.02;           //engine force reduction coef with speed
const maxkmh = 40;          //top speed



function radians(v){
  return v*Math.PI/180.0;
}


//invoked only the first time the model is loaded, or upon reload
function init_chassis(){
  var wheelparam = {
    radius: 0.50,
    width: 0.20,
    suspension_max: 0.25,
    suspension_min: -0.25,
    //ride height   
    suspension_stiffness: 3.9,

    damping_compression: 0.5,
    damping_relaxation: 0.4,
    slip: 0.5,
    slip_lateral_coef: 0.7,
    roll_influence: 0.1
  //rotation: -1
  };
  this.add_wheel('2a', wheelparam);
  this.add_wheel('2b', wheelparam);
  this.add_wheel('3a', wheelparam);
  this.add_wheel('3b', wheelparam);
  this.add_wheel('4a', wheelparam);
  this.add_wheel('4b', wheelparam);
  this.add_wheel('5a', wheelparam);
  this.add_wheel('5b', wheelparam);
  this.add_wheel('6a', wheelparam);
  this.add_wheel('6b', wheelparam);
  this.add_wheel('7a', wheelparam);
  this.add_wheel('7b', wheelparam);
  this.add_wheel('8a', wheelparam);
  this.add_wheel('8b', wheelparam);
  this.add_wheel('9a', wheelparam);
  this.add_wheel('9b', wheelparam);
  this.add_wheel('10a', wheelparam);
  this.add_wheel('10b', wheelparam);
 
  var geom = this.get_geomob(0);
this.Tur01 = this.geom.get_joint("turret");
 this.Gun01 = this.geom.get_joint("cannon");
this.Tur02 = this.geom.get_joint("rifle_base");
 this.Gun02 = this.geom.get_joint("rifle");
 
 aAAuxb2Time = 0.001;
  aAAuxb2Bool = false;

 bscount = 1;

  this.load_sound("tiger2_eng_starter.ogg");
  this.load_sound("tiger2_forward.ogg");
  this.load_sound("turret.ogg");
  this.add_sound_emitter("turret");
  this.add_sound_emitter("mantlet");

 
  return {mass:20000, com:{z:0.1,y:0.0}, steering:2.0, steering_ecf:60, centering: 100, centering_ecf:20,
   
  };
}

//invoked for each new instance of the vehicle
function init_vehicle(){
  //this.set_fps_camera_pos({x:-0.5,y:2.15,z:1.14});//commander view
  this.set_fps_camera_pos({x:-0.5,y:-0.3,z:2.5});//driver view
  this.snd = this.sound();
  this.snd.set_ref_distance(0, 15.0);
 
    this.geom = this.get_geomob(0);
   
 this.turx01 = new axis_integrator(radians(MaxTurretXSpeed01), radians(MaxTurretXAccel01));
  this.tury01 = new axis_integrator(radians(MaxTurretYSpeed01), radians(MaxTurretYAccel01), radians(MinTurretAngle01), radians(MaxTurretAngle01));

 this.turx02 = new axis_integrator(radians(MaxTurretXSpeed02), radians(MaxTurretXAccel02));
  this.tury02 = new axis_integrator(radians(MaxTurretYSpeed02), radians(MaxTurretYAccel02), radians(MinTurretAngle02), radians(MaxTurretAngle02));

}


//invoked when engine starts or stops
function engine(start){
  if(start){
    this.snd.play(0, 0, false, false);
    this.snd.play(0, 1, true, true);
  }
  else
    this.snd.stop(0);
  this.started = start;
}

//handle extra actions
function action(k,v,dt)
{
      switch(k){
     
         case AAuxb2: { // For changing counter state

          if (v == 1 && aAAuxb2Bool == true) {
            bscount = ( bscount + 1 );
     // this.snd.play(1, 4, false, true);
}

if (v == 1 && aAAuxb2Bool == false) {
         aAAuxb2Time = aAAuxb2Time + (2 * 1);
           bscount = ( bscount + 1 );
      //   this.snd.play(1, 4, false, false);
}

if (v == 1) {
    if (aAAuxb2Bool == false) {aAAuxb2Bool = true;}
    else{aAAuxb2Bool = false;}
}

    if (bscount > ľ) {bscount = 1;}

     if (bscount == 1) {
       this.log_inf("Main Gun");
     }
     if (bscount == 2) {
       this.log_inf("TOW");
     }

    }break;
     
        //Turret movements
     
  case ATurretX:
 
      if(bscount == 1){
  this.turx01.set(v);
      }
      if(bscount == 2){
  this.turx02.set(v);
      }
 
   break;
   
  case ATurretY:
 
      if(bscount == 1){
  this.tury01.set(v);
      }
      if(bscount == 2){
  this.tury02.set(v);
      }
     
   break;
 
    }
}

const forceloss = 1.0 / (EFr*maxkmh + 1);

//invoked each frame to handle the inputs and animate the model
function update_frame(dt, engine, brake, steering)
{
 
 
  //turret handling
  var tmov=false;
 
  if(this.turx01.changed(dt) && bscount == 1){
    this.geom.rotate_joint_orig(this.Tur01, this.turx01.value, {x:0,y:0,z:-1});
    tmov = true;
  }
  if(this.tury01.changed(dt) && bscount == 1){
    this.geom.rotate_joint_orig(this.Gun01, this.tury01.value, {x:1,y:0,z:0});
    tmov = true;
  }

    if(this.turx02.changed(dt) && bscount == 2){
    this.geom.rotate_joint_orig(this.Tur02, this.turx02.value, {x:0,y:0,z:-1});
    tmov = true;
  }
  if(this.tury02.changed(dt) && bscount == 2){
    this.geom.rotate_joint_orig(this.Gun02, this.tury02.value, {x:1,y:0,z:0});
    tmov = true;
  }
 
  if(tmov) {
    if(!this.turretsnd)
      this.snd.play_loop(1, 2);
  }
  else this.snd.stop(1);
  this.turretsnd = tmov;
 
 
  var kmh = this.max_tire_speed()*3.6;
 
  //reduce engine force with speed (hack)
  var esign = engine<0 ? -1 : 1;
  engine = EF*Math.abs(engine);
  var force = (esign>0) == (kmh>=0)
        ? 1.0/(EFr*Math.abs(kmh) + 1)
        : 1.0;
  force -= forceloss;
  force = esign*Math.max(0.0, Math.min(force, 1.0));
  engine *= force;
   
  this.snd.set_pitch(0, 1+0.01*kmh);
   
  //if(steering!=0) engine *= 1.5;
  //var el = steering>0 ? 0 : engine;
  //var er = steering<0 ? 0 : engine;
  var df = EF*TurnForceCoef*force;
  var el=engine,er=engine;
  var spd = 1 + TurningBoost*this.speed();
  if(this.started){
    if(steering>0){
      el-=spd*df; er+=df;
    }
    else if(steering<0){
      er-=spd*df; el+=df;
    }
  }

  this.wheel_force(-2, el);
  this.wheel_force(-3, er);
   
  brake *= BF;
  brake += RollingFriction;

  this.wheel_brake(-1, brake);

  //this.log_inf("L:"+el+" R:"+er+"   B:"+brake+"  SPD:"+kmh);
 
  //this.geom.rotate_joint_orig(turret, this.turx, {x:0,y:0,z:-1});
  //this.geom.rotate_joint_orig(mantlet, this.tury, {x:1,y:0,z:0});

  this.animate_wheels();
}

... ill try to export it from Blender and import into OT to see, if the textures are messed up.
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 29, 2015, 01:34:46 am
This is how the model looks after the splitting and hierarchy changes :

(http://t1.aimg.sk/pokec/fotoalbumy/06/o_469948022_f0567386114d17fe18f8e5ae5b9821d6.png?t=&h=ULrM2TJaCwQFQ84GcNZcWw&e=2145916800&d=o_469948022_f0567386114d17fe18f8e5ae5b9821d6.png)

... just posting, so if ya liked to do it yourself in the future for some more of the games tanks, you knew how to play around with the model (FOR THE SCRIPT) ...

Dont mind the turret prefs (max, min tilt etc.), nor the wheel-parameters, need to have it imported and working to look how those specs must look for that thing. Besides, i needed to lift the turret by some centimeters. If it rotated around as it were originally, the turret would tear up the higher engine compartment on the main body. (and its the same way in the game, omg)

 ... also, put some disclaimer in - its the games property, so if ya write "just for personal, non profit use", it should be fine.
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 30, 2015, 05:40:33 am
I dont get it ... it just worked, with such messed up UVs .... i just dont know what to think now .... HERE YA GO FELLAS, GRAB IT :

https://drive.google.com/file/d/0B3ZscF0ox2AGV1JFSm9rejNQem8/view?usp=sharing (https://drive.google.com/file/d/0B3ZscF0ox2AGV1JFSm9rejNQem8/view?usp=sharing)


 ... you have to add sounds yourselve (just use those same names as in script) ... and tamper whyte the gun elevation props. Also, if you press AUX1, you can switch to the TOW ... but it uses the same X and Y rotation values right now.
Title: Re: PlanetSide 2 Vanguard
Post by: BijiHunter on June 30, 2015, 12:06:46 pm
You're a wizard PytonPago!
Title: Re: PlanetSide 2 Vanguard
Post by: PytonPago on June 30, 2015, 12:14:15 pm
You're a wizard PytonPago!


 ... nah, im just a religious man .... in the religion of

(http://4.bp.blogspot.com/-Y-R34TxADCQ/UbrG8npAJtI/AAAAAAAAEPA/gb8asobwgcs/s1600/copypaste+-+juggaar.com.png)

 =D

Besides, wizardry is what that guy done with the UVs ... i cant even imagine to get to that level in 3D Hogwards.

... well, just look up what i did in the model, paste the same script and so you can import all those tanks from that series.
Title: Re: PlanetSide 2 Vanguard
Post by: TruenoCraft on July 04, 2015, 12:15:23 pm
You're a wizard PytonPago!


 ... nah, im just a religious man .... in the religion of

(http://4.bp.blogspot.com/-Y-R34TxADCQ/UbrG8npAJtI/AAAAAAAAEPA/gb8asobwgcs/s1600/copypaste+-+juggaar.com.png)

 =D

Besides, wizardry is what that guy done with the UVs ... i cant even imagine to get to that level in 3D Hogwards.

... well, just look up what i did in the model, paste the same script and so you can import all those tanks from that series.
You did an excellent job man thank you very much :D