我的订单|我的收藏|我的商城|帮助中心|返回首页
虚拟现实新闻>应用>技术动态>技术应用

Unity3d开发相关:小地图高速创建

文章来源:网络 作者:bonnie 发布时间:2013年09月03日 点击数: 字号:

我最近做场景小地图创建的时候进行了一点小小的研究 想跟技术宅们分享下 大家有什么好的意见和指教也可以交流一下

做游戏或者应用开发我觉得有句话很重要,没有最好的办法,只有最适合的手段。做小地图当然是追求快准狠。快:做的越快越好。准:定位越准越好。狠:省资源和运算,省的越狠越好。好了,废话不多说了,下面介绍两种方式:NGUI插件式小地图、场景坐标投射式小地图。

NGUI插件式小地图:

这种模式下制作小地图速度相当快,只需要导入NGUI插件,整场景渲染成一张贴图,将贴图制作成NGUI的atlas(以上纯属NGUI操作,不懂的请自己搜索一下吧~我懒啊)。接下来就是重点了~

首先在NGUI的2DUI中建立一个小地图专用的panel,并且将UIPanel中的Clipping打开,不管是硬切还是软切,能切就好。
[attachment=46836]

这个就是本人小地图的Panel设置,具体的设置你们自己研究吧。

然后在这个Panel中建立一个Sprite,这个Sprite就是你的场景地图,并且把这个Sprite的缩放的ZY和场景的XZ长度对应起来(这个是偷懒的重点,你的场景多大,Sprite的XY缩放就要多大)

接下来就是在你的Panel的正中央放一个作为定位角色的东西,开始慢慢调试对位了,把游戏中角色的位置和小地图的位置对应调整好。

最后~~代码部分
[attachment=46837]

真正处理地图运动的就是17行和18行的代码~~看吧~2行代码全部搞定定位。
把这个代码拖到你的小地图Sprite上面,然后再把你的角色拖到Player这个属性上面,接下来你就能看见一个很酷的小地图了。

场景投射型小地图:

这个方式在Unity3D的官方DEMO BootCamp里面用的到位。运行这个DEMO的时候我们就能看到左上角一个圆形小地图雷达。这个小地图同样需要一个渲染的场景贴图作为地图,然后需要一个带圆形孔(其实孔的形状自己决定就好,喜欢什么样形状的就什么样形状)的面片,这个面片需要一个带Transparent Alpha_Cancel的shader的材质球,贴图同样也是地图贴图,接下来就需要一个看这个地图的摄像机了,相机保持和角色在同一XZ坐标(写个很简单的同步位置的脚本),小孔面片永远保持在摄像机相同位置,这样运行起来后就可以看到小地图跟着动了,如果需要BootCamp里面那种带方位指示的东西的话,就只需要再创建一个透明通道的面片,带上你自己喜欢的样式的指针贴图。这个方案由于有官方DEMO,就不多说啦~大家自己学习一下就好。

>>相关产品

  • 立体显示器
  • 立体投影系统
  • 立体拍摄系统
  • 数字头盔/头戴式显示器
  • 立体视频眼镜
  • 液晶快门立体眼镜
  • 手持式立体双目镜
  • 数据手套
  • 3D输入设备
  • 多点触控系统
  • 立体投影系统
  • 动作捕捉系统
  • 位置追踪器
  • 眼动仪
  • 力反馈设备
  • 3D扫描器
  • 3D打印机
  • 虚拟现实软件
    • 暂无资料
    • 暂无资料
    • 暂无资料
    • 暂无资料
    • 暂无资料