整理总结一下最近看到的关于程序化随机生成的东西

目前主要有四种方式:

  1. 随机迷宫生成算法
  2. War3的地形拼接和随机算法,可以和其他噪声算法结合生成
  3. perlin噪声等随机生成算法
  4. wave function collapse,波函数塌缩的随机生成算法
  5. 基于Houdini的美术资产程序化解决方案

1.随机迷宫生成算法

一般的迷宫或者地牢地形的生成可以使用这些算法,这些算法网上也有很多文章介绍

三大迷宫生成算法 (Maze generation algorithm) -- 深度优先,随机Prim,递归分割

虚幻商城的这个地牢示例应该也是这种算法

Procedural Dungeon 3D

2.War3的地形拼接和随机算法,可以和其他噪声算法结合生成

主要参考:平滑过渡的战争迷雾(一) 原理:Warcraft3地形拼接算法

核心在于一次放置相邻四块的地形以及拼接的图块划分

 &

每次的点击,给相邻上下左右四块,依次加上4,8,1,2,因为这是拼接图块里的上下左右四张图的下标

所以相邻点两下,六个地块的下标就会变成如下所示,然后根据下标选择图块就可以了

这种方式只要图块拼接的设计得当,在结合各种噪声算法生成平滑过渡,也能得到不错的地形效果

3.Perlin噪声等随机生成算法

关于噪声算法的解释网上也已经有很多文章了

【图形学】谈谈噪声

以及如何在游戏中使用生成地形

游戏中的程序化地形生成技术简介

虚幻商城的一个示例也是通过这种做法生成heightmap,weightmap等等

Procedural Landscape Generator

4.Wave Function Collapse,波函数塌缩的随机生成算法

主要参考:基于《波函数坍缩算法》的无限城市程序化随机生成

Github地址:https://github.com/marian42/wavefunctioncollapse

这个也是主要介绍的一个

待补充

5.基于Houdini的美术资产程序化解决方案

主要参考:

程序生成建筑细节介绍(ue4&houdini)

Houdini技术体系

Houdini程序化通道框架生成

待补充细节

UE4_地图程序化随机生成相关推荐

  1. 2D-六边形瓦片地图的随机生成

    本文为转载,如有再转需标明原创作者及出处,请自觉尊重原创作者的劳动成果! 作者:elsong 原文:http://www.manew.com/thread-140331-1-1.html | 写在最前 ...

  2. 在Unity中简单地制作一张2D地图并随机生成资源

    这个作业属于哪个课程 软件工程2022年春-F班 这个作业要求在哪里 软件工程实践总结&个人技术博客 这个作业的目标 课程回顾.个人技术总结 其他参考文献 <构建之法> 目录 一. ...

  3. [Qt] 迷宫随机生成和自动寻路算法、布局管理器、动态效果、界面切换、播放音频【迷宫、魔塔、超级玛丽】 -C++课程设计:Qt实现的迷宫与地牢游戏

    基于QT的迷宫与地牢小游戏开发 首先贴出链接: 完整Qt源码:点击进入https://download.csdn.net/download/qq_43365825/11852112 发布可执行程序:点 ...

  4. MMO中随机生成地下城的一点随想

    找了下,网上关于这方面的资料大多是讲随机迷宫生成算法的,但是MMO中的地下城不仅仅是迷宫这么简单,不是只要生成一条或多条通路就算完成,还包括怪物的摆放,一些事件触发器类物件的摆放,地表景观类物件的摆放 ...

  5. php制作随机地图,随机生成Roguelike游戏地图算法

    www.roguebasin.com 有很多相关的roguelike资料 相当有价值 首先随机生成一套地图世界有几个概念. 数据结构 1.world 2.map 3.room 4.corridor 地 ...

  6. “以撒的结合”地图是怎样生成的——RogueLike地图随机生成

    RogueLike地图随机生成 挺喜欢玩<以撒的结合>的,觉得游戏里房间的随机生成挺有意思 刚好在写一个自己的RogueLike游戏,就想着来复刻一下 首先来看一下<以撒的结合> ...

  7. 001-unity2D游戏随机生成地图

    unity2D游戏随机生成地图 教程与素材地址出处 地图控制脚本.cs(所有变量使用用中文便于理解,实际开发中请勿这样使用) using System.Collections; using Syste ...

  8. 百度地图随机生成某个行政区域的随机坐标(用于生成模拟数据)

    百度地图随机生成某个行政区域的随机坐标 主要是为了生成模拟数据 示例 <!DOCTYPE html> <html lang="en"> <head&g ...

  9. java推箱子随机地图的产生_为什么没有人研究推箱子地图自动生成算法?算法随机生成地图,不需要地图库!?...

    其实是有的,可以参考 Ty Taylor 的 The Art and Science of Procedural Puzzle Generation,https://www.youtube.com/w ...

最新文章

  1. ROOT android 原理。 基于(zergRush)
  2. java同步互斥功能检测_猿考研之操作系统篇三(进程同步,管程,死锁)
  3. 【Android 热修复】Tinker 简介
  4. shell 查看磁盘和当前文件夹所有大小
  5. [linux]wait详解
  6. 银行对公业务结构图梳理
  7. 命名空间“Aspose”中不存在类型或命名空间名称“Slides”。
  8. Linux面试必备20个常用命令
  9. 『ExtJS』表单(二)表单行为与Asp.NET页面的消息回复
  10. 20个优秀的 HTML5 网站设计案例欣赏
  11. 华为会强迫升级鸿蒙,华为手机升级鸿蒙系统好用吗
  12. 2016年5月27日更新后MSYS2的shell用法
  13. 基于PT2001 的4缸发动机 DFI 控制讲解3 - DCDC部分
  14. Unity 扭曲扰动Shader 效果解析
  15. 清远市高中计算机考试时间,2017年清远市中考体育考试安排
  16. C#语言实例源码系列-实现获取机器码-适用于绑定机器功能
  17. 小程序加盟怎么样?加盟小程序赚钱吗?
  18. 张爱玲经典爱情语录大全
  19. 基于javascript扫雷小游戏,以前上学经常玩
  20. 微信小程序之组件 —— 微信小程序教程系列(19)

热门文章

  1. 2023河北工业大学计算机考研信息汇总
  2. Newton's Method 牛顿法求极值.
  3. git——将github仓库克隆到本地
  4. 如何批量修改文件名字的一部分?
  5. unity3d实现场景右下角人物小地图(可显示出地图上人物的位置以及boss或者其他重要坐标的小图标)
  6. Centos开机启动项
  7. MVC 音乐商店 第 10 部分: 导航和网站设计、 结论的最后更新
  8. 服务器系统内存坏了会怎样,存储服务器故障的六大原因你知道几点?
  9. 【深度学习实战04】——SSD tensorflow图像和视频的目标检测
  10. Cadence原理图层次化设计