Discussion:
Outdoor-Furniture Planner made with PV3D
Joachim Baur
2011-01-21 09:30:31 UTC
Permalink
Hi,

I just wanted to show my first (commercial) project using Papervision3D
to all of you for comments and/or criticism. It's a planning program for
placing outdoor furniture items on a patio with an integrated fly-around
3D-view.

The "OUFLEXX Loungeplaner" is in German:
http://www.gartenmoebel.de/loungeplaner/index.html

On the first launch you are shown the options for the shape and size of
the patio ("Grundfläche") - just klicking on the "OK"-Button applies the
default settings.

Then you can drag furniture items from the bottom row onto the
patio-area above and drop them there. Klicking on an already placed item
opens a small menu with commands to manipulate it ("Verschieben" = move,
"Drehen" = turn, "Löschen" = remove).

The 3D-view is rendered when you klick on the Button "3D-Ansicht zeigen"
in the lower lefthand corner of the patio-space.

Fortunately all of the furniture items were composed of cubic parts, so
I could just build them inside Flash/PV3D using the cube primitive
instead of modeling them in a separate 3D-Application and importing them
as DAE or else. What I really grew fond of is Papervision's feature of
excluding cubefaces when creating those cubes - so I could omit all the
cubefaces that are on the bottom or the inside of the furniture items
and would be culled by the render engine anyway.

The surrounding skybox, the patio, the furniture shadows and the
furniture items are all on different viewport-layers to reduce z-sorting
issues as good as possible. Still there are some z-sorting errors along
the borders within the furniture items when viewed from certain angles.
I played around a lot with different segment-counts for the cubefaces to
get rid of most of these issues, but unfortunately not completely.

In order to keep the filesize of the .swf small, I decided to create the
wicker-textures for all of the different surfaces on the fly in memory.
I use a 44x29 Bitmap (exported for AS) as a tile to bitmapFill a
3000x1000 bitmap in memory. From this 3000x1000 bitmapData I copy the
right-sized chunk for each surface into a new bitmap object and use that
for a bitmap material... Of course this approach is quite heavy on
RAM-usage, so with lots of furniture items sooner or later the flash
player will bomb.

Maybe there's a smarter way, if I could use some kind of UV-mapping with
the 3000x1000 bitmap itself instead of creating all new bitmaps for
every visible surface?

Joachim
Felipe Salton - Klique Design
2011-01-21 11:24:15 UTC
Permalink
Joachim great job.
Surely you can greatly improve things, but initially it's very good!
--
Felipe Salton | Klique Design
www.klique.com.br
Hi,
I just wanted to show my first (commercial) project using Papervision3D to
all of you for comments and/or criticism. It's a planning program for
placing outdoor furniture items on a patio with an integrated fly-around
3D-view.
http://www.gartenmoebel.de/loungeplaner/index.html
On the first launch you are shown the options for the shape and size of the
patio ("Grundfläche") - just klicking on the "OK"-Button applies the default
settings.
Then you can drag furniture items from the bottom row onto the patio-area
above and drop them there. Klicking on an already placed item opens a small
menu with commands to manipulate it ("Verschieben" = move, "Drehen" = turn,
"Löschen" = remove).
The 3D-view is rendered when you klick on the Button "3D-Ansicht zeigen" in
the lower lefthand corner of the patio-space.
Fortunately all of the furniture items were composed of cubic parts, so I
could just build them inside Flash/PV3D using the cube primitive instead of
modeling them in a separate 3D-Application and importing them as DAE or
else. What I really grew fond of is Papervision's feature of excluding
cubefaces when creating those cubes - so I could omit all the cubefaces that
are on the bottom or the inside of the furniture items and would be culled
by the render engine anyway.
The surrounding skybox, the patio, the furniture shadows and the furniture
items are all on different viewport-layers to reduce z-sorting issues as
good as possible. Still there are some z-sorting errors along the borders
within the furniture items when viewed from certain angles. I played around
a lot with different segment-counts for the cubefaces to get rid of most of
these issues, but unfortunately not completely.
In order to keep the filesize of the .swf small, I decided to create the
wicker-textures for all of the different surfaces on the fly in memory. I
use a 44x29 Bitmap (exported for AS) as a tile to bitmapFill a 3000x1000
bitmap in memory. From this 3000x1000 bitmapData I copy the right-sized
chunk for each surface into a new bitmap object and use that for a bitmap
material... Of course this approach is quite heavy on RAM-usage, so with
lots of furniture items sooner or later the flash player will bomb.
Maybe there's a smarter way, if I could use some kind of UV-mapping with
the 3000x1000 bitmap itself instead of creating all new bitmaps for every
visible surface?
Joachim
_______________________________________________
Papervision3D mailing list
http://osflash.org/mailman/listinfo/papervision3d_osflash.org
o renken
2011-01-21 15:25:28 UTC
Permalink
Moin Joachim,

guter Job. Mir fällt auf: wenn ich in der Planungsansicht einen Gegenstand
verschiebe kommt es des Öfteren vor, dass das Release-Event nicht getriggert
wird - und damit der Gegenstand an der Mouse klebt. Ich nehme an, Du hast
den Release-Event auf das Sprite geadded? Versuchs mal mit der Stage, dann
sollte das klappen :)

Herzliche Grüße aus Hamburg und: rock on!
Olee
Post by Felipe Salton - Klique Design
Joachim great job.
Surely you can greatly improve things, but initially it's very good!
--
Felipe Salton | Klique Design
www.klique.com.br
Hi,
I just wanted to show my first (commercial) project using Papervision3D to
all of you for comments and/or criticism. It's a planning program for
placing outdoor furniture items on a patio with an integrated fly-around
3D-view.
http://www.gartenmoebel.de/loungeplaner/index.html
On the first launch you are shown the options for the shape and size of
the patio ("Grundfläche") - just klicking on the "OK"-Button applies the
default settings.
Then you can drag furniture items from the bottom row onto the patio-area
above and drop them there. Klicking on an already placed item opens a small
menu with commands to manipulate it ("Verschieben" = move, "Drehen" = turn,
"Löschen" = remove).
The 3D-view is rendered when you klick on the Button "3D-Ansicht zeigen"
in the lower lefthand corner of the patio-space.
Fortunately all of the furniture items were composed of cubic parts, so I
could just build them inside Flash/PV3D using the cube primitive instead of
modeling them in a separate 3D-Application and importing them as DAE or
else. What I really grew fond of is Papervision's feature of excluding
cubefaces when creating those cubes - so I could omit all the cubefaces that
are on the bottom or the inside of the furniture items and would be culled
by the render engine anyway.
The surrounding skybox, the patio, the furniture shadows and the furniture
items are all on different viewport-layers to reduce z-sorting issues as
good as possible. Still there are some z-sorting errors along the borders
within the furniture items when viewed from certain angles. I played around
a lot with different segment-counts for the cubefaces to get rid of most of
these issues, but unfortunately not completely.
In order to keep the filesize of the .swf small, I decided to create the
wicker-textures for all of the different surfaces on the fly in memory. I
use a 44x29 Bitmap (exported for AS) as a tile to bitmapFill a 3000x1000
bitmap in memory. From this 3000x1000 bitmapData I copy the right-sized
chunk for each surface into a new bitmap object and use that for a bitmap
material... Of course this approach is quite heavy on RAM-usage, so with
lots of furniture items sooner or later the flash player will bomb.
Maybe there's a smarter way, if I could use some kind of UV-mapping with
the 3000x1000 bitmap itself instead of creating all new bitmaps for every
visible surface?
Joachim
_______________________________________________
Papervision3D mailing list
http://osflash.org/mailman/listinfo/papervision3d_osflash.org
_______________________________________________
Papervision3D mailing list
http://osflash.org/mailman/listinfo/papervision3d_osflash.org
--
http://www.renkster.de/
Merrill, Jason
2011-01-21 14:56:48 UTC
Permalink
Great work. Performance was pretty good for me.

Only suggestion would be to allow for "free-form" rotation in your 3D scene, meaning, allow the camera to move around the scene based on the cursor X and cursor Y instead of jumping 45 degrees or 5 degrees at a time... but really, nice work.

Jason Merrill
Instructional Technology Architect
Bank of America Global Learning





_______________________

-----Original Message-----
From: papervision3d-bounces-***@public.gmane.org [mailto:papervision3d-***@osflash.org] On Behalf Of Joachim Baur
Sent: Friday, January 21, 2011 4:31 AM
To: papervision3d-***@public.gmane.org
Subject: [Papervision3D] Outdoor-Furniture Planner made with PV3D

Hi,

I just wanted to show my first (commercial) project using Papervision3D to all of you for comments and/or criticism. It's a planning program for placing outdoor furniture items on a patio with an integrated fly-around 3D-view.

The "OUFLEXX Loungeplaner" is in German:
http://www.gartenmoebel.de/loungeplaner/index.html

On the first launch you are shown the options for the shape and size of the patio ("Grundfläche") - just klicking on the "OK"-Button applies the default settings.

Then you can drag furniture items from the bottom row onto the patio-area above and drop them there. Klicking on an already placed item opens a small menu with commands to manipulate it ("Verschieben" = move, "Drehen" = turn, "Löschen" = remove).

The 3D-view is rendered when you klick on the Button "3D-Ansicht zeigen"
in the lower lefthand corner of the patio-space.

Fortunately all of the furniture items were composed of cubic parts, so I could just build them inside Flash/PV3D using the cube primitive instead of modeling them in a separate 3D-Application and importing them as DAE or else. What I really grew fond of is Papervision's feature of excluding cubefaces when creating those cubes - so I could omit all the cubefaces that are on the bottom or the inside of the furniture items and would be culled by the render engine anyway.

The surrounding skybox, the patio, the furniture shadows and the furniture items are all on different viewport-layers to reduce z-sorting issues as good as possible. Still there are some z-sorting errors along the borders within the furniture items when viewed from certain angles.
I played around a lot with different segment-counts for the cubefaces to get rid of most of these issues, but unfortunately not completely.

In order to keep the filesize of the .swf small, I decided to create the wicker-textures for all of the different surfaces on the fly in memory.
I use a 44x29 Bitmap (exported for AS) as a tile to bitmapFill a 3000x1000 bitmap in memory. From this 3000x1000 bitmapData I copy the right-sized chunk for each surface into a new bitmap object and use that for a bitmap material... Of course this approach is quite heavy on RAM-usage, so with lots of furniture items sooner or later the flash player will bomb.

Maybe there's a smarter way, if I could use some kind of UV-mapping with the 3000x1000 bitmap itself instead of creating all new bitmaps for every visible surface?

Joachim

_______________________________________________
Papervision3D mailing list
Papervision3D-***@public.gmane.org
http://osflash.org/mailman/listinfo/papervision3d_osflash.org

----------------------------------------------------------------------
This message w/attachments (message) is intended solely for the use of the intended recipient(s) and may contain information that is privileged, confidential or proprietary. If you are not an intended recipient, please notify the sender, and then please delete and destroy all copies and attachments, and be advised that any review or dissemination of, or the taking of any action in reliance on, the information contained in or attached to this message is prohibited.
Unless specifically indicated, this message is not an offer to sell or a solicitation of any investment products or other financial product or service, an official confirmation of any transaction, or an official statement of Sender. Subject to applicable law, Sender may intercept, monitor, review and retain e-communications (EC) traveling through its networks/systems and may produce any such EC to regulators, law enforcement, in litigation and as required by law.
The laws of the country of each sender/recipient may impact the handling of EC, and EC may be archived, supervised and produced in countries other than the country in which you are located. This message cannot be guaranteed to be secure or free of errors or viruses.

References to "Sender" are references to any subsidiary of Bank of America Corporation. Securities and Insurance Products: * Are Not FDIC Insured * Are Not Bank Guaranteed * May Lose Value * Are Not a Bank Deposit * Are Not a Condition to Any Banking Service or Activity * Are Not Insured by Any Federal Government Agency. Attachments that are part of this EC may have additional important disclosures and disclaimers, which you should read. This message is subject to terms available at the following link:
http://www.bankofamerica.com/emaildisclaimer. By messaging with Sender you consent to the foregoing.
Joachim Baur
2011-01-21 16:54:04 UTC
Permalink
Hi Jason,

thank you (and the others, too, of course) for your feedback!

We tried the mouse controlled navigation, but on slower PCs flash
couldn't render the scene fast enough, so the movement appeared very
choppy. I guess it's more of a psychological thing: When you click on a
button that causes some action, you are (unconsciously) prepared to
wait a few milliseconds for it to have an effect, but when you drag your
mouse over the scene to turn it around, you expect instant visual
updates, or else it will just appear to stutter. At least that was our
customers impression, so we removed the mouse control

Joachim
Message: 6
Date: Fri, 21 Jan 2011 09:56:48 -0500
Subject: Re: [Papervision3D] Outdoor-Furniture Planner made with PV3D
Content-Type: text/plain; charset=iso-8859-1
Great work. Performance was pretty good for me.
Only suggestion would be to allow for "free-form" rotation in your 3D
scene, meaning, allow the camera to move around the scene based on the
cursor X and cursor Y instead of jumping 45 degrees or 5 degrees at a
time... but really, nice work.
Jason Merrill
Instructional Technology Architect
Bank of America Global Learning
Loading...