Outerra forum

Anteworld - Outerra Game => Modding: Importer, Tools & Utilities => Topic started by: DeanosBeano on January 28, 2014, 02:08:38 pm

Title: Vehicle not moving
Post by: DeanosBeano on January 28, 2014, 02:08:38 pm

 Hi All ,
 Noob here long time Operation flashpoint and Arma 3 modder and general tinkerer thought i would come and be a small fish in a larger pond.

 I am having trouble establishing what it is that makes the vehicle actually move , Having followed the Blender tutorials

 I have 4 wheels  nomenclature ( is it important or as long as the .js has same name as wheel ?

 wheel_1 to Wheel_4  all seperate mesh from hull and with uvs and materials assinged
 
 I selected the wheels as Bones at the import > vehicle type stage

 the wheel turns for steering but the whole vehicle does not move along the terrain .

 i used the  .js from the turorial and renamed to suite the wheels in my model .

 any help apreciated

 many thanks in advance
Title: Re: Vehicle not moving
Post by: PytonPago on January 28, 2014, 03:37:25 pm
Could you post me the .js file (you can post the script into a post, just give it into a "
Code: [Select]
" and names, all your model meshes have ?
Title: Re: Vehicle not moving
Post by: DeanosBeano on January 28, 2014, 04:06:51 pm
 Hi cheers for looking

 I used th Lambourghini .js and adapted names 

 [spoiler]

Quote
function init_chassis(){
    var wheelparam = {
        radius: 0.35,
        width: 0.520,
        suspension_max: 0.07,
        suspension_min: -0.1,
        suspension_stiffness: 15,
        damping_compression: 0.5,
        damping_relaxation: 0.1,
        slip: 100,
        roll_influence: 0.1,
        rotation: -1
    };
    this.add_wheel('wheel_1', wheelparam);
    this.add_wheel('wheel_2', wheelparam);
    this.add_wheel('wheel_3', wheelparam);
    this.add_wheel('wheel_4', wheelparam);
   

    this.load_sound("start.ogg"); //startup
    this.load_sound("idle.ogg"); //idle
    this.load_sound("e90_offlow.ogg");    //off
    this.load_sound("e90_onlow.ogg"); //on
    this.basepitch = [ 1, 1, 0.4, 0.4 ];             //base pitch for start, idle, throttle
    this.add_sound_emitter("wheel_4");

    //engine properties -- modify these to change the engine behaviour
    this.wheelRadius = 0.24;

    this.torquePoints = [ { rpm: 0,    torque: 180},
                          { rpm: 1000, torque: 250},
                          { rpm: 2000, torque: 335},
                          { rpm: 3000, torque: 380},
                          { rpm: 4000, torque: 400},
                          { rpm: 5000, torque: 395},
                          { rpm: 6000, torque: 400},
                          { rpm: 7000, torque: 390},
                          { rpm: 8000, torque: 365},
                          { rpm: 9000, torque: 0  } ];

    this.forwardGears = [ { ratio: 4.20, shiftUp: 8000, shiftDown: -1   },
                          { ratio: 2.49, shiftUp: 8000, shiftDown: 4500 },
                          { ratio: 1.66, shiftUp: 8000, shiftDown: 5000 },
                          { ratio: 1.24, shiftUp: 8000, shiftDown: 6000 },
                          { ratio: 1.00, shiftUp: -1,   shiftDown: 6000 } ];
    this.reverseGears = [ { ratio: 4.20, shiftUp: -1, shiftDown: -1 } ];

    this.finalRatio = 3;
    this.torqueMultiplier = 8;
    this.maximumSpeed = -1; // speed in m/s. a value < 0 means there's no maximum speed
    this.engineBrakeCoefficient = 0.2;
    this.breakingForce = 8000.0;
    this.pitchMultiplier = 1.8;
    //end of engine properties

    this.maxPowerTP = this.torquePoints[0];
    this.maxRPM = 0;
    var maxPw = 0;
    for (var i = 1; i < this.torquePoints.length; ++i) {
        var tp = this.torquePoints;
        if (tp.rpm * tp.torque > maxPw) {
            this.maxPowerTP = tp;
        }
        if (tp.rpm > this.maxRPM) {
            this.maxRPM = tp.rpm;
        }
    }

    this.neutroGear = { ratio: 0.0, shiftUp: -1, shiftDown: -1, index: 0 };
    var prev = null;
    for (var i = 0; i < this.forwardGears.length; ++i) {
        var gear = this.forwardGears;
        if (prev)
            prev.next = gear;
        gear.prev = prev;
        gear.index = i + 1;
        prev = gear;
    }

    prev = null;
    for (var i = 0; i < this.reverseGears.length; ++i) {
        var gear = this.reverseGears;
        if (prev)
            prev.next = gear;
        gear.prev = prev;
        gear.index = -i - 1;
        prev = gear;
    }


    this.torque = engineTorque;

    return {mass:2000, com:{x:0, y:0.4, z:-0.6}, steering: 1.0, steering_ecf:60, centering: 20,
        centering_ecf:100};}

//invoked for each new instance of the vehicle
function init_vehicle() {
    this.set_fps_camera_pos({x:-0.45,y:0.89,z:0.35});

    this.snd = this.sound();
    this.snd.set_ref_distance(0, 9.0);

    this.started = false;
    this.gear = this.neutroGear;
    this.direction = 0;
}

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

function engineTorque(rpm) {
    var min = 0;
    var max = this.torquePoints.length - 1;

    if (rpm > this.torquePoints[max].rpm || rpm < this.torquePoints[min].rpm)
        return 0;

    while (max - min > 1) {
        var mid = Math.floor(min + (max - min) / 2);
        var tp = this.torquePoints[mid];
        if (tp.rpm == rpm) {
            return tp.torque;
        } else if (tp.rpm > rpm) {
            max = mid;
        } else {
            min = mid;
        }
    }

    var minTp = this.torquePoints[min];
    var maxTp = this.torquePoints[max];
    var TM = maxTp.torque;
    var Tm = minTp.torque;
    var RM = maxTp.rpm;
    var Rm = minTp.rpm;

    var a = (TM - Tm) / (RM - Rm);

    return rpm * a + Tm - Rm * a;
}

function sign(x) {
    return (x > 0.0 ? 1 : (x < 0.0 ? -1 : 0));
}

//invoked each frame to handle the inputs and animate the model
function update_frame(dt, engine, brake, steering) {
    if (!this.started)
        return;

    if (this.sound == 0 && this.snd.is_playing(0)) { // still starting up
        return;
    }

    steering *= 0.6;
    this.steer(-2, steering);

    var absSpeed = Math.abs(this.speed());
    var khm = absSpeed * 3.6;
    var wheels = absSpeed / (this.wheelRadius * (2 * Math.PI));

    //automatic gear shifting
    var rpm = wheels * this.gear.ratio * this.finalRatio * 60;
    if (rpm < 10 && this.gear.index != 0) {
        this.gear = this.neutroGear;
        this.direction = 0;
//         this.log_inf("neutro");
    }
    if (engine != 0.0 && sign(engine) != this.direction) {
        this.direction = sign(engine);
        if (this.direction == 1.0) {
            this.gear = this.forwardGears[0];
//             this.log_inf("forward, gear " + this.gear.index);
        } else if (this.direction == -1.0) {
            this.gear = this.reverseGears[0];
//             this.log_inf("reverse, gear " + this.gear.index);
        }
        rpm = wheels * this.gear.ratio * this.finalRatio * 60;
    }

    if (rpm > this.gear.shiftUp && this.gear.next) {
        this.gear = this.gear.next;
//         this.log_inf("gear up " + this.gear.index);
    } else if (rpm < this.gear.shiftDown && this.gear.prev) {
        this.gear = this.gear.prev;
//         this.log_inf("gear down " + this.gear.index);
    }

    rpm = wheels * this.gear.ratio * this.finalRatio * 60;

    if (this.maximumSpeed < 0 || this.speed < this.maximumSpeed) {
        var force = engine * this.torque(rpm) * this.torqueMultiplier * this.gear.ratio;
        this.wheel_force(2, force);
        this.wheel_force(3, force);
    }

    //From Torcs engine code
    var static_friction = 0.1;
    var engineBrake = this.maxPowerTP.torque * this.engineBrakeCoefficient * this.torqueMultiplier * this.gear.ratio *
                      (static_friction + (1.0 - static_friction) * rpm / this.maxRPM);

    brake *= this.breakingForce;
    this.wheel_brake(-1, brake + engineBrake);

    this.animate_wheels();

    if (this.gear.index == 0 && (!this.snd.is_playing(0) || this.sound != 1)) {
        this.snd.stop(0);
        this.snd.play(0, 1, true, false);
        this.sound = 1;
    } else if (this.gear.index != 0 && engine == 0 && (!this.snd.is_playing(0) || this.sound != 2)) { //idle
        this.snd.stop(0);
        this.snd.play(0, 2, true, false);
        this.sound = 2;
    } else if (this.gear.index != 0 && engine != 0 && (!this.snd.is_playing(0) || this.sound != 3)) { //throttle
        this.snd.stop(0);
        this.snd.play(0, 3, true, false);
        this.sound = 3;
    }

    var pitch = this.pitchMultiplier * rpm / this.maxRPM;
    this.snd.set_pitch(0, pitch + this.basepitch[this.sound]);
}

[/spoiler]

 My bone names i  selected on import  are  the wheels 

Wheel_1
Wheel_2
Wheel_3
Wheel_4

  I scaled up my wheels and now  it is Nose diving and going below the surface :(, looks like i am improving but  it is so fast i cant tell if  i am moving or the physics off bad geometry lol

EDIT i kinda have it working now but i now noticing this Error in the console  that doesnt  look to great any pointers ?

 
Code: [Select]
ERROR: center of mass clamped to the object's bounding box, from: x=.014716, y=-.400038, z=1.559445
 to: x=.014716, y=-.400038, z=.962065
Title: Re: Vehicle not moving
Post by: cameni on January 29, 2014, 01:26:38 am
Code: [Select]
ERROR: center of mass clamped to the object's bounding box, from: x=.014716, y=-.400038, z=1.559445
 to: x=.014716, y=-.400038, z=.962065
That means your model's pivot point, when combined with this center of mass offset:
Quote
Code: [Select]
    return {mass:2000, com:{x:0, y:0.4, z:-0.6}, steering: 1.0, steering_ecf:60, centering: 20,
        centering_ecf:100};}
... appears outside the bounding box of the vehicle. Just remove the com:{....} if your center is already at the model's pivot, or adjust the com values to position it properly.
Title: Re: Vehicle not moving
Post by: PytonPago on January 29, 2014, 04:03:53 am
Wow man ... slip is at 100 ? ... give it a 2 or so ... also, try give damping compression and relaxation to around 0.2 (but you can play whyte those a little too) and let me know, what it does ---

As set, your vehicle has 2 tonns, the mass has a effect trough engine torque ... there, in engine proprieties, are two sections - one saying about the RPM-Torque function :

Code: [Select]
    this.torquePoints = [ { rpm: 0,    torque: 180},
                          { rpm: 1000, torque: 250},
                          { rpm: 2000, torque: 335},
                          { rpm: 3000, torque: 380},
                          { rpm: 4000, torque: 400},
                          { rpm: 5000, torque: 395},
                          { rpm: 6000, torque: 400},
                          { rpm: 7000, torque: 390},
                          { rpm: 8000, torque: 365},
                          { rpm: 9000, torque: 0  } ];

And the second for when another gear is set and what torque multiplier is for the actual gear :

Code: [Select]
    this.forwardGears = [ { ratio: 4.20, shiftUp: 8000, shiftDown: -1   },
                          { ratio: 2.49, shiftUp: 8000, shiftDown: 4500 },
                          { ratio: 1.66, shiftUp: 8000, shiftDown: 5000 },
                          { ratio: 1.24, shiftUp: 8000, shiftDown: 6000 },
                          { ratio: 1.00, shiftUp: -1,   shiftDown: 6000 } ];
    this.reverseGears = [ { ratio: 4.20, shiftUp: -1, shiftDown: -1 } ];

You can try edit these to be more set for that vehicle. Aether change the first and so the torque for certain RPM, or try lowering or raising gear torque multipliers. It can be set quite nicely, but it is true a time-needy try and error work there.

P.S. : those wheels have a half meter width ? :D
Title: Re: Vehicle not moving
Post by: DeanosBeano on January 29, 2014, 12:59:28 pm

Cheers for the Guidance chaps
 i will have a look through it later and become less of a victim of the copy and paste  ;) , i have noticed a thread with that exact .js and there is some addendums about slip and others too. it will be fun learning a new engine tho so its all good .

  The wheels do have .5 meter yes :) , however  its hard to judge scale  so i set meters in blender and hoped Outerra units are meters , the reason is i come from an engine where Land contact was a simple vertices  , it was my initial thoughts here if the model geometry is < _x the wheel simply sinks beow ground , i now think its a combination of modeland .js  probably ?

 
Title: Re: Vehicle not moving
Post by: PytonPago on January 29, 2014, 02:42:51 pm

Cheers for the Guidance chaps
 i will have a look through it later and become less of a victim of the copy and paste  ;) , i have noticed a thread with that exact .js and there is some addendums about slip and others too. it will be fun learning a new engine tho so its all good .

  The wheels do have .5 meter yes :) , however  its hard to judge scale  so i set meters in blender and hoped Outerra units are meters , the reason is i come from an engine where Land contact was a simple vertices  , it was my initial thoughts here if the model geometry is < _x the wheel simply sinks beow ground , i now think its a combination of modeland .js  probably ?



 ... a blender guy ? Im there the same category then. :D Basic rig in blender is 1 meter - checked myself. Aldo i exported always just trough the classic importer and had a info, that it might have some scaling issue in FBX. No need to think about the below ground thing - the wheel physics has some issues at some physical extremes for the vehicles weight. As a prop. - if you set the sus. stiffness extremely high and fall from a higher place, you might end up jumping over skyscrapers. As for the copy-paste method - well, given my second vehicle there yet and it seems that things to paste are just growing in numbers ... but the real problem is renaming things and fine-adjusting numbers - specially if you loose the sight over model part names and script lines. :D :D

P.S.: Awaiting to see and try that half meter thick wheels thingy of yours rolling on OT dirt ... :)
Title: Re: Vehicle not moving
Post by: DeanosBeano on January 29, 2014, 02:51:05 pm
 Only  in Blender 6  months  i learned it for Keyframe animations for Arma 3 Game 
 but  its a good tool and well it helped me here straight away :)

 send me a PM if you fancy messing with the invisble wheeled animal , i dont want to fully release because its not worthy yet  , but reading your threads  you know a bit about the .js scripts  to have fun .

 P>S do you know besides here and wiki a nice walkthrough and examples for .js and the pivoting of turrets an axles i can learn from please ?

 
Title: Re: Vehicle not moving
Post by: PytonPago on January 29, 2014, 04:49:51 pm

 send me a PM if you fancy messing with the invisble wheeled animal , i dont want to fully release because its not worthy yet  , but reading your threads  you know a bit about the .js scripts  to have fun .


Nah - that beauty is solely for Animation purposes ... i cant just wield wheels to an animal. :D Doe, cant wait till animations. Will be rocking then ... i need to get into Blenders anims. so i can add some persons in for my small project. But i would ask - is that your work model horse ? Seems pretty nice work from the vid.
Title: Re: Vehicle not moving
Post by: DeanosBeano on January 29, 2014, 06:18:29 pm

 Yeah i think this game will truly come alive when the anims and some APi for playing with others comes to town :) , maybe someone can so a hack just to get it started i hope .

 The model is made by Bob Marshall i purchased it for use was very cheap at the time i never got it into the game i bought it for  and im hoping it can satr in this engine maybe :).
 
 i just had two hours of fun messing with them settings you mentioned and got some nice feedback from the physics now so cheers for that , now i am happy with the foundation i will next try add a rider to the model and look at axles , turrets and other available anims to make a propper hacked to death horse  to inspire devs to get the real anims potential in maybe haha

oh and i broke my sound card so vid in my other thread will be quiet and slow sound dodgey because of it ;(
 thanks for help so far
Title: Re: Vehicle not moving
Post by: PytonPago on January 30, 2014, 01:59:41 am

 Yeah i think this game will truly come alive when the anims and some APi for playing with others comes to town :) , maybe someone can so a hack just to get it started i hope .

 The model is made by Bob Marshall i purchased it for use was very cheap at the time i never got it into the game i bought it for  and im hoping it can satr in this engine maybe :).
 
 i just had two hours of fun messing with them settings you mentioned and got some nice feedback from the physics now so cheers for that , now i am happy with the foundation i will next try add a rider to the model and look at axles , turrets and other available anims to make a propper hacked to death horse  to inspire devs to get the real anims potential in maybe haha

oh and i broke my sound card so vid in my other thread will be quiet and slow sound dodgey because of it ;(
 thanks for help so far

 Ah .. a plan for a game there ?  :D ... there is a way to use multiple keys (from those assigned to vehicles as seen in options) trough a script "switch" ... you can check my BM-21 or BTR scripts for that (i should have some sign comments there - but feel free to ask for its position) - for me it proved to be a good thing to try out scripts functionality. Also the Sh Shavrov aircraft has a handy script for hiding meshes applied to the pilot (does the head disappearance in 1-person view there). May not looking so, but there is a lot of things possible already to speculate (just needs a little brains in model mesh terms) ... There also must be some way of "simple time animations" like the MIGs gear rolling down. Doe outside of JSBSim scripting. The "Sound test" car has a clock running there, so maybe trough its seconds counter as a time-function aspect - but have yet to try something like that out ...

P.S.: ... just remembered - you do not need to have any vertices in a mesh, so you dont have to mess around transparency at the wheels (for the horse), just delete all the verts in the wheel meshes and leave their hierarchy and origin points positions unchanged. Script doesnt care if there is some physical mesh for the wheels - needs just the width and diameter for the origin points there. Can come in handy if you try animating suspension, where the wheel doesnt move the same way (you can check that in the BTR too).

 ... anyway, have fun whyte script familiarizing! :)
Title: Re: Vehicle not moving
Post by: DeanosBeano on January 30, 2014, 04:56:34 pm

Cheers for the no wheels tip it worked a treat
  Is there a way to make simple rotation and translation anims , I have browsed in a logical manner the wiki and seen some valid commands but it only seems to give a description of the value within the valid paramaters .
  I looked at your vehicle but didnt see much comments although it did lead me to wheelparam2 idea to differentiate between those anims .
 What im looking for is a simple script that will work asa a good tute for learning inputs to anims and animtypes , if there are such avenues at this stage
 
Heers again for the tips
Title: Re: Vehicle not moving
Post by: PytonPago on January 30, 2014, 05:41:48 pm
Dont mind the duplicated wheel-parameter part - was a no-go try.  ... as for the wheel-anims. There are two base movement script - one for rotations and one for movement along axes. The wheel animation on my BTR (somewhere in the second third Just a set of 5-7 lines for each wheel) is simple actually, but needs a little math into it - specially if bigger math goes into.

The actual wheel is just an empty mesh. In the wiki, you can see a way to gain the actual wheel rpm and slip from its original position (as it goes up and down thanks to damping and suspension scripting internal in OT) in a certain way : for classic up-down going wheel its just rpm and the offset from the original position // and for the swing wheel witch gives you aether sin or cos of the angle its at. So actually, you make the suspension parts in a way, so that they move whyte this data and use of Pythagoras triangle math. You have to make the simple maths separate and feed their value into the rotation and axis movements.

http://xtrac.outerraworld.com/trac.fcgi/wiki/wheel_data (http://xtrac.outerraworld.com/trac.fcgi/wiki/wheel_data) 

Of course, just one such rotation or movement is possible for one mesh - thats where the magic of the empty mesh (like the wheels) comes by. You make a duplicate of the mesh, where one will be whiteout verts and the second (parented to the empty) in its original form, where both can have their origins at the same place (or not - is just on the thing you need from it). The empty then gets a rotation according to the actual wheel height (trough Pythagoras) and the second gets rotation on another axis according to actual wheel rpm.  -- So you see, when stuff is parented, the "children" parts move according to their parent. So, you can make some nice suspensions going on, like this bandicams buggy :

bandicam 2013-03-10 18-23-48-635 (http://www.youtube.com/watch?v=VJjVr7r_QW4#ws) 

...   you can use also the "turret script" actual rotation angle too for other purposes and whyte careful thought, enough properly parented empty meshes (whyte their origins well placed), you can combine rotations and axis movements into a lot of things. ... maybe even combine whyte the "IF" function - movement after a certain thing happens (or angle reached), or construct your own movement in a cycle of "IFs".

Off course many things will be more easy to do as bone-based animation (when the first person update comes - thats mostly for live-form movements), but these simple maths can prove unchallenged in mechanical things like simpler suspensions or the MIGs gear retraction.  ... also, much more functions and real-time data capabilities will be when the "black box" will be done. I cant really wait for that one to make some rocket ballistics. :D

Yes, it gets a little speculating till the wiki is understood for new folks at it, doe, you always can just ask. :D  I thought to make a little vid for scripts in a little more detail at Christmas, doe, many things stalled my and was glad to finish at least the blender-vid. But i will get to it, when i get time (now in school, so no OT for me yet). So i play whyte blender modeling, started some UVs training and script thoughts till i can try them out whyle i have some free time.
Title: Re: Vehicle not moving
Post by: DeanosBeano on January 30, 2014, 05:55:11 pm

Hey thanks for the insight ,
I am conversant with sin cos etc I used for long time particle placement in destruction tests in other engines so im glad those will come useful in understanding this car and wheel turret relationships .
 Talking of particles I noticed a video , maybe yours ? A ship had a propeller wash trail from the boat , is this scripted particle ?  First thin I thought when I saw it I can use my effects I made over years maybe it uses strips of 8x8  16x16 or individual caustics on a loop ?

 Oh cant wait for the man character , I really hope it uses .bvh as therealready 2500 free animations and all is required is model to blender parent model to skeleton and boom a model with almost 2500 rwady to use anims , of course some weightpainting and lil work in bvh hacker is needed but even so its great thing .
Title: Re: Vehicle not moving
Post by: PytonPago on January 31, 2014, 02:45:50 am
I am conversant with sin cos etc I used for long time particle placement in destruction tests in other engines so im glad those will come useful in understanding this car and wheel turret relationships .
 Talking of particles I noticed a video , maybe yours ? A ship had a propeller wash trail from the boat , is this scripted particle ? 

Oh no, thats Camenis work there on the next OT update - a vector based overlay (like roads), waves will be added later on too .. i saw that first on the OT FB page, not sure if it was posted on forum too. Im no good at software scripting. Only thing i ewer done is OT vehicle script in past years time. :D Im more of a blender modeller eager to see some wheels turning. Sometimes spazzing out whyte my imagination. :D :D
Title: Re: Vehicle not moving
Post by: DeanosBeano on January 31, 2014, 10:21:10 am
 nice  one
 this next update sounds like a real winner  :)

 Any chance i can get a look at your script  for that buggy , i think thats the nearest i seen so far to a very nice setup for the child parent thing , really interested how your getting that damper to pivot to an attached point on the frame , i think i get it but would be nice to seee the code and experiment ;)

 cheers
Title: Re: Vehicle not moving
Post by: PytonPago on January 31, 2014, 11:19:39 am
nice  one
 this next update sounds like a real winner  :)

 Any chance i can get a look at your script  for that buggy , i think thats the nearest i seen so far to a very nice setup for the child parent thing , really interested how your getting that damper to pivot to an attached point on the frame , i think i get it but would be nice to seee the code and experiment ;)

 cheers

Here you have the site where you can get it  - have to say, hhrhhrs work on that buggy helped me a lot back then :

http://forum.outerra.com/index.php?topic=1253.msg17819#msg17819 (http://forum.outerra.com/index.php?topic=1253.msg17819#msg17819) - about the buggy

http://forum.outerra.com/index.php?topic=1402.msg17047;topicseen#msg17047 (http://forum.outerra.com/index.php?topic=1402.msg17047;topicseen#msg17047) - here he gave the files.
Title: Re: Vehicle not moving
Post by: DeanosBeano on January 31, 2014, 06:09:32 pm

Cheers for that
 Unfortunately the downliad is just a bed with wheels and the post with suspension is a quantum leap from the download without good explanation
  However I managed to at least make some sense and get the horse tail to move around with smaller wheel invisible that only touches when main wheel suspension contracts and I put small rotation -.05 , no big deal but another thing learned :)

 I saw on some youtube videos smoke columns from craters , is this aftereffects ? ! I am so useless at finding instuctions , I only just realised if I hold left mouse button for longer when I firea bigger crater is made haha
Title: Re: Vehicle not moving
Post by: PytonPago on February 01, 2014, 03:40:20 am
 ... oh, thats for Cameni. Dont know if you can add smoke in the JS like the force ... also its just going up. Directing it as dirt-dust for the hooves might be not possible now. Unless it involves some added stuff like direction, fade distance/time, dimensions ... normally such effects are done like particle/dust animations in Blender/Max. But is actually right at one - they would react to wind if they were scripted.
 ... hmm ...
    .... maybe a way to identify positions of steps (some area defined at the model and "step taking" function, telling OT when what leg steps) and it would do a defined "smoke/dust" effect there. Maybe even added to the biome textures weather system, so it does just on dry dusting grounds. (something like that going for vehicles, only the wheels would be defined whyte their positions and the smoke parameters being a function of rpm to have some nice speed-dependent effect there).   --- dont mind. Just imagining a little.
Title: Re: Vehicle not moving
Post by: DeanosBeano on February 01, 2014, 04:59:55 am

 i will have to investigate more  what inputs are possible over coming weeks  i think
 i think they will eventually allow the COM to be a POS or position for particles or introduce a dedicated lod for the script to use a define point  maybe  but we wait i suppose for now.
 either way its all good fun and learning curve is gentle soi far with alpha stage , really enjoying it  but i think it does need some quality examples in wiki wit almost at this stage a more "for Dummies approach"  to get the addon community going properly .

Title: Re: Vehicle not moving
Post by: PytonPago on February 01, 2014, 05:06:37 am
...  but i think it does need some quality examples in wiki wit almost at this stage a more "for Dummies approach"  to get the addon community going properly .

Maybe they going on the psychological way - asking, learning people, getting into the community - you know, the "we wont let you go" stuff.  :D
Title: Re: Vehicle not moving
Post by: DeanosBeano on February 01, 2014, 05:16:22 am

 Maybe its time if not already done for a Skype channel or IRC  so we can all pick brains :) ?

 
Title: Re: Vehicle not moving
Post by: PytonPago on February 01, 2014, 05:19:56 am

 Maybe its time if not already done for a Skype channel or IRC  so we can all pick brains :) ?

 Oh there is a IRC : http://webchat.quakenet.org/?channels=outerra&uio=d4 (http://webchat.quakenet.org/?channels=outerra&uio=d4)
 ... a little less crowded, but runs. :D
Title: Re: Vehicle not moving
Post by: DeanosBeano on February 01, 2014, 05:41:12 am
cheers
 i will be there to maybe annoy with many questions ;)
Title: Re: Vehicle not moving
Post by: DeanosBeano on February 02, 2014, 01:49:23 pm
 Any information on limitations of inputs on a single joint / mesh part  ?

 i am strugging to rotate a piece of leg and move it at same time  using on the horse shin , trying to
  move the shin to keep line with the Thigh above it  but the  rotate is cancelled in favor of the Move :(
 
  geom.rotate_joint_orig(Leg_rl_shin, .05, {x:-leg,y:0,z:0});
  geom.move_joint_orig (Leg_rl_shin,{x:0,y: -wheels/142,z:0});
   
  argh !!  please ignore  , seems writing it here made me see my error :)

 for others  it was  move_joint_orig  should be move_joint
Title: Re: Vehicle not moving
Post by: PytonPago on February 02, 2014, 05:02:48 pm
Oh ..thats the empty mesh thingy i told ya. Make an doubble of it - delete the vertices, so only the origin remains and parent the actual leg part to this empty. Then,  toration script on the empty and movement on the actual leg (or vice versa) ...

That is the little thingy there, you can use only one script for a mesh,  so if the movement isnt a complex function, you have to deal whyte emptyes.
Title: Re: Vehicle not moving
Post by: DeanosBeano on February 02, 2014, 05:09:20 pm
Hmm
 Well it works without all that by what I said above
  However I am intriuged by your mentioning of parent in the script ?

In model its all seperate put parented as so

 Horse
   Rightfronthigh
      Rightfrontshin
         Rightfrontfetlock
             Rightfronthoof
It all rotates ok   but of course the mesh is not one mesh but parts so looks shit :(
   I have learened enough now  to make a nice vehicle , its onlyfair to await animations for a horse

 Next I look statics and trees, but I dont thinkalready that the engine does alpha and difuse on a single plane to make good leaves maybe in what I tried so far
Title: Re: Vehicle not moving
Post by: PytonPago on February 03, 2014, 03:26:58 am
Yes, characters just need some anim. to work ...

... they want to do procedural trees later on. But there were some other tree textures before.

http://forum.outerra.com/index.php?topic=348.msg22689#msg22689 (http://forum.outerra.com/index.php?topic=348.msg22689#msg22689)

And i know there were some else flat trees, cant find that now.  ???


--- i just thought, your horse, have you a rigged and weight-painted version ?  - not sure how OT yet is at it, but, maybe keeping the original model (but rigged) and trying to script-animate those rig-bones. But it might be just a stupid test (weight-deform might not yet be done working and not sure if importer can identify the rigs).
Title: Re: Vehicle not moving
Post by: DeanosBeano on February 03, 2014, 07:58:17 am

 Yeah  i have it fully rigged and weighted :)
 obviously for the moment  OT only animates meshes not vertex group so hopefully the addition of a chacacter will amend that so we can really ger cracking :)

 thanks for tree link however i dont see pointer to any advice of how the material was applied , maybe this is not anteworld but full sdk he tests with but  i wait and experiment al the same ;)

 thats problem i have :)

http://i.imgur.com/xqniftm.jpg (http://i.imgur.com/xqniftm.jpg)