if i had 90 sum USD i would model it but i cant
work in progress: snowhill
Moderator: Moderators
-
Master-Of-Fungus-Foo-D
- Muffin Man
- Posts: 1544
- Joined: Tue Jan 27, 2004 12:33 am
- Location: cali, United States
klizardkid wrote:well.. i think horses is overboard. but tumbleweeds are a good idea i think. you dont need tornadoes of them, just maybe 2 or 3 a minute.
Oh F***, what is happening to this forum?? Each time I enter, it looks different
Horses? I'd love to. I'd be glad to have a cow
-
Master-Of-Fungus-Foo-D
- Muffin Man
- Posts: 1544
- Joined: Tue Jan 27, 2004 12:33 am
- Location: cali, United States
-
Master-Of-Fungus-Foo-D
- Muffin Man
- Posts: 1544
- Joined: Tue Jan 27, 2004 12:33 am
- Location: cali, United States
regarding the tumbleweed...
how can I make it follow a path and additonally have a rotation? So far, my attempts failed and I know u easily can tell me
Setting the angles of each info_splinepath is a pain in u know where. Why can't I make it 'rotateX #' and 'followpath' both? Or why can't I make it 'rotateX', bind it to another script_object and let this one follow the path?
how can I make it follow a path and additonally have a rotation? So far, my attempts failed and I know u easily can tell me
Setting the angles of each info_splinepath is a pain in u know where. Why can't I make it 'rotateX #' and 'followpath' both? Or why can't I make it 'rotateX', bind it to another script_object and let this one follow the path?
-
Master-Of-Fungus-Foo-D
- Muffin Man
- Posts: 1544
- Joined: Tue Jan 27, 2004 12:33 am
- Location: cali, United States
errr, yes, I did. But maybe I did it wrong?! How would the script look like in ur eyes? I did s/th likeMaster-Of-Fungus-Foo-D wrote:or did you already try that
Code: Select all
tw_run:
$tw_0 time 0.5 //the path following thingie
$tw_1 time 0.5 //the tumbleweed
while(1)
{
$tw_1 bind $tw_0
$tw_1 rotateX 90
$tw_0 followpath $tw_path
$tw_1 move
$tw_0 waitmove
}
endi would think setting it on a path and rotating it like this should work. otherwise you may need to thread both, since threads dont wait on each other.
1 way:
actually, i think two threads is a good idea.
or the like. it ought to work, getting it to look semi-natural is the big problem though.
i'd experiement but i g2g now. :'(
1 way:
Code: Select all
$tumbleweed moveto path1
wait 1
$tumbleweed rotateZ 100
wait .2
$tumbleweed rotateY 100
Code: Select all
thread1:
self moveto path1
end
thread2:
self rotateX 200
wait .3
self rotateY 100
wait .2
self rotateZ 100
i'd experiement but i g2g now. :'(
Moderator
۞
Abyssus pro sapientia
Olympus pro Ignarus
۞
AND STUFF™ © 2006
۞
Abyssus pro sapientia
Olympus pro Ignarus
۞
AND STUFF™ © 2006
-
Master-Of-Fungus-Foo-D
- Muffin Man
- Posts: 1544
- Joined: Tue Jan 27, 2004 12:33 am
- Location: cali, United States
glueing and binding stuff to script_objects does nothing but make it look weird. you're moving one object unecessarily.would just try using glue instead of bind
moving the base object has the same effect.
i was thinking of waypoints when i said that, but splinepaths would work as well. just have to factor in that when making the rotaions.
Moderator
۞
Abyssus pro sapientia
Olympus pro Ignarus
۞
AND STUFF™ © 2006
۞
Abyssus pro sapientia
Olympus pro Ignarus
۞
AND STUFF™ © 2006
Is the tumble weed going to follow a circular path? that would look strange indeed. I would use waypoints scatered in a wobly sort of line from one side of the map to the other, at map start the weed is hidden on one side of the map, then is shown, moved from waypoint to waypoint while rotating until it hits the last waypoint, then hide it, make notsolid and return it to the starting point back on the other side of the map, and repeat the process, This would look more realistic IMHO.
**Note** the waypoints would have to be above the ground so they line up with the centre origin of your tumbleweed otherwise the weed will appear to have a flat bottom or plough through the ground texture.
Grassy
**Note** the waypoints would have to be above the ground so they line up with the centre origin of your tumbleweed otherwise the weed will appear to have a flat bottom or plough through the ground texture.
Code: Select all
main:
....
level waittill prespawn
....
level waittill spawn
thread weed1_init
level waittil roundstart
thread weed1_control
end
//---------------------------------------------------------------------------
weed1_init:
//---------------------------------------------------------------------------
$weed1 hide
$weed1 notsolid
end
//---------------------------------------------------------------------------
weed1_control:
//---------------------------------------------------------------------------
while (1)
{
$weed1 show
$weed1 speed 35
$weed1 rotateZ 60
$weed1 moveto $wp1
$weed1 waitmove
$weed1 speed 50
$weed1 rotateZ 30
$weed1 moveto $wp2
$weed1 waitmove
$weed1 speed 100
$weed1 rotateZ 80
$weed1 moveto $wp3
$weed1 waitmove
$weed1 speed 20
$weed1 rotateZ 30
$weed1 moveto $wp4
$weed1 waitmove
//add more waypoints
//and vary speed of travel
//and rotation to make look more random if required
//at the last waypoint now
$weed1 hide
$weed1 speed 900 //move it back quick if ya want :-)
$weed1 moveto $start
$weed1 waitmove
}An ambiguous question will get a similar answer...
Thanks for ur help!
So I'll have to split the movement into one moveto command for each bl**dy waypoint? Ouch. Don't understand why I can't do it similar to how I tried, but if this is the way to go, ok. I was planning to set up several paths which would have been choosen randomly... I will try a for next loop and addressing the waypoints like
Code: Select all
main:
level waittill spawn
thread tw_run
end
tw_run:
while (1)
{
local.path = randomint 3 + 1 //for having 3 paths
for (local.i = 0; local.i <=6; local.i++)
{
iprintln_noloc local.path " - " local.i
// $tw_1 speed 35 //maybe randomized
$tw_1 time 1
$tw_1 rotateX 270 //maybe randomized
$tw_1 moveto $("twp" + local.path + "_" + local.i)
$tw_1 waitmove
}
wait 2
$tw_1 speed 2000
$tw_1 moveto $twp0_0
$tw_1 waitmove
wait 2
}
endYou can also try turning the physics on as well
local.x = randomint( 100)
local.y = randomint(100)
local.z = randomint(50)
local.velocity = ( local.x local.y local.z )
$tw_1 physics_on
$tw_1 physics_velocity (local.velocity)
you will have to play with the numbers JV says that velocity is the change in origin x y and z times 20 over 1 game frame so a change in x of 10 units over 1 game frame is 200 when use with velocity this will make it look a bit like the wind is blowing it and it should bounce when it hits the ground.
local.x = randomint( 100)
local.y = randomint(100)
local.z = randomint(50)
local.velocity = ( local.x local.y local.z )
$tw_1 physics_on
$tw_1 physics_velocity (local.velocity)
you will have to play with the numbers JV says that velocity is the change in origin x y and z times 20 over 1 game frame so a change in x of 10 units over 1 game frame is 200 when use with velocity this will make it look a bit like the wind is blowing it and it should bounce when it hits the ground.

