• 噪声简介


    1.噪声

      噪声是游戏编程的常见技术,广泛应用于地形生成,图形学等多方面。

      

     2.为什么需要噪声

      噪声其实就是为了把一些随机变量引入到程序中,在我们写程序时,也经常会使用random()生成随机值,但是它的问题是生成随机值太随机了得到的值往往总是参差不齐,如下图使用随机值作为像素点的黑白图

      

       而使用噪声,我们得到的值随机但是看起来却是平缓的,这种图看起来也更自然舒服(对比图中左侧为基础噪声,右侧是fbm:分型布朗姆运动 后的效果)

      

    3.噪声的特性

      3.1随机性

        噪声的基础就是随机

      3.2哈希性

        在《我的世界》中,由于世界是无限大的,他以chunk区块(16*16*255格子)为单位,之家在玩家附近的区块。也就是说当玩家在移动时,它会卸载远离的区块,加载靠近的区块。

        一个问题是当玩家离开一个区块,进入第二个区块,然后再回到第一个区块时,他看到的应该是保持一致的,所以这时我们输入相同的值应该要返回固定的值。

        因此可哈希是噪声的一个重要性质。

      3.3平滑性

        对于一个随机生成的地形来说,如果简单的使用随机和哈希组合,那么容易得到下图(以一维地图为例,x轴为位置,y轴为地形)

       

        由图可见,由于随机的杂乱无章,地形非常的参差不齐,这可不是一个自然的地形。

        我们期望的地形应该如下,不仅随机切要平滑才显得自然

        

  • 相关阅读:
    解决input 输入框频繁请求问题,如果拿取最后一次接口返回的值
    记录两个小问题
    axios 如何取消请求
    给vue组件绑定原生事件
    Vue3 与 Vue2的不同之处一 简单介绍 Vue 核心最基本的功能
    js将数组对象中,以某个值相同的对象合并成一个;即把某个值相同的对象内容合并成一个
    postcss-preset-env
    webpack5 tree shaking
    深拷贝
    webpack 性能优化
  • 原文地址:https://www.cnblogs.com/dan2/p/14242174.html
Copyright © 2020-2023  润新知