三维建模之3D Scene Efficiency

本文探讨了在GIS数据中创建视觉正确的实时3D场景时,如何平衡图形质量和数据效率。重点介绍了地形模型和3D符号的数据效率问题,包括减少多边形数量、使用纹理以及定制TIN等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3D Scene Efficiency

Creating a visually correct, real-time 3D scene from your GIS data necessitates a balance between graphic quality and data efficiency. In the process of trying to achieve the highest level of realism, concerns relating to the efficiency of the data are often ignored. This approach can have serious performance implications as your 3D database grows in size. Unlike a display in ArcMap, which is relatively static, your ArcScene or ArcGlobe 3D environment will be dynamic, allowing you to move interactively through your virtual environment. Maintaining good 3D performance is really a function of data efficiency and careful creation of the scene contents.

This raises the issue of what makes for efficient 3D data. That question is perhaps best answered by considering the number of polygons you expect your computer and graphic card to render as you traverse the ArcScene or ArcGlobe 3D environment. The greater the number of polygons in your scene, the more demanding it will be for your computer to render 30 frames per second (high-quality display) as you move about the virtual scene. Keep in mind that all 3D components, from the terrain to symbols on the landscape, increase the polygon count of your scene. Performance issues for the GIS user are exactly the same issues that companies building 3D simulators have addressed for years. We in the GIS community can learn from their experiences as we create our 3D terrain and the 3D Symbols that bring the landscape to life.

Data Efficiency: Terrain Models

In a 3D scene the terrain is displayed using either a TIN or grid layer. In some cases we will have 3D (Z-aware) layers that will display without reference to an outside elevation source. You will recall from an earlier newsletter that at the ArcGIS 9.0 release, only the ArcScene 3D environment can use either a TIN or a grid elevation layer to describe the surface. The new ArcGlobe 3D environment can only use grid elevation data; TIN support will come in a later release. As a general rule, TINs make a better elevation source due to the fact that the amount of detail can vary across the scene to meet your needs, whereas the resolution of a grid must remain constant. New elevation gathering tools like the LIDAR airborne sensors can collect a very dense array of elevation points. A dense array will be helpful where detail is required (e.g. raised roadbed), but can add an excessive number of points to the TIN in areas where the slope is constant and changes in the terrain can be explained by just a few points. Some of you will recall the VIP command that was part of the TIN extension in ARC/INFO. This program attempts to pick the Very Important Points necessary to describe a terrain for subsequent use in a TIN. In the 3D scene creation process, you will need to select the necessary points while eliminating the points that are not required.

 

Customizing a TIN to create a roadbed.

With grid elevation data, the only control you will have over the efficiency of the display is the size of the individual grid cells. Obviously, smaller cell sizes will require your computer to work harder to display the terrain. If your cells are too large, roadways and other features will not display correctly. We will talk more about the tricks of terrain creation in a future issue. As you begin your 3D scene creation, we are sure that you will recognize the need to be able to edit the vertices of a TIN. Unfortunately, this is not available in 3D Analyst today.

Data Efficiency: 3D Symbols

 

A digital photo (left) and a 3D Symbol of the same building (right).

Just as the objective for a terrain is to keep the number of triangles or grid cells to a minimum, the goal in 3D Symbol creation is to keep the number of polygons used to build each symbol to a minimum. The use of textures can help you to reduce the number of polygons. Just imagine how many polygons you would need to draw a tree in a drawing program. It would be very easy to consume hundreds of polygons to draw just one tree. Add a great number of these trees to your 3D scene and your computer may become very sluggish. With the use of a texture, a tree can be represented with just one or two polygons. If the tree is in the background, you might be able to represent the tree as a billboard. Just like the name implies, a single rectangular polygon with a picture of a tree pasted on it will look like a real tree if you view it from afar. If the tree is part of a more detailed area of the scene, two or three intersecting polygons may be used with a tree texture pasted on each polygon face. Note that the file size of the texture image is also important when considering data efficiency. The smaller the image file size, the easier it will be for your computer to display the 3D Symbol. We would offer that signs, light poles, and people are three examples of symbols that can be represented with one or two polygons and a simple texture.

 

This image string shows a tree in a digital photo being converted to a tree symbol, the first with a single polygon (billboard) and the second with two intersecting polygons.

The 3D Symbol Library that comes with 3D Analyst for use in ArcScene and ArcGlobe is quite large. If you were building a fictitious scene for a game, it would probably have all that you need to create Anytown, USA. If you want to bring your GIS data to life in 3D, you will need to build custom 3D Symbols. Look at any building and try to imagine how many unique faces (polygons) are used in its construction. The approach should be to try and keep the number of polygons to a minimum and still provide something that appears correct to the viewer. The use of textures will again be important to your 3D Symbol construction. The office building shown earlier in the newsletter is a good example of how using textures can reduce the number of polygons required to create a 3D Symbol of a building. Look below and you will see the building wire-frame and associated textures that were used to create the 3D Symbol.

 

 


In the next issue we will outline the specific steps required to create a 3D tree symbol. For today’s homework assignment, start keeping an eye out for trees that you might want to photograph and convert to your own 3D tree symbol. What makes a tree a good candidate for symbol-hood? What other information do you think you will need to collect when you photograph the tree? Stay tuned for answers to these questions and more in the next issue.

We hope you find this information helpful and that you will feel free to contact us with questions, thoughts, comments and suggestions.

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值