mystara
Member
|
Infinitely large plane
H'lo!
I'd like to create an infinitely large plane (or area), on which my character can walk.
The idea is that no matter how far the character walks, they will never fall off this plane.
I was wondering what peoples' thoughts were regarding the best way to achieve this. I've found the Plane class, but it only seems to produce a plane of a fixed size. Any ideas if it can be made infinitely big, or if there's some other non-trivial way to do it?
|
|
07-13-2011 06:24 PM |
|
mystara
Member
|
RE: Infinitely large plane
That's odd. I got an email to say that Zervox had replied to this, but there's no reply here :/
|
|
07-13-2011 08:03 PM |
|
Zervox
Member
|
RE: Infinitely large plane
Yeah, I replied half finished because of accidentally pushing enter submitting answer and then forgot what I started writing.
(This post was last modified: 07-13-2011 08:14 PM by Zervox.)
|
|
07-13-2011 08:14 PM |
|
mystara
Member
|
RE: Infinitely large plane
|
|
07-13-2011 08:16 PM |
|
Driklyn
Member
|
RE: Infinitely large plane
Create a tiny box and move it along with the player's position:
Code:
Actor ground;
Bool Init()
{
// ...
ground.create(Box(1, 0, 1), 0);
}
Bool Update()
{
Game::World.update(Cam.at);
ground.pos(Players[0].pos().x0z()); // ignore Y-position
}
Don't forget the second 0 when creating the Box, this sets the density to 0 which stops the ground actor from falling due to gravity and enables friction.
|
|
07-14-2011 01:01 AM |
|
Esenthel
Administrator
|
RE: Infinitely large plane
Actor made from Plane is infinite.
only Plane::draw is not infinite
|
|
07-14-2011 12:10 PM |
|
mystara
Member
|
RE: Infinitely large plane
@Driklyn: That's a great idea. However, I really wanted an infinite plane so that the player could judge how far they've moved (probably by providing a grid or chequered texture). If the plane follows the player, they'll appear to be walking on the spot, I think.
I could, of course, use an array of planes (or boxes) and simply swap them around when the player moves on to one. However, I was wondering if there was a more elegant way of doing it
@Esenthel: I had a suspicion that the plane itself was infinite. I seemed to keep colliding with it wherever I walked, even when it wasn't visible.
Is there any way that Plane::draw can be made infinite? Or any way it can be made to draw the plane within a certain distance of the camera? I tried Game::World.update(Cam.at) but that didn't have any effect.
|
|
07-14-2011 12:59 PM |
|
mystara
Member
|
RE: Infinitely large plane
So, any thoughts?
Can Plane::draw be made to draw an infinite plane? Or is there a way to make the part of plane drawn match up with the camera movement?
I've tried a few things, but so far no success.
|
|
07-16-2011 07:28 AM |
|
Esenthel
Administrator
|
RE: Infinitely large plane
yeah I will make Plane::draw infinite (after I finish what I'm doing now)
|
|
07-16-2011 01:14 PM |
|
mystara
Member
|
RE: Infinitely large plane
Awesomeness
I eagerly await it
Thanks!
|
|
07-16-2011 01:53 PM |
|
mystara
Member
|
RE: Infinitely large plane
Hurray!
I see there's a Plane::drawInfiniteBySize in the version history. Thanks!
Would it be possible to get this change released for mac?
|
|
07-22-2011 01:09 PM |
|
Esenthel
Administrator
|
RE: Infinitely large plane
yes, it will be included once the next mac sdk will be released.
|
|
07-22-2011 02:00 PM |
|
mystara
Member
|
RE: Infinitely large plane
Any ideas when that will be?
|
|
07-22-2011 02:28 PM |
|