View unanswered posts | View active topics It is currently Mon Jun 18, 2018 4:32 am

 Page 1 of 1 [ 10 posts ]
 Print view Previous topic | Next topic
Rays and distances: a hover drone
Author Message

Joined: Mon Oct 11, 2010 1:15 pm
Posts: 582
Location: Finlandia
Rays and distances: a hover drone
Hover drone idea:

• 360 terrain (ray) detection
• The drone keeps a distance to all surfaces around it
→ Finds a center position in tunnels
• Said distance increases in movement
→ Allows more precise slow movement closer to the terrain(?)

What I need:

• 360 terrain (ray) detection
• The distance value from closest terrain
→ velocity/position change relative to said distance

How do I said things?

Also, upon approach of a wall, the horizontal movement could be turned into upward vertical movement for smooth obstacle scaling

Thanks in advance for possible help

Fri Nov 14, 2014 5:27 pm
Data Realms Elite

Joined: Fri Jan 07, 2011 8:01 am
Posts: 6211
Re: Rays and distances: a hover drone
One of the biggest problem would be the ray part. Casting so many rays would probably end up being laggy. In case it's not, just a simple loop that rotates the vector of the ray would be enough, then you could store all the distances in a list and do your desired operations, like checking if all the distances are longer than what you need, and in case it's not, move further from it. A problem I imagine would be travelling through a tunnel that gets narrower or wider, in that case, the distance you want from the terrain would have to depend on something, for example the velocity as you stated, or probably something like the biggest and shortest distance you are currently measuring.

Hovering in "the middle" of a tunnel, for example, could be somewhat weird given terrain in CC though. Say, for example, you have a cave or tunnel that has some holes or the ceiling part is damaged. Probably when moving inside of it, in one part the floor/ceiling distance will be X, later it'll be X+Y, etc., the drone would end up oscilating as it moves. Inside an undamaged bunker it'd work perfectly.

I think it's perfectly possible to do, though a clean implementation wouldn't be very simple.

PS: I might be overcomplicating things up, though there's multiple solutions for most problems.

Fri Nov 14, 2014 6:31 pm

Joined: Tue Jun 12, 2007 11:52 pm
Posts: 9967
Location: Here
Re: Rays and distances: a hover drone
Something something Fermat's spiral variant of the raycast.

Starts in the origin, spirals outward, so the first point you hit would be the closest.

Trying to dig up the PMs I sent to Arcalane about it, made functional scripts too that he's using in his WH40K mod I think.

Fri Nov 14, 2014 7:18 pm

Joined: Mon Oct 11, 2010 1:15 pm
Posts: 582
Location: Finlandia
Re: Rays and distances: a hover drone
I thought the rays would be laggy yeah. Anyhoo a less laggy substitute is totally fine.

The middle hovering part would come from avoiding terrain around all sides. This should ensure that the drone doesn't even have a chance to get into a distorted enough area that it couldn't handle. A standard bunker tunnel would be a fair limit.

Also maybe the hovering distance would affect speed vice versa? As in you couldn't speed up as fast in tighter areas than in open ones, like the surface.

EDIT: thx CC

Fri Nov 14, 2014 7:23 pm

Joined: Sun Jan 28, 2007 10:32 pm
Posts: 1608
Location: UK
Re: Rays and distances: a hover drone
CaveCricket48 wrote:
Something something Fermat's spiral variant of the raycast.

Starts in the origin, spirals outward, so the first point you hit would be the closest.

Trying to dig up the PMs I sent to Arcalane about it, made functional scripts too that he's using in his WH40K mod I think.

Just forum-search for 'fermat', there's literally four results on the entire forum (well, five now).

Anyways, take a look at my post and Cave's after for a look at the fermat's spiral stuff.

Fri Nov 14, 2014 7:24 pm

Joined: Fri Sep 10, 2010 1:48 am
Posts: 648
Re: Rays and distances: a hover drone
If you don't want to do the work this has something that may be pretty similar to what you want.

Fri Nov 14, 2014 7:38 pm

Joined: Mon Oct 11, 2010 1:15 pm
Posts: 582
Location: Finlandia
Re: Rays and distances: a hover drone
So I guess I can make this detect terrain on my own...

Now that I know the nearest point though, how do I add velocity parallel to the point and the drone?

Fri Nov 14, 2014 10:15 pm

Joined: Tue Jun 12, 2007 11:52 pm
Posts: 9967
Location: Here
Re: Rays and distances: a hover drone
Assuming "point" is your detected terrain position:

Code:
local dist = SceneMan:ShortestDistance(self.Pos,point,SceneMan.SceneWrapsX);
if dist.Magnitude < 10 then
elseif dist.Magnitude > 12 then
end

Something like that.

Fri Nov 14, 2014 10:26 pm

Joined: Mon Oct 11, 2010 1:15 pm
Posts: 582
Location: Finlandia
Re: Rays and distances: a hover drone
Works more or less just as I imagined it, thanks.

Now to fiddle with velocity relativity and other stuff, I think I got this now.

EDIT: Man. This turned out really smooth. By the looks of it though, it's sad that the crab AI isn't exactly fit for using jetpacks...

Maneuvering obstacles would have been simple with jetpack use. Is there some way that I can implement that in the crab AI?

EDIT2: Btw: what I did was make the "repulsion" velocity the inverse value of dist.Magnitude, it gives it a very magnetic-like repulsion effect towards terrain, looks really smooth.

Has a pretty hard time going through smaller holes... but nothing that it would need that much.

Fri Nov 14, 2014 10:52 pm

Joined: Fri Nov 23, 2012 5:42 am
Posts: 143
Re: Rays and distances: a hover drone
Is there any particular reason it needs to be a crab? You could go for a AHuman with a null.bmp head and fg arm + a little lua magic. That would at least allow you to use the human AI.

Tue Nov 25, 2014 7:13 pm
Display posts from previous:  Sort by
 Page 1 of 1 [ 10 posts ]

#### Who is online

Users browsing this forum: No registered users

 You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum

Search for:
 Jump to:  Select a forum ------------------ Cortex Command    Dev Log    Wiki    Game Discussion    Game and Licensing Support    Mod Making       Lua Scripting       Requests    Mod Releases       Older Mods    Scene Releases       Scene Making Planetoid Pioneers    Game Discussion    Pioneer Program Lounge Data Realms Off-Topic    Off Topic Chat       Gaming       Forum Games    Site Support & Feedback