Discussion:
Advice needed!! thanks in advance.
aalavandhaann
2010-11-11 20:33:55 UTC
Permalink
Dear Pv3D gurus,

All this while i have been trying to make a 2d editor which will help me to
draw maps by just drawing lines around in the 2d screen for the walls and
other library items which has an equivalent 3d representation for a FPS
based game. Then i take those line starting and end point values and
construct them as 3D walls using rectangles/planes by deciphering the x,y,z
and rotational values mathematically( just by applying 2d y value as z value
in 3d. The height of the wall is arbitrarily chosen. The rotation value is
calculated using Math.atan2(lineend.y - linestart.y,lineend.x -
linestart.x)) based on the x,y values from the map created using 2d. All i
see is that the 2d points are successfully converted and i see the same
orientation and shape correctly in 3D which is reproduced as rooms using
Rectangle and Plane class of papervision3D.

But somehow i am not happy with the results coz the perspective(focus and
zoom) seems to change based on the arbitrary height values(i guess so) i
give while reconstructing the walls from the 2d line values. Where as if i
use a 3D modeling program like blender or sketchup to draw the 3D directly
then the models are rendered perfectly as visualized and created without any
problems.

My question here is if we manually add Rectangles and Planes (the primitive
objects) to construct a room does not give the feel but where as the model
of a room designed in a 3d program is beautifully rendered. Is there any
thing that i am missing here? are there any other special properties that
comes with a collada that fixes the way our pv3d camera renders the display
object?

Please help and your suggestions and advices would be appreciated.

Regards,

Ashok Srinivasan.
--
View this message in context: http://papervision3d.758870.n4.nabble.com/Advice-needed-thanks-in-advance-tp3038513p3038513.html
Sent from the Papervision3D mailing list archive at Nabble.com.
aalavandhaann
2010-11-11 20:33:59 UTC
Permalink
Dear Pv3D gurus,

All this while i have been trying to make a 2d editor which will help me to
draw maps by just drawing lines around in the 2d screen for the walls and
other library items which has an equivalent 3d representation for a FPS
based game. Then i take those line starting and end point values and
construct them as 3D walls using rectangles/planes by deciphering the x,y,z
and rotational values mathematically( just by applying 2d y value as z value
in 3d. The height of the wall is arbitrarily chosen. The rotation value is
calculated using Math.atan2(lineend.y - linestart.y,lineend.x -
linestart.x)) based on the x,y values from the map created using 2d. All i
see is that the 2d points are successfully converted and i see the same
orientation and shape correctly in 3D which is reproduced as rooms using
Rectangle and Plane class of papervision3D.

But somehow i am not happy with the results coz the perspective(focus and
zoom) seems to change based on the arbitrary height values(i guess so) i
give while reconstructing the walls from the 2d line values. Where as if i
use a 3D modeling program like blender or sketchup to draw the 3D directly
then the models are rendered perfectly as visualized and created without any
problems.

My question here is if we manually add Rectangles and Planes (the primitive
objects) to construct a room does not give the feel but where as the model
of a room designed in a 3d program is beautifully rendered. Is there any
thing that i am missing here? are there any other special properties that
comes with a collada that fixes the way our pv3d camera renders the display
object?

Please help and your suggestions and advices would be appreciated.

Regards,

Ashok Srinivasan.
--
View this message in context: http://papervision3d.758870.n4.nabble.com/Advice-needed-thanks-in-advance-tp3038514p3038514.html
Sent from the Papervision3D mailing list archive at Nabble.com.
Don Bloomfield
2010-11-11 21:26:40 UTC
Permalink
Sounds like a project I'm working towards. I have some experience in
Sketchup/ other 3D programs, and I think I understand you to be saying the
viewport you're getting in PV3D isn't satisfying your vision of what a room
should look like, given your other program experiences.

A couple of things to try:

Sketchup uses a basic FOV of 30: "You can adjust the FOV between 1 and 120
degrees (the default is 35 degrees in Google SketchUp and 30 degrees in
SketchUp Pro)"
To match this is Papervision3D, you want to try adjusting:

camera.fov = 30; //try 30 through 60, see if you like it.

TO represent buildings in floorplan, you might also like to try:

camera.ortho = true; //isometric projection
camera.x = -150+sphere.x; //use whatever object you
want to centre on.
camera.y = 100+sphere.y;
camera.z = -150+sphere.z;
camera.rotationY = 45; //angle the view 45 degrees on to
horizontal.
camera.rotationX = 33; //tilt down

See if that helps, but let me know if that wasn't what you wanted too.

Don
Have a great day

-----Original Message-----
From: papervision3d-bounces-***@public.gmane.org
[mailto:papervision3d-bounces-***@public.gmane.org] On Behalf Of aalavandhaann
Sent: Friday, 12 November 2010 7:34 AM
To: papervision3D-***@public.gmane.org
Subject: [Papervision3D] Advice needed!! thanks in advance.


Dear Pv3D gurus,

All this while i have been trying to make a 2d editor which will help me to
draw maps by just drawing lines around in the 2d screen for the walls and
other library items which has an equivalent 3d representation for a FPS
based game. Then i take those line starting and end point values and
construct them as 3D walls using rectangles/planes by deciphering the x,y,z
and rotational values mathematically( just by applying 2d y value as z value
in 3d. The height of the wall is arbitrarily chosen. The rotation value is
calculated using Math.atan2(lineend.y - linestart.y,lineend.x -
linestart.x)) based on the x,y values from the map created using 2d. All i
see is that the 2d points are successfully converted and i see the same
orientation and shape correctly in 3D which is reproduced as rooms using
Rectangle and Plane class of papervision3D.

But somehow i am not happy with the results coz the perspective(focus and
zoom) seems to change based on the arbitrary height values(i guess so) i
give while reconstructing the walls from the 2d line values. Where as if i
use a 3D modeling program like blender or sketchup to draw the 3D directly
then the models are rendered perfectly as visualized and created without any
problems.

My question here is if we manually add Rectangles and Planes (the primitive
objects) to construct a room does not give the feel but where as the model
of a room designed in a 3d program is beautifully rendered. Is there any
thing that i am missing here? are there any other special properties that
comes with a collada that fixes the way our pv3d camera renders the display
object?

Please help and your suggestions and advices would be appreciated.

Regards,

Ashok Srinivasan.
--
View this message in context:
http://papervision3d.758870.n4.nabble.com/Advice-needed-thanks-in-advance-tp
3038514p3038514.html
Sent from the Papervision3D mailing list archive at Nabble.com.
aalavandhaann
2010-11-12 07:07:20 UTC
Permalink
Hello Don,

First of all a big thanks to you for having taken your time to read my post.
Coming to the issue i was talking about, i guess i have not made it clear. I
was actually talking about comparison between room models loaded and
rendered in pv3d versus room models created using primitives and rendered in
pv3d. Rest about the problem is what i have explained in my first post.

Since this is an utility for a FPS based working model, i am not trying to
achieve ISOmetry here. But still from what u wrote i find it interesting and
will maybe use it in future. I will try to post some pictorial
representations to explain this further. But still thanks and thanks for
your move to help.

Regards,

Ashok Srinivasan.
--
View this message in context: http://papervision3d.758870.n4.nabble.com/Advice-needed-thanks-in-advance-tp3038514p3039142.html
Sent from the Papervision3D mailing list archive at Nabble.com.
Don Bloomfield
2010-11-12 09:00:49 UTC
Permalink
Ahh I understand better now. Do you have a screenshot or sample in flash we can see? I think the only thing collada brings in is materials, but these should be similar, and reproducible (except pre-rendered lighting).

Don
Have a great day
Post by aalavandhaann
Hello Don,
First of all a big thanks to you for having taken your time to read my post.
Coming to the issue i was talking about, i guess i have not made it clear. I
was actually talking about comparison between room models loaded and
rendered in pv3d versus room models created using primitives and rendered in
pv3d. Rest about the problem is what i have explained in my first post.
Since this is an utility for a FPS based working model, i am not trying to
achieve ISOmetry here. But still from what u wrote i find it interesting and
will maybe use it in future. I will try to post some pictorial
representations to explain this further. But still thanks and thanks for
your move to help.
Regards,
Ashok Srinivasan.
--
View this message in context: http://papervision3d.758870.n4.nabble.com/Advice-needed-thanks-in-advance-tp3038514p3039142.html
Sent from the Papervision3D mailing list archive at Nabble.com.
_______________________________________________
Papervision3D mailing list
http://osflash.org/mailman/listinfo/papervision3d_osflash.org
Don Bloomfield
2010-11-12 10:17:46 UTC
Permalink
I'm working with a camera in .ortho mode, and looking down at an angle of
about 30 degrees.
I have a basic grid of boxes as a floor, and a player moving around.

My beautiful isometric camera follows the player but remains at the same
angle, so the player is always centred. Unfortunately, as the camera moves
forward in space, it starts to see grid squares that are "behind the camera
plane" and yet they don't render (bottom of my viewport is missing squares/
triangles)

I believe it isn't actually frustrum culling, but the vertex3D points
actually start to be impossible for the ortho camera to Project (behind
camera, they get set as .visible = false)

Has anyone ever used ortho, and found a good solution? I'm almost going to
use a long zoom on a perspective camera... :/

(the alternative I thought of, is to rotate the world 30 degrees up, and
leave the camera looking straight on, but I want multiple viewports, and
this will make for some pain...)

Don
Have a great day
Makc
2010-11-12 17:06:08 UTC
Permalink
Post by Don Bloomfield
vertex3D points
actually start to be impossible for the ortho camera to Project (behind
camera, they get set as .visible = false)
why not move camera far, far away?
Don Bloomfield
2010-11-13 07:42:51 UTC
Permalink
Thanks - that does seem to be the solution.

Don
Have a great day

-----Original Message-----
From: papervision3d-bounces-***@public.gmane.org
[mailto:papervision3d-bounces-***@public.gmane.org] On Behalf Of Makc
Sent: Saturday, 13 November 2010 4:06 AM
To: papervision3d-***@public.gmane.org
Subject: Re: [Papervision3D] Ortho projection matrix - bug?
Post by Don Bloomfield
vertex3D points
actually start to be impossible for the ortho camera to Project (behind
camera, they get set as .visible = false)
why not move camera far, far away?
aalavandhaann
2010-11-12 19:05:03 UTC
Permalink
As said i am now attaching the pictorial representation. If you notice
carefully each wall is a plane with color material applied to it(though the
color is at random). The walls are constructed based on the width and the
height calculated using an XML. This XML is generated by another flash tool
done by me which will enable to user to just draw the rooms for the map in
2d. Then i load the xml in my 3d viewer which will read all the points of a
room and then construct the room with its walls.

example :

<gamemap
version="0.0.1"><room><points><point><x>190</x><y>148</y></point><point><x>383</x><y>148</y></point><point><x>383</x><y>351</y></point><point><x>190</x><y>351</y></point></points></room><room><points><point><x>383</x><y>148</y></point><point><x>624</x><y>148</y></point><point><x>624</x><y>446</y></point><point><x>624</x><y>485</y></point><point><x>383</x><y>485</y></point><point><x>383</x><y>351</y></point></points></room><room><points><point><x>624</x><y>148</y></point><point><x>831</x><y>148</y></point><point><x>831</x><y>446</y></point><point><x>624</x><y>446</y></point></points></room><room><points><point><x>190</x><y>351</y></point><point><x>383</x><y>351</y></point><point><x>383</x><y>485</y></point><point><x>383</x><y>620</y></point><point><x>190</x><y>620</y></point></points></room
<room><points><point><x>624</x><y>446</y></point><point><x>831</x><y>446</y></point><point><x>831</x><y>622</y></point><point><x>624</x><y>622</y></point><point><x>624</x><y>485</y></point></points></room></gamemap>
if you notice the above XML the structure contains three rooms and each room
tag contains the points information. Using this i reconstruct the rooms in
3D calculating the width by finding the distance between two points. For
height i use an arbitrary value. Only at this point the problem starts. When
i set the height of each walls(a primitive plane) to be 200 units everything
looks fine. in fact i am quite happy with the output. Now i wanted to
increase the height of the planes to 700 units, then scene the way being
rendered changes. This can be figured out if you compare the distance from
the camera to the walls in bot the versions.

You will get a fair idea when u look at the pictures. The names of the
picture will give u the idea about the height value of the planes used. Why
is the rendering changed based on the size of the objects inside????

Loading Image.../
Loading Image...

Uploaded with http://imageshack.us ImageShack.us


Loading Image.../
Loading Image...

Uploaded with http://imageshack.us ImageShack.us
--
View this message in context: http://papervision3d.758870.n4.nabble.com/Advice-needed-thanks-in-advance-tp3038514p3040162.html
Sent from the Papervision3D mailing list archive at Nabble.com.
Don Bloomfield
2010-11-13 07:39:26 UTC
Permalink
Ok, after a quick play:

- you seem to have the camera height at 0, with the planes created halfway
above and below that level.

When your 200 height one comes in, the camera height is 100 above "floor
level" (the bottom of the planes) which looks fine, and pretty close to what
the eye would expect.

When your 700 height comes in, the camera is 350 above "floor level", so
still halfway up, and it looks like you're in a much smaller room.

The differences in points distance from centre, is because they are
different distances from the camera, so you get slightly different bends
with perspective. Eesh - i'm bad at explaining,...

What I'd suggest trying, is move planes up the y-axis so they all sit at the
same level, and try a camera height of 100.

If that doesn't look better, I'm probably not the man to help, unless
someone wants to teach me communication skills.

(I really hope that helps)

Don
Have a great day

-----Original Message-----
From: papervision3d-bounces-***@public.gmane.org
[mailto:papervision3d-bounces-***@public.gmane.org] On Behalf Of aalavandhaann
Sent: Saturday, 13 November 2010 6:05 AM
To: papervision3D-***@public.gmane.org
Subject: Re: [Papervision3D] Advice needed!! thanks in advance.


As said i am now attaching the pictorial representation. If you notice
carefully each wall is a plane with color material applied to it(though the
color is at random). The walls are constructed based on the width and the
height calculated using an XML. This XML is generated by another flash tool
done by me which will enable to user to just draw the rooms for the map in
2d. Then i load the xml in my 3d viewer which will read all the points of a
room and then construct the room with its walls.

example :

<gamemap
version="0.0.1"><room><points><point><x>190</x><y>148</y></point><point><x>3
83</x><y>148</y></point><point><x>383</x><y>351</y></point><point><x>190</x>
<y>351</y></point></points></room><room><points><point><x>383</x><y>148</y><
/point><point><x>624</x><y>148</y></point><point><x>624</x><y>446</y></point
Post by aalavandhaann
<point><x>624</x><y>485</y></point><point><x>383</x><y>485</y></point><poin
t><x>383</x><y>351</y></point></points></room><room><points><point><x>624</x
Post by aalavandhaann
<y>148</y></point><point><x>831</x><y>148</y></point><point><x>831</x><y>44
6</y></point><point><x>624</x><y>446</y></point></points></room><room><point
s><point><x>190</x><y>351</y></point><point><x>383</x><y>351</y></point><poi
nt><x>383</x><y>485</y></point><point><x>383</x><y>620</y></point><point><x>
190</x><y>620</y></point></points></room><room><points><point><x>624</x><y>4
46</y></point><point><x>831</x><y>446</y></point><point><x>831</x><y>622</y>
</point><point><x>624</x><y>622</y></point><point><x>624</x><y>485</y></poin
t></points></room></gamemap>

if you notice the above XML the structure contains three rooms and each room
tag contains the points information. Using this i reconstruct the rooms in
3D calculating the width by finding the distance between two points. For
height i use an arbitrary value. Only at this point the problem starts. When
i set the height of each walls(a primitive plane) to be 200 units everything
looks fine. in fact i am quite happy with the output. Now i wanted to
increase the height of the planes to 700 units, then scene the way being
rendered changes. This can be figured out if you compare the distance from
the camera to the walls in bot the versions.

You will get a fair idea when u look at the pictures. The names of the
picture will give u the idea about the height value of the planes used. Why
is the rendering changed based on the size of the objects inside????

http://img585.imageshack.us/i/planeheight200.png/
http://img585.imageshack.us/img585/3725/planeheight200.th.png

Uploaded with http://imageshack.us ImageShack.us


http://img98.imageshack.us/i/planeheight700.png/
http://img98.imageshack.us/img98/5662/planeheight700.th.png

Uploaded with http://imageshack.us ImageShack.us
--
View this message in context:
http://papervision3d.758870.n4.nabble.com/Advice-needed-thanks-in-advance-tp
3038514p3040162.html
Sent from the Papervision3D mailing list archive at Nabble.com.
aalavandhaann
2010-11-13 15:27:22 UTC
Permalink
Hello Don,

First of all Thanks to you for having been with me all this time. As per the
problem i was facing with the drawing of the 3D model using primitives,
where the rooms started to getting small as i started to increase the wall
heights, is also happening with the collada models too. All this time i
never tried the same thing with collada. Maybe i was a bit lazy or
overconfident that the problem would not occur with collada models. Instead
i was thinking the model though irrespective of the wall height would be
rendered as i expected.

But today i took the step of designing the model with sketchup and raise the
walls height and lo what i saw completely disappointed me. Even the collada
model if increased with the walls height seems to render the room a smaller
one.

I guess i am missing something here to understand.

Regards,

Ashok Srinivasan.
--
View this message in context: http://papervision3d.758870.n4.nabble.com/Advice-needed-thanks-in-advance-tp3038514p3040911.html
Sent from the Papervision3D mailing list archive at Nabble.com.
Loading...