Making thrust behave realisticly. 

It was amusing to watch my tests at very high levels of thrust. At first
it scrunched up the joint, then inverted the joint and it went through
the head of the critter. I'll have to acount for inertia myself. (and
would like to do it from within the neuron itself so don't need to do
complicated onStep additions to each experiment.)

So my questions.

Is there a way to get every joint connected to a part? I know i can get
the part refeces that a joint connects, but i do not see an obvious way
to go from part to joints. If not i'll have to build a vector of vectors
with part to joints maps within init{}. This is so i can figure out
interia then apply thrust to the joint's parts and all the parts that
those connect to.

Does the simulation take in account air and water resistance? if not i
may have to fake that too.

is there anyway to make joints stiffer so the distorotion is not as
pronouced?

Forums: 
Szymon Ulatowski's picture

Matthew Corey Brown wrote:
[...]
> Is there a way to get every joint connected to a part? I know i can get
> the part refeces that a joint connects, but i do not see an obvious way
> to go from part to joints. If not i'll have to build a vector of vectors
> with part to joints maps within init{}. This is so i can figure out
> interia then apply thrust to the joint's parts and all the parts that
> those connect to.

there is no easy way to do it in framscript.
we could add a special method for this purpose.

anyway, i think your current solution is quite good.
all muscle forces in framsticks are applied to 2 parts only (just like
in your thrust script). the effector should not care about the creature
as a whole - it is the simulation engine responsibility.
it would also make the effector less realistic.
on the other hand - someone could make a "total thrust" effector which
would apply the force to all parts regardless of the connections ;-)

> Does the simulation take in account air and water resistance? if not i
> may have to fake that too.

only the water resistance against sticks is calculated.
of course we can make a heavy creature, put it in the watertank and
claim the water is air ;-)

> is there anyway to make joints stiffer so the distorotion is not as
> pronouced?

not in this version of the simulator :-(

you can only alleviate this problem by not using strong forces.
and actually, with the watertank trick (above) you can have quite big
creature driven by weak effectors. this way, we gain precision at the
expense of the simulation time (because everything moves slower and
takes more simulation steps).

using "virtual water" to diminish virtual gravity seems stupid when the
gravity could be adjusted directly in the simulator but in the current
version it is the only (publicly available) way.
of course the gravity setting could be added in the next release, making
or incorporating a better simulation engine will take "a bit" longer.

sz.