位置: 编程技术 - 正文

仿《文明》游戏制作日志3(模仿文明)

编辑:rootadmin

推荐整理分享仿《文明》游戏制作日志3(模仿文明),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:我想看文明游戏,模仿文明的手游,文明仿写,模仿文明,模拟文明游戏,模仿文明的手游,像文明的游戏,模仿文明的手游,内容如对您有帮助,希望把文章链接给更多的朋友!

一、关于正方形转化为六边形问题。

延伸上次日志的方法,先生成一个矩形,然后通过简单地取中点和取四分点,构筑正六边形。然而遇到的问题是,高度数组是一个由离散的点组成,这些点组成的矩形肯定无法构筑一个正六边形。所以,直接生成矩形是无法做到的,只能还是回到将高度数组分成若干个小的正方形。

搜索一下“正方形内作正六边形”的问题,大概能给的答案是如下:

然而这并不是正六边形。想象一下,如果把左右两条边拉长适当的距离,内部的六边形肯定可以变成正的,实际上拉长至原来 2/√3 倍即可。令人兴奋的是,Unity的地形中,虽然高度图分辨率已经是固定的2^n&#;1,但地形的长和宽是任意设置的,所以生成高度图的时候完全用正方形来构筑六边形,后期将地形长宽比例设置成2:√3即可得到正六边形。

二、构成地图

按照刚才的方法所生成的地图应该是这样的:

仿《文明》游戏制作日志3(模仿文明)

蓝色的正方形是一个 * 的小型高度图,它们相互嵌套,使得根据其生成的六边形组成整个地形。由于嵌套,每个小型高度图占总体高度图的长和宽是不一样的,由图可知,长占满&#;,宽占&#;。就是说,如果一个高度图分辨率为的地形,共有 / * / * 4/3 = 。这个&#;对于一个中等的地图是偏小了。再延伸开去,由于分辨率只能是2的幂,所以更小一级地图&#;子数目只能是,更大一级地图&#;子数目,它们是一个比例为4的等比数列,这些都不是合适的&#;。

有没有更好的构成方法?观察一下《文明》的地图,它是呈矩形的,是否可以将两张的地形合起来,*2 = 已经接近左右这个合适的&#;了。合起来后的矩形长宽比例为4:2,这个“2”将来要拉长以形成正六边形,那么用这样方式形成的地形总体比例是√3:1= 1.。我们知道黄金比例2 / (√5-1) = 1.,1.已经是一个比较舒适的比例了。玩过《文明》的都知道,它里面的地形主要分两种:由一个大陆组成整张地图 和 两个大的州组成整张地图。对应这里的,不是就是两个地形各自生成自己的大陆,如果是前面的一种方式,就把两个的路连接起来,否则直接合并。想到这里,我更加肯定这个构成方法的正确性。

用刚才讨论的方法构成地图,分别用、、的地形构成小、中、大地图,&#;子数目分别为、、还是没有摆脱比例为4的命运。一个解决方法是用更大一级的地形(小用,中用,大用),但用一部分。结果是小地图的&#;子数目可以再~浮动,地图的尺寸更加灵活,也会有更多分级而不限于小、中、大。参考《文明》,中等地图大概有个&#;子,对应的分辨率大概是*,它的更大一级可能是*2 = &#;子,对应分辨率为*。实际上,如果所有地图尺寸中的&#;子数不超过,都可以用两个分辨率的地形表示。但是我找遍unity关于地形的接口,找不到一种方法用来“忽略”用不到高度图。

到目前为止生成地图的整体框架已经出来了。后面就是实现了。

unity5.0安卓开发环境配置 之前弄过这破玩意,后来从装了个系统,一切还原,自然辛苦配置的安卓环境也没有了。我这人还有点强迫症,喜欢式化硬盘,后果你懂的,所以就只

Unity项目中UI同学需知的程序相关要点 原文地址:

【VR】Leap Motion 官网文档 HandController(手部控制器) 前言:本系列译文是为迎合UnityVR的热潮与大家的学习需要,推出的针对Unity方向的LeapMotion官方文档中英对照翻译。本篇第五篇《HandController(手部控制

标签: 模仿文明

本文链接地址:https://www.jiuchutong.com/biancheng/377240.html 转载请保留说明!

上一篇:Unity3d中EventTrigger的封装

下一篇:unity5.0安卓开发环境配置(unity安卓游戏开发)

  • 购买土地税率是多少
  • 税务问答网站
  • 收到发票冲红怎么做分录
  • 增加经营范围需要重新做税种
  • 购进用于研发的国产设备进项税可以抵扣吗
  • 特许权使用费怎样向海关申报
  • 公司的车辆赠送公司
  • 汇款后又退回来是什么原因
  • 保险公司返点啥意思
  • 非居民企业所得税
  • 企业清算时卖了车怎么办
  • 自己生产的产品用于职工福利
  • 红字发票开具只能针对一份发票 不可以只冲红其中一部分吗?
  • 外籍人员的个人所得税怎么算
  • 消费税为什么不计入长投成本
  • 应付账款无法支付所得税处理
  • 发票过期未认证可以用吗
  • 进项税额转出不交税款怎么处理
  • 收入是零招待费怎么汇算
  • 福利费计提包括奖金吗
  • win10 0×0000007b怎么解决
  • Win10 64位正式版系统安装方法全过程图解(U大师)
  • 跨越红字专用发票开票流程
  • 企业合并案例
  • 如何查看microsoft账户的邮箱
  • php文件可包含哪三部分代码
  • 分公司与总公司的关系
  • 未到期责任准备金是什么意思
  • 期间费用属于间接生产费用吗
  • php require include
  • 工程结算需要哪些施工方案
  • 高新企业政府补贴政策
  • 1050ti能玩绝地求生吗
  • mac vue搭建本地环境
  • 房地产公司活动方案
  • 企业支付宝要交税吗 要交多少钱
  • element ui 左侧导航
  • 其他非流动资产包括哪些
  • php7 openssl
  • 开红字发票导入信息不完整怎么处理?
  • 可以主营业务成本增加现金减少吗
  • 一般纳税人购进免税农产品如何抵扣进项税额
  • 农民工的劳务报酬个人所得税怎么那么高
  • 发票未认证跨月怎么办
  • 新个税累计免税额
  • sqlserver2005属于
  • 企业进项税率是多少
  • 什么是营业净利率计算公式
  • 办理地税手续费
  • 长期股权投资的账务处理
  • 普通发票可以抵扣吗
  • 劳务报酬所得是否含增值税
  • 小企业资产总额怎么计算
  • 非正常损坏的商品计入哪个会计科目
  • 工程外管核销报告范本
  • 小微企业要记账吗
  • 对方公司收钱不开发票怎么办
  • 预付押金是否可以退回
  • centos 6.6安装教程
  • windows9预览版下载
  • dns_config_service_win
  • Win10预览版拆弹
  • xp录音软件
  • xp系统无法正常启动怎么办
  • linux发布项目
  • 在对linux系统中dir
  • 深入解析java编译器源码剖析与实例详解pdf百度云
  • nodejs读取json文件,并返回列表
  • nodejs文件操作
  • shell中数组如何定义
  • Jqgrid之强大的表格插件应用
  • linux shutdown命令详解
  • js如何输出页面内容
  • 60后歌手有哪些
  • 江西省国家税务局李德平
  • 个人开服务费发票 个人所得税
  • 火灾损失进项税额怎么处理
  • 什么是契税发票?
  • 江苏税务局网上预缴税流程
  • 镇江市物业管理协会
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设