unity实现Perlin噪声

news2025/1/20 3:54:22

        Perlin噪声目的是为了生成连续变化的随机值。这里推荐一个使用unity实现的perlin噪声插件,包含源码,源码下载地址:https://download.csdn.net/download/hulinhulin/88323641icon-default.png?t=N7T8https://download.csdn.net/download/hulinhulin/88323641

插件界面:

点击Generate生成噪声,点击SaveToDisk将噪声保存到本地

主要参数说明:

SaveToDiskPath:保存路径

Resolution:分辨率

Frequency:频率

Is3D:生成3D噪声

IsTilable:生成连续的噪声,需要保证分辨率/频率=整数,例如 256 / 4,256 / 8

FbmIteration:分形噪声迭代次数

RemapTo01:将噪声值重新映射到[0,1]

Invert:将噪声值反相

Evolution:演化动画,需要配合脚本使用

提示:3D噪声的内存占用和运算量都比较大,生成3D噪声时,分辨率最好不要超过256(除非你的显卡很棒)

示例

默认2D噪声

关闭/开启连续

不连续

四方连续

开启重映射,FbmIteration = 8

演化,需要配合脚本使用

public class PerlinNoise_Test_Evolution : MonoBehaviour {
    public float evolutionSpeed;
    public PerlinNoise perlinNoise;

    private void FixedUpdate() {
        float time = Time.realtimeSinceStartup;
        if (time % 3 < 1) {
            perlinNoise.evolution.x += Time.fixedDeltaTime * evolutionSpeed * 1.0f;
            perlinNoise.evolution.y += Time.fixedDeltaTime * evolutionSpeed * 0.75f;
            perlinNoise.evolution.z += Time.fixedDeltaTime * evolutionSpeed * 0.5f;
        }
        else if (time % 3 < 2) {
            perlinNoise.evolution.x += Time.fixedDeltaTime * evolutionSpeed * 0.75f;
            perlinNoise.evolution.y += Time.fixedDeltaTime * evolutionSpeed * 1.0f;
            perlinNoise.evolution.z += Time.fixedDeltaTime * evolutionSpeed * 0.5f;
        }
        else {
            perlinNoise.evolution.x += Time.fixedDeltaTime * evolutionSpeed * 1.0f;
            perlinNoise.evolution.y += Time.fixedDeltaTime * evolutionSpeed * 0.5f;
            perlinNoise.evolution.z += Time.fixedDeltaTime * evolutionSpeed * 0.75f;
        }

        perlinNoise.Generate();
    }
}

关闭/开启连续

不连续

六方连续

开启重映射,FbmIteration = 8

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/997175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vscode 下载安装

vscode 下载安装常用插件 vscode 官网&#xff1a; https://code.visualstudio.com/ 点击右上角 Download 进入下载选择页面 选择自己使用操作对应 CPU 架构 下载 本文使用 x86 架构 64位 windows 系统为例 跳转下载页面 自动 开始下载 下载不开始&#xff1f;试试这个直…

关于黑马hive课程案例FineBI中文乱码的解决

文章目录 问题描述情况一的解决情况二的解决 ETL数据清洗知识社交案例参考代码结果展示 问题描述 情况1&#xff1a;FineBI导入表名中文乱码&#xff0c;字段内容正常情况2&#xff1a;FineBI导入表字段中文乱码&#xff0c;表名内容正常 情况一的解决 使用navcat等工具连接…

第九章 Linux实际操作——Linux磁盘分区、挂载

第九章 Linux实际操作——Linux磁盘分区、挂载 9.1 Linux分区9.1.1原理介绍9.1.2 硬盘说明9.1.3 查看所有设备搭载情况 9.2 挂载的经典案例9.2.1 说明9.2.2 如何增加一块硬盘9.2.3 虚拟机增加硬盘步骤 9.3 磁盘情况查询9.3.1 查询系统整体磁盘使用情况9.3.2 查询指定目录的磁盘…

TypeScript对象类型

废话不多说&#xff0c;还是挑点有营养的讲。 对象类型 1、匿名对象 匿名对象类型是在定义变量时直接使用花括号{}&#xff0c;来定义一个对象类型。 const person: { name: string, age: number } { name: John, age: 25 }; 2、接口类型 使用接口来定义对象类型&#x…

二叉树的顺序结构以及堆的实现——【数据结构】

W...Y的主页 &#x1f60a; 代码仓库分享 &#x1f495; 上篇文章&#xff0c;我们认识了什么是树以及二叉树的基本内容、表示方法……接下来我们继续来深入二叉树&#xff0c;感受其中的魅力。 目录 二叉树的顺序结构 堆的概念及结构 堆的实现 堆的创建 堆的初始化与…

LeetCode(力扣)455. 分发饼干Python

LeetCode20. 有效的括号 题目链接代码 题目链接 https://leetcode.cn/problems/assign-cookies/ 代码 从大遍历 class Solution:def findContentChildren(self, g: List[int], s: List[int]) -> int:g.sort()s.sort()index len(s) - 1result 0for i in range(len(g) -…

老胡的周刊(第107期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 open-interpreter[2] 基于 LLM 为你提供一种…

车载软件架构——基础软件供应商开发工具链(一)

车载软件架构——基础软件供应商&开发工具链(一) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己…

创建 gstreamer 插件的几种方式

系列文章目录 创建 gstreamer 插件的几种方式 使用 gst-template 创建自己的gstreamer 插件 使用 gst-plugins-bad 里面的 gst-element-maker 工具创建gstreamer 插件 文章目录 系列文章目录前言一、gstreamer 官网提供创建插件的方法总结参考资料前言 本系列文章主要介绍如何…

EasyExcel实现指定行列的相同内容单元格合并

ExcelMergeUtil工具类 package com.sdy.resdir.biz.util;import com.alibaba.excel.metadata.CellData; import com.alibaba.excel.metadata.Head; import com.alibaba.excel.write.handler.CellWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHold…

机器学习从0到1

机器学习&#xff0c;即machine learning 感谢easyai的精彩讲解&#xff1a; easyai网址 文章目录 机器学习的概念机器学习的原理监督学习&#xff0c;非监督学习&#xff0c;强化学习监督学习非监督学习强化学习 机器学习实操的7个步骤现在举一个具体的任务来说明这些步骤1.收…

Visual studio解决‘scanf: This function or variable may be unsafe. 问题

使用C语言的scanf函数在Visual Studio软件上运行会报如下错误&#xff1a; scanf: This function or variable may be unsafe. Consider using scanf s instead. To disable deprecation, use. CRT SECURE NO WARNINGS. See online help for details. 这个函数或变量可能是不安…

Red-Black Tree红黑树

红黑树特点&#xff1a; 1.根节点必须为黑色&#xff1b; 2.每个节点到子节点经过相同数目的黑色节点&#xff1b; 3.红色节点的子节点必须是黑色&#xff1b; 4.空指针也作为节点 红黑树如何插入新的节点&#xff1f; 1.如果是空树&#xff0c;插入新的黑色节点作为根节点&am…

Wine 8.14 开发版正式发布

Wine 8.14 最新开发版已正式发布。 Wine (Wine Is Not an Emulator) 是一个能够在多种兼容 POSIX 接口的操作系统&#xff08;诸如 Linux、macOS 与 BSD 等&#xff09;上运行 Windows 应用的兼容层。它不是像虚拟机或者模拟器一样模仿内部的 Windows 逻辑&#xff0c;而是将 …

2023-9-10 Nim游戏

题目链接&#xff1a;Nim游戏 #include <iostream> #include <algorithm>using namespace std;int main() {int n;cin >> n;int res 0;while(n--){int x;cin >> x;res ^ x;}if(res) cout << "Yes" << endl;else cout << …

SICTF-2023-Crypto

文章目录 古典大杂烩RadioMingTianPaoeasy_coppersmith签到题来咯&#xff01;small_eeasy_math 古典大杂烩 题目描述&#xff1a; &#x1f429;&#x1f443;&#x1f42a;&#x1f43c;&#x1f445;&#x1f42f;&#x1f429;&#x1f448;&#x1f447;&#x1f46d;&a…

基于SSM的电子竞技管理平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

自学移动端(APP)自动化测试

国庆已经过去了&#xff0c;新的一周已经开始了&#xff0c;各地疫情又开始出现复发了&#xff0c;我们能做的就是做好个人防护、去哪报备、到哪扫码亮码、主动做核酸、随时做好家里存储至少一周的食物&#xff0c;拒绝过度防疫&#xff0c;拒绝过度恐慌&#xff0c;拒绝过度焦…

linux Nginx+Tomcat负载均衡、动静分离

linux NginxTomcat负载均衡、动静分离 1、Tomcat的基本介绍1.1Tomcat是什么&#xff1f;1.2Tomcat的构成组件1.3Tomcat的核心功能1.4Tomcat请求过程 2、Tomcat部署2.1安装tomcat2.2优化tomcat启动速度2.4主要目录说明 3、Tomcat 虚拟主机配置3.1创建fsj和mws项目目录和文件3.2修…

【操作系统】聊聊内存中的cache和buffer

通过free命令&#xff0c;可以查看buff/cache使用了368MB内存。从字面上理解cache是缓存&#xff0c;buffer是缓冲区。那么具体有什么含义呢&#xff1f; free数据来源 通过man free 可以看到 free的 buffer/cache 来自/proc/meminfo buffers &#xff1a;内核缓冲区cache …