码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • unity实现Perlin噪声


            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

    演化,需要配合脚本使用

    1. public class PerlinNoise_Test_Evolution : MonoBehaviour {
    2. public float evolutionSpeed;
    3. public PerlinNoise perlinNoise;
    4. private void FixedUpdate() {
    5. float time = Time.realtimeSinceStartup;
    6. if (time % 3 < 1) {
    7. perlinNoise.evolution.x += Time.fixedDeltaTime * evolutionSpeed * 1.0f;
    8. perlinNoise.evolution.y += Time.fixedDeltaTime * evolutionSpeed * 0.75f;
    9. perlinNoise.evolution.z += Time.fixedDeltaTime * evolutionSpeed * 0.5f;
    10. }
    11. else if (time % 3 < 2) {
    12. perlinNoise.evolution.x += Time.fixedDeltaTime * evolutionSpeed * 0.75f;
    13. perlinNoise.evolution.y += Time.fixedDeltaTime * evolutionSpeed * 1.0f;
    14. perlinNoise.evolution.z += Time.fixedDeltaTime * evolutionSpeed * 0.5f;
    15. }
    16. else {
    17. perlinNoise.evolution.x += Time.fixedDeltaTime * evolutionSpeed * 1.0f;
    18. perlinNoise.evolution.y += Time.fixedDeltaTime * evolutionSpeed * 0.5f;
    19. perlinNoise.evolution.z += Time.fixedDeltaTime * evolutionSpeed * 0.75f;
    20. }
    21. perlinNoise.Generate();
    22. }
    23. }

    关闭/开启连续

    不连续

    六方连续

    开启重映射,FbmIteration = 8

  • 相关阅读:
    .NET 跨平台应用开发动手教程 |用 Uno Platform 构建一个 Kanban-style Todo App
    3i平台体验性能加持,13600KF+B760M+撼与科技A770 TITAN装机体验
    C++之基于Winsock2封装UDPServer与UDPClient
    A1147 Heaps(30分)PAT 甲级(Advanced Level) Practice(C++)满分题解【最大最小堆】
    深度解析为什么做深度学习,都用python,而不用java或者c++
    单元测试到底是什么?应该怎么做?
    基于Qt的二维码生成与识别
    SQLserver-快速复制一行数据到数据库并修改ID
    Python有向图从起点到终点遍历所有路径
    Python打造一个词云制作软件
  • 原文地址:https://blog.csdn.net/hulinhulin/article/details/132796470
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号