【二次开发】CityMaker更换天空盒

本文介绍如何在CityMaker中进行天空盒的更换,以提升三维场景的真实感。天空盒由六张贴图构成,通过设置不同的视口展示不同效果。CityMaker支持16种视口模式,并提供了ISkyBox接口进行操作。文章详细阐述了.NET和JS两种方式设置天空盒的步骤,并提醒了在更换过程中可能遇到的视口模式授权和显卡支持问题。
摘要由CSDN通过智能技术生成

**

换个漂亮的天空盒子

**

一:技术原理

天空盒子指的是在三维场景中,利用贴图的方式模拟现实中的天空,以达到场景更加真实的效果。

而每个天空盒子则由6个面构成(即四面体),因此需要6张不一样的贴图来表示各个方向的天空。

在三维场景中,我们还可以创建不同区域来显示不同图形,这个区域即视口。

视口(Viewport)是指窗口中的绘制输出区域。我们可以通过同一个场景建设多个视口,然后在每一个观察口都从不同的方向去观察模型,从而很方便地去获取模型当前的状态。

CityMaker的场景中共有5个视口,为序号0-4,分别表示第一个到第四个视图、PIP画中画视图。

CityMaker支持16种视口模式,请参考本章第三节。

主要接口:

ISkyBox::SetImagePath  ( gviSkyboxImageIndex  ImageIndex,  BSTR ImagePath  ) 
参数详解:
    ImageIndex:指天空盒四方体中的面类型。
    ImagePath:指向图片所在的文件路径,支持HTTP网络路径。

天空盒四面体的面类型为枚举型,如下:
gviSkyboxImageFront  北向 
gviSkyboxImageBack  南向
gviSkyboxImageLeft  东向 
gviSkyboxImageRight  西向 
gviSkyboxImageTop  顶部,注意图片的上方靠南 
gviSkyboxImageBottom  底部,注意图片的上方靠北

详情请参考SDKHelp中的ISkyBox接口。

二:设置(或更换)天空盒子

1. .Net步骤

多个视口的不同的天空盒子效果如下: 设置多个视口的天空盒子
在这里插入图片描述
(1)设置天空盒子

     string[] pngNames = new string[] { "1_BK.jpg",
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值