- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在不给玩家造成延迟的情况下扩大我的世界/关卡的大小以包含更多游戏对象?
我正在为 Assets 商店创建 Assets 。它是一个随机程序世界生成器。只有一个主要问题:世界大小。
我不知道如何扩大世界以拥有更多的物体/瓷砖。
我想创建一个至少有 4200x1200 block 大小且没有延迟尖峰的世界。
附加信息:地形被分成 block 。它是二维的,我在所有实心瓷砖/ block 上都有盒子碰撞器。玩家可以挖掘/放置方 block 。我不担心最初加载关卡所需的时间,而是担心玩游戏时的流畅度 - 玩游戏时没有延迟尖峰。
最佳答案
如果您将每个方 block 存储为单独的游戏对象,则不要这样做。使用纹理图集和“瓦片数据”来生成每个 block 在被挖入时或在其上放置瓦片时的外观。
还要确保禁用,甚至可能删除任何不在玩家可见范围内的 block 。如果您可以计算出一次需要的 block 的最大数量,并在 block 离开屏幕时回收它们,对象池将在这里大有帮助。
详情:
关于最佳生成有很多要讨论的,所以我将发布此链接 ( http://studentgamedev.blogspot.co.uk/2013/08/unity-voxel-tutorial-part-1-generating.html ) 它向您展示了如何在 3D 空间中执行此操作,但如果不同,原理基本相同二维空间更容易一些。以下只是可能涉及的内容的粗略概述,沿着这条路走下去会带来巨大的好处,但需要做大量的工作才能实现。我在答案的底部列出了所有好处。
每个图 block 都可以成为一个简单的结构,其中包含 int id
、vector2d texturePos
、bool visible
等最简单形式的字段。然后,您可以将这些图 block 存储在每个 block 内的二维数组中,尽管为了使它们的内存效率更高,您可以在程序的其他位置存储一次 texturePos
并编写一个方法来获取 通过
。id
的 texturePos
当您对表示添加或删除图 block 的二维数组进行更改时,您会更新 block ,这是用于表示图 block 的实际游戏对象。通过遍历 block 中存储的图 block 数据,可以根据二维数组中每个图 block 的位置生成顶点网格。如果 visible
为 false,则不为其生成任何顶点。
这个网格可以单独用作对撞机,但看起来不像任何东西。还需要生成恰好是 texturePos
的 UV 坐标。当 Unity 随后显示网格时,它将显示由网格的 UV 坐标定义的纹理图集的特定点。
这样做的好处是可以显着减少 GameObjects、更好的 Unity 纹理批处理、更少的内存使用、更快的随机访问任何图 block (因为它没有任何 MonoBehaviour 开销)以及真正过多的额外好处。
关于unity3d - 如何在不增加延迟的情况下在 Unity 中创建更大的世界/关卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32147152/
我正在 Java 上开发 Tic Tac Toe 游戏(eclipse)。在我的计算机上,我的对话框非常小。我一直在努力把它做得更大。我没有任何运气。我希望这里有人能引导我走向正确的方向。下面的代码是
出于辅助功能的目的,我需要使所有可滚动控件(列表、 ListView )的滚动条更宽,滚动条箭头更大。 如何从可滚动控件(例如:TListView)获取滚动条( handle )? 如何使滚动条和箭头
在我的 flutter 应用程序中,我想制作一个圆圈作为这样的背景: 最佳答案 问题主要是当屏幕处于横向时,除非它覆盖整个屏幕,否则你不能在那里放置一个圆圈。 ClipRect 还有另一种方法,如果这
如何在列表中找到最接近的值,这将返回更高的值?示例:[3,7,12,19] 的列表,如果我的值为 8,我如何获得最接近(更大)的值 12?我想要 dart 中的这个逻辑。 最佳答案 只需过滤 List
我是一个绝对的 HTML 和 javascript 初学者,我很确定,这真的很容易实现。我生成了以下 IFRAME: document.write("");Das aktuelle Wetter in
我有点知道为什么压缩 DES 文件时它更大,但谁能给我正确的理由或链接,我似乎找不到任何原因? 谢谢:) 最佳答案 经过适当加密的密文在压缩程序看来非常像一系列随机数。如果没有以明文形式出现的模式,压
假设我有两个表,其中一个(我们称之为 person)有一个名为 type 的字段,该字段存储链接到另一个表的整数(我们称之为types 带有一个名为 id 的字段。什么会更能提高性能? 一个更大的查询
我有一个ListView,它使用GridView来显示DataTable,并且当新行添加到DataTable
我在只出现在 Firefox 中的导航菜单上遇到了一个奇怪的问题(在 IE7、8、9、10 和 Chrome 中工作正常)。菜单上的链接显示为 block ,但它们在 Firefox 中计算得比任何其
我正在使用 javax.mail 并获取邮件收件箱文件夹中的邮件计数。使用https://outlook.office.com/ Folder folderInbox = store.getFolde
我想让地球字形图标更大,以便它覆盖页面的大部分(它是矢量图像)。它不在按钮或任何东西中;它只是一个人。有没有办法做到这一点? 最佳答案 增加 glyphicon 的 font-size
我定制了一个看起来像这样的搜索栏 问题是很难捕获 slider 。所以我想做的是增加拇指的碰撞箱以使其更容易。我尝试了一些东西,但总是弄乱了搜索栏的外观。我有什么想法可以做到这一点吗? 布局.xml
我有一个问题:下载到 Documents 文件夹中的音乐比以前长 2 倍,而且体积更大。比特率也有问题(增加/减少 2 倍)。图片保存得很好,但任何音乐都有问题。也许我需要手动设置音频比特率,但我还没
为什么 div 区域仍然比图像 css 大? /image/WHDU3.jpg 如何设置 div 区域以适合图像? 最佳答案 IMG - 是行内元素,因此
我发现在对文本文件进行排序时非常困惑。不同的算法/应用程序会产生不同的结果,例如,比较两个字符串 str1=";P" 和 str2="-_-" 仅供引用,这里给出了这些字符串中每个字符的 ASCII:
我有一个应用程序已经在 Play 商店中存在多年,我刚刚构建了一个更新。该更新利用了 numberpicker,它的 min-sdk 为 11,并且在 v4 支持库中不适用。我倾向于发布我的新版本并在
你能告诉我如何强制 CSS 使 line-through 属性比元素 width 宽吗? 例如 50 结果看起来像现在如何使线条比元素更宽更明显? 赞 最佳答案 你可以使用 ,这是一种很俗气的方式 &
我想制作一个比应有的大得多的虚拟 Win32 EXE 文件。所以默认情况下,样板 Win32 EXE 文件为 80 KB。我想要一个 5 MB 的空间来测试其他一些实用程序。 第一个想法是添加资源,但
我有一个 UIView,里面有一个更大的 UIImageView。有没有办法隐藏超出 View 大小的内容? CGRect baseFrame = CGRectMake(100, 100, 300,
当我改变缓冲区的大小时,我得到了无法从 BufferedReader 解释的奇怪结果。 我曾强烈期望性能会随着缓冲区大小的增加而逐渐增加, yield 递减设置相当快,此后性能或多或少会持平。但看起来
我是一名优秀的程序员,十分优秀!