![](https://img-blog.csdnimg.cn/146796d657064fe5bdb0034b21c2c0b5.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
随机生成算法
文章平均质量分 67
游戏场景、模型、关卡、角色、数据等随机生成,
娄磊lorry
这个作者很懒,什么都没留下…
展开
-
Rpg游戏地形生成
rpg游戏中的地形一般使用高度图的形式来绘制。写了几个随机生成高度图的算法。最常见的是基于分形算法生成高度图,网上有很多资料,这里不再介绍。为水体加入 flowmap 这里简单使用梯度来代替flowmap。地形刷子可以使用自定义形状刷子,等高线刷子等。给腐蚀后的地面加入自动生成的降雨水流湖面,术语好像叫地表径流。地形的纹理使用四层纹理混合,使用法线贴图、高光贴图强化细节。一种生成断层效果高度图的算法。对高度图进行降雨腐蚀的算法。梯田化地形 风吹形成山脊。集成到一个流程图编辑器。为水面加上shader。原创 2023-12-04 19:18:01 · 474 阅读 · 0 评论 -
随机生成植物生长及舞动算法
几年前写过一套随机树木的生成算法,其中使用了分形和放样建模。那时候还不知道有speedtree这款软件,写的比较粗糙,最近看了speedtree的演示把原算法改进了一下,算是一个speedtree的简化版本。原创 2022-09-24 08:00:00 · 1203 阅读 · 1 评论 -
townscaper随机生成城镇算法分析
使用MarchingCube随机生成城镇的算法。可以配合编辑器手动编辑。仿townscaper,根据一个体素8个顶点是否为空对应256种情形(模型)来拼接最终的模型。原创 2022-08-27 07:00:00 · 1216 阅读 · 0 评论 -
流沙画模拟器源码
流沙画,在密封的玻璃镜框内,装入氧化铝、磨刚沙、无色的混合液和适量的气泡。当镜框倒竖时,利用氧化铝和磨刚沙的比重不同以及气泡的上浮力,使氧化铝和磨刚沙按不同速度下沉到空腔的底部,形成层次分明,跌宕有序的画面。 此处使用变通的方法模拟流沙动画,所有粒子沉降速度相同,这样粒子运动不会发生穿插,每一个像素上的粒子数量有限。利用...原创 2022-06-24 23:12:26 · 793 阅读 · 0 评论 -
魔塔类游戏实现源码及关卡生成
《魔塔》》是一种策略类的固定数值RPG游戏。 本篇主要讨论红塔游戏,侧重于路线的寻找。一般RPG类游戏可以使用脚本语言来编写任务剧情,这样可以使得剧情更复杂和灵活多变,这同样适用于魔塔游戏。但是为了自动生成关卡的目的,还是使用数据驱动的方法来实现游戏逻辑,这样方便编写搜索算法。游戏关卡的设计一般可以使用编辑器来编辑,编辑器很好实现,但要设计一个耐玩的关卡似乎不太简单,后面会做一些自动生成的尝试。...原创 2022-06-09 13:01:36 · 2874 阅读 · 2 评论 -
随机生成游戏建筑物的算法
随机生成游戏建筑和导航网格。版本一,使用房屋四壁扩张生长的方式生成。.版本二,先生成道路网,划分地块,再生成大厦类建筑。存在一些缺陷,有机会重构一下原创 2022-06-02 12:34:35 · 1437 阅读 · 0 评论 -
曲线的平滑和随机生成
曲线生成是随机生成算法中不可或缺的基础,比如之前介绍过的随机生成赛道,第一步就是生成一个好看的平滑曲线。比如随机生成树木,每一根树枝都可以使用一段横截面曲线沿着另一段路径曲线放样得到。比如随机生成森林中的藤蔓,可以沿着一些悬链线曲线来使用路径变形动画。曲线的差值: 合理选择差值方式可以生成不同类型的平滑曲线。//线性插值vec3 Linear_Interpolate(const vec3& a, const vec3& b, float t)...原创 2022-05-10 12:34:59 · 2077 阅读 · 0 评论 -
游戏中的捏脸系统
游戏中的捏脸系统一般有两种实现方式,一种是用骨骼动画来实现,另一种是使用变形动画(morph)来实现。用骨骼动画实现捏脸要求在面部每个细节部位绑定若干骨骼,通过移动骨骼带动面部网格顶点移动,网格顶点的移动再反馈到另外一套用于表情动画的骨骼蒙皮中。用变形动画实现捏脸要求先制作若干极端情况下的脸型模型,通过调节参数(权重)来混合这些极端模型,产生新的面部网格顶点。面部网格顶点生成后可以反馈到骨骼蒙皮中用于表情动画,也可以继续使用变形动画的方式和代表表情的极端模...原创 2022-05-07 19:43:24 · 3698 阅读 · 0 评论 -
随机数、随机方向、随机点生成算法
关于随机数生成算法,这是所有其它随机生成算法必须用到的基础。总结了几个随机数,随机方向,随机点的生成算法。原创 2022-05-04 13:55:59 · 2342 阅读 · 0 评论 -
迷宫随机生成算法
迷宫随机生成算法原创 2022-03-23 11:35:08 · 5485 阅读 · 3 评论 -
实现RPG中嵌入赛车游戏任务源代码
实现RPG中嵌入赛车游戏任务源代码原创 2022-04-07 13:01:34 · 2199 阅读 · 0 评论 -
波函数坍缩算法的实现源码
这是WaveFunctionCollapse波函数坍缩算法的实现源码。WFC算法可通过解数独游戏的过程来直观的理解,通常解数独游戏时都会先去找一个格子,这个格子可能填的数最少(即WFC中所谓的熵最小)。原创 2022-04-15 22:29:30 · 2332 阅读 · 0 评论 -
随机音乐生成器
全部源代码如下:(简单的框架,具体算法有待加强)#include "stdafx.h"#include <windows.h>#include <mmsystem.h>#pragma comment(lib,"Winmm.lib")//音节class Syllable{public:long phoneme;//音阶 音符long tambe...原创 2020-02-10 21:19:59 · 4900 阅读 · 1 评论 -
骑着大鱼吃小鱼游戏3D版源码
这是个3D版的大鱼吃小鱼游戏,可以骑着一条大鱼去吃比自己小的鱼,还是相同的小游戏架构,可以嵌入RPG中做为任务。游戏场景同样是随机生成的,鱼群的游动有flocking的效果。原创 2022-04-09 08:44:09 · 804 阅读 · 0 评论 -
又一种随机赛道生成算法
之前在赛车游戏中介绍过一种利用迷宫拼接随机赛道的算法,另外之前介绍的波函数坍缩算法也很适合用来拼接随机赛道。今天介绍另外一种随机赛道算法。路径变形算法pathdeform,熟悉3dsmax建模的应该很熟悉,有点类似loft放样。比如将一个圆沿着一条直线路径拉伸变成圆柱的过程就是放样,但是放样法产生赛道每个路段都是一样的缺乏美观。路径变形则是将一段预先制作好的直线路段扭曲贴合到赛道路径上。预先制作好的路段可以做的很复杂可以包含建筑、树木、坑洞等所有想要的东西。不同于直接拼接,路段将可以适用曲线。原创 2022-04-17 12:16:59 · 619 阅读 · 0 评论