Unity | AmplifyShaderEditor插件基礎(第十集:噪聲的種類+火焰制作-中)

一、👋🏻前言

你現在看見的是一套非常系統的ASE入門學習教程,并不是心血來潮隨心創作的。

up原來是初中物理老師(有教師資格證)后轉入程序行業,認真學習過課程設計等相關知識,只要你認真的學每一篇文章,這將是一個輕松入門的shaderASE課程

注意按照專欄默認順序閱讀

課程使用Unity版本:6000.0.47f1

課程使用ASE版本:Amplify Shader Editor 1.9.8.1

大家好,我是菌菌巧樂茲~本節內容主要講一下,shader中噪聲的種類,通過噪聲做一個很火焰相似的造型

二、思路

我們先觀察一下火焰的形狀

他是一個接近圓形,但是在往上動的形狀,再看他有顏色的部分,像一個又一個不規則的窟窿眼。

所以我們的制作分以下幾步:

1.制作圓形,中間清楚,四邊模糊

2.制作不規則窟窿眼

3.顏色是下重上輕(制作梯度)

4.不規則動起來

三、制作圓形

這一步有兩個方案都可以解決:

方案一:

畫一個圓形的圖,中間到四周是漸變,如下圖所示(制作方式略,ps,ppt什么的都能畫)

方案二:

用ase中的代碼畫一個

你這里可以不學,這里涉及了一點數學,可以用上面的方案代替,但希望大家學會,為未來更多的數學打下基礎。

1.我們有一個quad模型,就是一個平面,uv中間的點的坐標是(0.5,0.5)

2.我們計算其他點到這個點的距離,可以想象到,距離越近,離0越近,距離越遠,離0越遠,因為1是白色,0是黑色,我們可以畫出一個圖,代表從中心到四周的距離

3.把0和1翻轉一下,就是黑色和白色翻轉一下,就可以變成如下圖所示

這樣就畫成了一個圓

方案二的實際制作

1.新建一個vector2把頂點中心數據寫出來

2.拿到貼圖的其他頂點坐標

注:VertexTexCoord是什么?

之前我講過uv貼圖是什么,當uv貼圖貼到模型上之后,每一個模型頂點都會對應一個uv坐標。這個uv坐標就是vertexTexcoord。在絕大多數時候,uv坐標的值都是在0-1之間,所以vertexTexcoord的值也是0-1之間,并且左下角是(0,0),右上角是(1,1)

3.節點Distance

distance節點是計算兩個點距離的節點,把他們連起來就得到了初步的圓

4.節點smoothstep

因為上面的圓中間太小了,兩邊也太灰了,我們希望稍微改變一下

(中間太小了,意味著0太少了,兩邊灰,說明兩邊的1太少了)

節點smoothstep介紹

看輸入值在不在這個最大值和最小值之間,如果比最小值小,就等于最小值,如果比最大值大,就等于最大值。如果在他們之間,就拉一條曲線,根據曲線來輸出個值

例如,min = 0,max=1,就在0和1之間拉一條曲線,如果這時輸入值是0.7,那么根據曲線,輸出值是0.8

通過smoothstep節點,可以調節一下你希望的圓的大小,這里可以自己調試,最后菌菌茲調試的結果如圖所示。

5.圖像轉換

因為0乘任何數為0(黑色),相當于圖片消失了,1乘任何數為1,相當于保持不變,火焰是中間有顏色,兩邊消失,所以我們要把黑白翻轉,相當于0和1翻轉,方法就是用1去減【0,1】之間的數,就反轉了,如下圖所示

這樣,我們的圓圈就做完了

四、不規則窟窿眼制作

不規則的窟窿眼是用噪波制作的,ase中的噪波有5種,之前講過4種,在如下鏈接。

Unity | AmplifyShaderEditor插件基礎(第八集:噪聲波動shader)_unity 噪聲波動shader-CSDN博客


這里再介紹一種噪聲Voronoi

噪聲Voronoi

Voronoi噪聲就像在平面上撒一堆“種子”,然后讓每個種子向外擴張自己的“領地”,最終形成一塊塊像蜂窩或拼圖一樣的圖案。所以也叫細胞噪聲。如下圖所示。

這里面最主要的幾個參數(其他用到再說):

  • Scale:相當于種子的數量。種子越多,細胞越多

  • Angle:相當于你拿個玻璃棒進去攪動,在數字變化時,他會改變位置

  • unity's Voronoi:unity也有這個東西,和ase算出來的圖像不太一樣,就看你用哪個

制作窟窿眼

因為火焰一般是有邊緣感的,所以我們把voronoi噪聲用上,又因為一個噪聲太規則了,火焰是不規則的,所以我們需要把兩個噪聲拼到一起。

這里都是講過的制作方式,直接就上圖了。

1.階梯噪聲設置

2.細胞噪聲設置

3.把他們拼裝在一起

這樣就有火焰那味了。

五、結語

非常感謝你的觀看,如果你覺得我幫到你了,可以給我點一個贊嗎~

我會為此創作更多的文章。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/86390.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/86390.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/86390.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從零開始的二三維CAD|CAE輕量級軟件開發:學習以及研發,Gmsh的腳本編輯器設計!

背景: 痛點: 1.編寫.geo腳本, 沒有智能提示很頭大; 2.沒有高亮顯示很頭大! 在數值仿真過程中,大家離不開gmsh這個軟件,而在學習的過程中,也離不開要編寫.geo腳本, 寫這種腳本麻煩的要死,那么多腳本函數要記? 反正寫的很頭大, 所以,既然為了方便大家,也為了方便自己,不如自…

ModerationModel溫和模式

ModerationModel能夠對內容進?合規檢測,屏蔽那些不合規的內容。未來如果你的?模型應?需要對外提供 服務時,合規就是?個必須的標準。 1、代碼 import dev.langchain4j.model.moderation.Moderation; import dev.langchain4j.model.moderation.Modera…

OpenDeepWiki:AI代碼對話新紀元

OpenDeepWiki 現已支持更智能的多輪對話能力,讓您可以與代碼庫進行深入交流,像與真人對話一樣理解代碼邏輯和架構。新的對話系統能夠保持上下文連貫性,理解復雜查詢,并提供更精準的回答。 系統接入能力 現在您可以輕松將 OpenDeep…

Ubuntu安裝Docker部署Python Flask Web應用

一、Ubuntu安裝Docker 下面是具體的步驟: 1.準備條件:安裝前先卸載操作系統默認安裝的docker,再安裝必要支持。 #安裝前先卸載操作系統默認安裝的docker, sudo apt-get remove docker docker-engine docker.io containerd runc#安裝必要支持…

7. 實現接口多重斷言pytest-assume

pytest-assume 終極指南:實現多重斷言的無縫驗證 在自動化測試中,單個測試往往需要驗證多個條件。本文將深入解析如何通過pytest-assume插件優雅解決多重斷言問題。 一、為什么需要多重斷言? 傳統斷言的局限性 def test_user_profile():use…

HTML 按鈕單擊事件示例

# HTML 按鈕單擊事件示例 以下是幾種不同的方式來實現按鈕的單擊事件&#xff1a; ## 1. 最簡單的 HTML 按鈕單擊事件 html <!DOCTYPE html> <html> <head> <title>按鈕單擊事件示例</title> </head> <body> <!-- 方法…

Kamailio SIP+RTP雙網卡SBC呼叫流程與媒體處理說明

本文檔旨在詳細解釋基于提供的 kamailio_sbc_dual_nic.cfg 配置文件&#xff0c;在雙網卡SBC&#xff08;Session Border Controller&#xff09;場景下&#xff0c;Kamailio (5.8.3) 如何與rtpengine協同工作&#xff0c;處理SIP信令以及音頻、視頻和RTCP媒體流的轉發。該方案…

青少年編程與數學 01-012 通用應用軟件簡介 15 人工智能助手

青少年編程與數學 01-012 通用應用軟件簡介 15 人工智能助手 一、什么是人工智能助手二、人工智能助手的產生和發展&#xff08;一&#xff09;早期探索階段&#xff08;二&#xff09;技術突破階段&#xff08;三&#xff09;廣泛應用階段 三、人工智能助手的主要功能&#xf…

JavaWeb學習——day9(圖書管理系統初級)

文章目錄 1. 項目功能模塊設計1. 登錄與權限控制&#xff1a;2. 圖書管理功能&#xff08;僅管理員&#xff09;3. 用戶功能&#xff08;普通用戶&#xff09;&#xff1a; 2. 數據庫設計3. 具體功能實現步驟步驟 1&#xff1a;擴展 UserService 來管理角色步驟 2&#xff1a;修…

【設計模式】策略模式 在java中的應用

文章目錄 概述策略模式的定義與應用場景定義應用場景 策略模式的核心設計思想 策略模式的純Java實現1. 定義策略接口&#xff08;抽象基類&#xff09;2. 設計具體策略類3. 通過示例代碼理解策略模式的基本用法 策略模式的優缺點與擴展性分析1. 策略模式在設計中的優勢2. 如何讓…

Container

目錄 一、Containerd 概述 1. 什么是 Containerd 主要特點和功能&#xff1a; 2. Containerd 的起源與背景 二、Containerd 架構 1. 架構概述 2. 核心組件解析 &#xff08;1&#xff09;Storage&#xff08;存儲&#xff09; &#xff08;2&#xff09;Metadata&…

C#設計模式-Builder-生成器-對象創建型模式

using System; using System.Collections.Generic;namespace A4_Builder_生成器_對象創建型模式 {// 產品類&#xff1a;最終要構建的復雜對象public class Computer{public string CPU { get; set; }public string GPU { get; set; }public int RAM { get; set; } // GBpublic…

C語言堆內存管理詳解:malloc和free的使用指南

在C語言程序設計中&#xff0c;內存管理是一個重要的話題。本文將詳細介紹堆內存的分配和釋放&#xff0c;重點講解malloc和free函數的使用方法&#xff0c;并通過實例說明相關注意事項。 一、堆內存與棧內存的區別 在C語言中&#xff0c;內存主要分為堆內存和棧內存&#xf…

探索 Oracle Database 23ai 中的 SQL 功能

探索 Oracle Database 23ai 中的 SQL 功能 介紹目標前提條件 功能 1&#xff1a;使用 FROM 子句功能 2&#xff1a;使用 BOOLEAN 數據類型功能 3&#xff1a;使用 IF NOT EXISTS DDL 子句功能 4&#xff1a;使用 INSERT 插入多行功能 5&#xff1a;使用新的 VALUE 構造函數功能…

SQL(6)

! 會排除null數據 select name from Customer where referee_id ! 2 or referee_id is null; 交叉聯結 交叉連接&#xff08;CROSS JOIN&#xff09;-CSDN博客 197. 上升的溫度 select a.id from weather as a cross join weather as b on datediff(a.recordDate ,b.recordD…

【Java面試題】cookie、session、jwt/token的異同

以下是對Cookie、Session、Token與JWT的異同的完善分析&#xff0c;結合技術原理、安全性和應用場景進行系統性對比&#xff1a; &#x1f50d; 一、核心概念與工作流程 機制定義工作流程核心特點Cookie客戶端存儲的小型文本數據1. 服務器通過Set-Cookie響應頭下發數據2. 瀏覽…

數字經濟時代科技創業的巨大潛力

2025年3月&#xff0c;42歲的字節跳動創始人張一鳴以655億美元身家成為中國新首富。這位"80后"企業家白手起家的故事&#xff0c;展現了數字經濟時代科技創業的巨大潛力。本文將帶您了解張一鳴的成功秘訣&#xff0c;分析網絡安全行業的最新趨勢&#xff0c;并為計算…

深入剖析Nginx架構及其不同使用場景下的配置

一、Nginx 整體架構概覽 1. Nginx簡介 Nginx 是采用 C 語言 編寫的高性能 Web 服務器、反向代理服務器及郵件代理服務器&#xff0c;特點是&#xff1a;高并發、高可用、低內存占用、模塊化設計。 架構核心理念&#xff1a; Master-Worker 多進程模型 事件驅動&#xff08;…

單元測試詳解

&#x1f345; 點擊文末小卡片&#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 對于軟件測試&#xff0c;我們先按照開發階段來進行劃分&#xff0c;將軟件測試分為單元測試、集成測試、系統測試、驗收測試&#xff0c;下面我們來聊聊單元測試。…

四款好用的Windows虛擬打印機,文檔轉PDF

1&#xff0c;Microsoft Print To PDF 2&#xff0c;Foxit Reader PDF Printer 3&#xff0c;Adobe PDF 4&#xff0c;clawPDF 參考文檔&#xff1a; https://mp.weixin.qq.com/s/_mt4J2RwhqQE36DRAvc-Rg