自由學習記錄(69)

RectToPolar()將直角坐標系 (笛卡爾坐標系) 的 uv 坐標,轉化為極坐標系(θ,r)?

  • uv - centerUV:將坐標原點平移,使 (0.5, 0.5) 變成原點。

  • r = length(uv):距離中心點的半徑(從中心向外擴散)。

  • θ = atan2(y, x):當前像素相對于中心的角度(從X軸正方向逆時針為正)。

但這段代碼的設計哲學并不是你想的那樣。

直接使用極坐標 (θ, r) 當作貼圖的 uv 來采樣,換句話說:

🌈 它不是在“原圖 uv 空間”修改,而是:

使用一個 特殊準備的貼圖(它本身是極坐標展開形式),
然后在極坐標中移動采樣坐標(r + time) → 直接采樣該貼圖。

所以這段代碼背后其實隱含了 貼圖是以極坐標方式展開的結構

也就是說,這張要采樣的圖,里面的數值信息,就是基于

這一段的規則而響應去設計的形狀?

? 完全正確。這張要被采樣的貼圖(_MainTex),它的紋理內容是專門為極坐標結構而設計的。

橫軸 U(0 → 1):代表 θ(角度)從 -π → +π ?
縱軸 V(0 → 1):代表 r(半徑)從中心 → 外圈

xxxx

增加了頂點色,對應的就是流動時的,環外淡入,中心淡消失

這里的頂點色是屬于模型的,是莊佬自己的disk模型里面帶上的數據

appdata里面可以直接取出

【TA入門】極坐標:原理與實現_嗶哩嗶哩_bilibili

void Rotation(inout float3 vertex) {
用 inout 代表直接修改傳入的 vertex 坐標本身。

  • _RotateSpeed 控制旋轉快慢,_RotateRange 控制最大旋轉角度。

  • frac(_Time.z * speed):把時間變成 [0,1] 的周期

  • * TWO_PI:轉成角度(0~2π)

  • sin(...):讓角度來回正負擺動。

要轉換成弧度制的喲,才可以放到sin() 和cos()里面得出最原始親切且標準的0到2π變化

直角坐標系轉成極坐標

同一個點的表示形式變化

可輸出的含義依然可以相同,可以通過平面坐標得到一張uv的準確位置

通過極坐標也可以

src源信息沒有發生變化

信息的表現形式sub src---只能針對單獨一個 信息讀取方read,才有效

一種subsrc只能給出一種規范的讀取方法,或者說因為solo read的出現,才導致subsrc的產生

subsrc可以被非規范的讀取,但subsrc此時失去sub的形式意義

轉換極坐標,是創建subsrc,而讀取方式-----對應------sub的誕生

坐標系的轉換,emmm

xxxx

Everyone tends to favor those rigid yet honest and motivated junior colleagues. Such individuals are easy to guide. In contrast, those with overly wild and radical ideas, especially when they are new to the organization and hold relatively low - level positions, are generally difficult to mentor.

so,you know what to do

sd了解一下

第四集 了解材質的工作流程_嗶哩嗶哩_bilibili

xx

做游戲引擎要看的書。。

頂點色作為參數傳入

是貼合模型uv的四個通道

實際上只刷了三個通道

在xz軸上的扭動,是兩個直接相加的,對頂點的x和z位置移動相互獨立,可以完美分離疊加

通過r遮罩,控制移動的數值生效范圍-身扭動

通過反r得出腦-腦旋轉

x和z方向的扭動

通過vertex.y,加在sin(x+O)里面,y正好規則向下

這里直接再乘以一個值,從而控制波長

總結,可以疊加性,前后可以不先管

效果疊加沒問題

寫一條語句就默認此時別的不動,比如默認y規律變化從而控制了一個波長的參數

LIGHTING_COORDS(5, 6)

vert里面的normalwS是模型上的一套的,是建立tbn矩陣

而想要在frag里面采樣更精準的normalmap,所以要把tbn矩陣傳出來,給frag里面解包再轉換成真正的世界法線--基于更精準的normalmap

xxxx

給三個指針單獨繪制了頂點色

要實現,首先刷頂點色,三個通道挑出三個時針

外暴露三個旋轉角度控制值給c#修改

在內部接受一個旋轉角度,直接改變到正確的頂點位置

遮罩識別出位置,然后進行偏移,

給這個像素,旋轉點

_RotateOffset ("旋轉偏移", float3) = (0.0, 3.205, 0.0)

這樣寫property是不可以的

必須用vector

純p,假的,中間的部分就是整個針在轉,甩著轉

vertex.y -= offset * mask; // STEP 1: 先平移到中心點


float radZ = radians(angle * mask);
float sinZ, cosZ;
sincos(radZ, sinZ, cosZ);
vertex.xy = float2(
? ? vertex.x * cosZ - vertex.y * sinZ,
? ? vertex.x * sinZ + vertex.y * cosZ
); // STEP 2: 繞Z軸旋轉


vertex.y += offset * mask; // STEP 3: 再移回原位置

中間的旋轉部分,是默認中心是在原點的旋轉方法

首先指針也是同一張uv上的采樣塊圖

要做到旋轉圖

就是旋轉,采樣的規則,讓之后的采樣可以用歪的方式采樣三根針

然后顯示出來的就是三根針在移動

旋轉的方向是單獨z angle

所以,必然是有一個offset值,而且必須要準確,

旋轉了采樣的手段,

旋轉的是采樣的手段,uv圖始終都是三根指針豎著放在固定的位置

可以在shader中修改位置,

純p,和后面的采樣完全獨立,采樣坐標獨立,此是在之前移動頂點的

為什么移動了vertex的位置,但沒有影響采樣?

控制單個像素的時候

只可以在采樣上改位置,

此時三角片已經固定,三個點vertex是固定的

在函數里可以修改頂點的位置,也就是修改三角片的形狀

確認三角片形狀之后才允許,采樣,因為必然的插值需要

插值是必然的,應對于vertex的變化

uv是可以在vert 函數里被修改的,uv傳入給vert,是模型,

appdata里面的uv是頂點的uv值

是頂點要采樣的位置要在一張uv圖上的哪個精確點

模型的默認uv,轉換為正常0-1的二維圖,而上面的點Scatter,多個獨立的雕像

appdata給的是副本

單個雕像點,二維是uv坐標,三維是vertex坐標

數據同源,但分兩份,可以分別操作,相互isolate,

可以修改vertex三維形式信息,此時uv二維形式的雕像點信息不變

而到frag處理時,二維的信息回被依然正常使用,三維的vertex變化并不影響二維的采樣

進入frag,各個雕塑點被固定(vert可修改副本三維的雕塑點,進入frag雕塑點固定),之間開始被插值,被frag使用

那么雕塑點,,frag里面如何識別其中的插值?自己插在哪? pass

blender video editing里的序列編輯器調整重復的時長怎么調

這個干什么的

---自動關鍵幀,自動了什么

只要雜播放頭下方,對任何場景里的物體做出了什么改變,blend會立刻把這個變化插入關鍵幀

2d

到新的一幀就清屏幕,以及保留上一幀的效果但是透明

gpencil默認花一幀就清掉上一幀的內容

洋蔥皮就是保留上一針的結果,可以調整透明度之類的參數

可以用多幀,前好幾針一起疊上來也沒有問題

xxxxx

賽博punk的變化,用頂點色通道,分離出使用特效的人和底座,人1底座0

需要兩套uv

這個設置是讓normalmap生效,像解包那樣

xxx

網格,塊狀的消散,帶有隨機性,的消散移動方向

分別制作的rgb三個通道(a純白)

Effectmap三個通道

首先一個切分通道,變成網格

模型面,消失-隱藏,分塊,這個塊的移動隨機性

第三個通道是模型格上的坡度值

(一般也不好命名,因為特效的shader的出創新成分很高)

uniform color clr,純色,在sd中作為節點使用

xx

特效紋理2,是3dnoise,

模型拽到sd里面,給出信息

選著模型,然后給出bake model info

可以在里面看到模型的多套uv,跳出要的那一套,然后,選擇需要的添加操作,這里選Position

就可以對應的烘焙成一張圖

bitmap是導入外部圖像用的

這么一看最種的效果里,連的節點并沒有用很深的變化,還算簡約

從模型里面得到了圖,然后切格子,為了需要,切割通道,把格子線加實,然后翻轉方便識別使用,之后用flood節點,把里面每個格子分開單獨處理,很簡單的連線,但也可以做出很不錯的效果

過程中,單獨的uv查看,也并不需要Material的參與,3d view可以不用

中間的線變化的非常急促,這張圖存的信息過于高頻---對比度高,并不利于壓縮

可以做的只有降低這種切分網格的密度

網格信息是模型提供,可以是三角面的形式,也可以是四角面,為了科幻感選擇了四面的切割方式

,是使用zbrush切割,得到好的切割圖,此時拉入sd中? 可以提取出好的這種模型上都是四邊形的切割形式

比起單獨開一張圖存一個通道,硬要把某張圖的空a通道里塞進去一張圖,不一定是優化,也一樣可能變成一張很大的圖

低頻信息,導出256 的大小就足夠了

xx

混亂度,打的高整個格子各自飛遠,為0則,完全不變,只是消散效果

分三個材質控制了從腳到頭的消散效果

調快頭材質波速就會岔開

alphablend 是不預先乘以 透明度

頂點色,模型內置數據,brush刷,

xxxxx

02.引擎架構分層 | GAMES104-現代游戲引擎:從入門到實踐_嗶哩嗶哩_bilibili

psd這樣的文件格式,里面存儲的很多信息是需要再ps軟件上面,相應模塊的功能識別,才有用

而引擎是獨立的,沒有那么多時間管格式的問題,必須要統一,所以,會對Resource有要求

引擎中不管你是jpg還png格式,一定會被先轉換成dps格式,高效數據格式,轉換的就叫Asset

同理還有word比純txt要大

每個資產有獨立的序列號,相互之間的引用也是一種資產

Gc是資源層的概念,對資源的有效和無效化

老師在第一個半年并沒有寫很多的graphic feature相關的東西,也不是漂亮的render 和shader

而是在同一數據格式

不止渲染,渲染只是其中一個小部分

先tick logic,再tick render

這個姿態你無論繪制他還是不繪制他,他的這個姿態已經存在了,

此次出現觀察者,小明有一雙眼睛接受,成為一張2維的圖像

(張三有沒有打到李四,算邏輯tick,而與render無關,因為無論觀察是否存在,張三都打了李四,,而這個邏輯在接觸到網絡之后,會變的更加復雜)

相機的第一人稱晃動----游戲和游戲引擎在feature層打架,

曾經單核現在多核,是巨大的變化,logic和render分到兩個線程里,最基礎的多線程算法

profiling里判斷,每一個小窗口是不是均衡的吃滿的,如果有的很滿有的吃不掉,大概率是沒有采取高級的job式分發任務的多線程使用

游戲引擎里最不追求的就是計算的精確度,為了計算速度,偏離的準確完全不在乎

比如這個自寫的新近似計算方法,效率會遠高于系統的sqr方法

引擎的數據庫中廣泛使用的技術

一次性算四個向量,simd的core層的數學計算技術

xxx

在引擎的core層,像c++里面的各個數據結構,鏈表,數組,都要重新做一遍

因為一般的大量增刪數據過程中,會產生大量的空洞,而且內存的使用是不受你控制的

游戲引擎會申請一大塊內存,然后自己再內存里建一個小操作系統,這塊內存大小幾乎不變,不允許被干擾

----

把數據放在一起訪問,盡可能按順序來訪問,盡可能一起讀寫,引擎的內存優化三大方向

平臺層的權重沒那么小,說是引擎高下之分的地方也不為過

https://github.com/BoomingTech/Piccolo

104的引擎github

xxxx

shift在sd里直接拖動整個連接點

xxxx

coloso:殺手鏡頭是遠景,是像沒有透視一樣,非常長焦

Grease Pencil 對象中,有兩個核心繪圖組成部分:

名稱作用
🖊? Stroke(描邊)用線條繪制出來的輪廓,路徑數據
🎨 Fill(填充)用來填充封閉區域內部的顏色(可選)

Grease Pencil 對象(Object)
└── 圖層(Layer)
? ? └── 幀(Frame)
? ? ? ? └── 描邊(Stroke)← 就是你說的 Stroke
? ? ? ? ? ? └── 點(Points)
所以:
🟥 Stroke 是 Grease Pencil 的基本構成單位之一,本質上是一段“手繪路徑”。

Fill 本身并不是一個“圖形”,而是材質屬性,綁定在封閉的 Stroke 上。

alt d 復制引用---blender

shift 右鍵? 轉折材質點

ev快,cycles是有噪點的慢渲染,高精

是兩種渲染方式,開發者盡量讓兩者結果相同

xx

保證網格大小盡量相同,對渲染有用

極點可以創造皺紋,但好壞摻半

眼睛和嘴巴附近不要做極點

加subdivision修改器,可以讓角色的建模細分,而對性能的影響則會消減許多,modifier便利于此

Mirror,用modifier里面的,也是可以的,插件就是添加修改器到object上

融并邊,刪除一個面中多余的線,點

形成了循環的結構,之后就能產生光影流動的感覺

----Mesh Tools 插件或 Pie Menu 插件,用了才有這個快捷輪盤

老手在建模的時候,這些快捷鍵是最優先使用,其他都可以省去

英文命令中文對應名稱快捷鍵
Q) Shrink/Fatten收縮/膨脹Alt + S(默認)
W) Smooth Vertices平滑頂點Ctrl + V 菜單中也能找到
E) Subdivide細分Right Click > Subdivide
A) Bevel倒角Ctrl + B
D) Loop Cut and Slide環形切割并滑移Ctrl + R
Z) Extrude擠出E
X) Inset Faces插入面I
C) Knife Topology Tool拓撲刀具(切割工具)K

嘴這里的變形時,點變化不能張很大角度,這也是建模的一個難點

一開始就做大笑容是很困難的

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

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

相關文章

Spring Boot 敏感信息入庫加密全面解決方案

Spring Boot 敏感信息入庫加密全面解決方案 在當今數據驅動的時代,保護用戶隱私數據已成為系統設計的必備要求。本文將詳細介紹 Spring Boot 應用中敏感數據加密存儲的完整方案,涵蓋從基礎實現到生產級落地的全流程。 一、加密方案選型 1.1 常見加密類型對比 加密類型特點…

docker0網卡沒有ip一步解決

正常查看ip的時候一直顯示沒有ip這里先刪除docker0網卡ip link delete docker0然后重啟服務systemctl restart docker再次查看顯示有ip了并且查看配置文件也是正常的cat /etc/docker/daemon.json {"registry-mirrors": ["https://docker.m.daocloud.io",&q…

MYSQL-索引篇

索引結構概述MySQL 的索引是在存儲引擎層實現的,不同的存儲引擎有不同的索引結構,主要包含以下幾種:索引結構描述BTree索引最常見的索引類型,大部分引擎都支持 B 樹索引Hash索引底層數據結構是用哈希表實現的,只有精確…

(純新手教程)HTML零基礎教學

(下一章:python網絡爬蟲)HTML 簡介HTML(HyperText Markup Language,超文本標記語言)是用于創建網頁的標準標記語言。什么是 HTML?HTML 不是編程語言,而是一種標記語言使用標簽來描述…

前端面試寶典---項目難點2-智能問答對話框采用虛擬列表動態渲染可視區域元素(10萬+條數據)

引言 在我參與智能問答項目中一個智能體回話并不會像豆包一樣,每次新建會話都是是從頭開始,而項目中你想創建新會話就像chatbox一樣,是點擊橡皮擦開啟新的聊天上下文,但是直接的聊天記錄依然存在,針對超過十萬&#xf…

Python元組:不可變數據的強大用法

文章目錄元組概念1.基本特性2.創建元組3.訪問元素4.元組的不可變性5.元組操作6.元組解包7.命名元組8.元組與列表的比較9.元組的優勢10.適用場景11.常用方法小結元組 概念 元組是 Python 中一個非常重要的內置數據結構,它與列表(list)相似但具有關鍵差異。下面我將…

若爾蓋濕地的花湖

花湖位于若爾蓋縣和甘肅的郎木寺之間的213國道旁,屬于若爾蓋濕地國家級自然保護區內。又名“梅朵湖”,因陽光照射下湖面色彩斑斕如絢麗的花瓣得名。花湖的大門是梯形高大石柱搭成,我們需要過天橋到對面檢票坐小交通。通過車窗看到一層一層的云…

50天50個小項目 (Vue3 + Tailwindcss V4) ? | DoubleClickHeart(雙擊愛心)

&#x1f4c5; 我們繼續 50 個小項目挑戰&#xff01;—— DoubleClickHeart組件 倉庫地址&#xff1a;https://github.com/SunACong/50-vue-projects 項目預覽地址&#xff1a;https://50-vue-projects.vercel.app/ 使用 Vue 3 的 Composition API&#xff08;<script se…

1-緒論-1-數據結構的基本概念

&#x1f389; 數據結構的魔法世界&#x1f4da;&#x1f468;?&#x1f393;“數據就像大海中的浪花&#xff0c;結構則是那神秘的洋流。掌握數據結構&#xff0c;就是掌握在信息海洋中自由航行的力量&#xff01;”引言&#xff1a;為什么要學數據結構&#xff1f;&#x1f…

linux網絡相關命令簡介

目錄 一、IP命令 1、Link或L:管理網絡接口(網卡) 2、Address或Addr,A:管理Ip地址 3、Route或R:管理路由表

教育培訓機構如何為課程視頻添加防盜錄的強水印?

在知識付費時代&#xff0c;教育培訓機構的課程視頻是核心資產&#xff0c;但盜錄、非法傳播等問題卻讓機構防不勝防。如何在不影響學員觀看體驗的前提下&#xff0c;為課程視頻添加“強效防盜水印”&#xff0c;精準追蹤泄露源頭&#xff1f;本文將為您揭秘高安全性水印的添加…

python的形成性考核管理系統

前端開發框架:vue.js 數據庫 mysql 版本不限 后端語言框架支持&#xff1a; 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 數據庫工具&#xff1a;Navicat/SQLyog等都可以 摘要 隨著…

A*算法詳解

A*算法詳解一、A*算法基礎概念1.1 算法定位1.2 核心評估函數1.3 關鍵數據結構二、A*算法的核心步驟三、啟發函數設計3.1 網格地圖中的啟發函數3.2 啟發函數的選擇原則三、Java代碼實現四、啟發函數的設計與優化4.1 啟發函數的可采納性4.2 啟發函數的效率影響4.3 常見啟發函數對…

.net winfrom 獲取上傳的Excel文件 單元格的背景色

需求&#xff1a;根據Excel某行標注了黃色高亮顏色&#xff0c;說明該行數據已被用戶選中(Excel文件中并沒有“已選中”這一列&#xff0c;純粹用顏色表示)&#xff0c;導入數據到數據庫時標注此行已選中直接上代碼&#xff1a;//選擇Excel文件private void btnBrowse_Click(ob…

OpenAI GPT-4o技術詳解:全能多模態模型的架構革新與生態影響

本文由「大千AI助手」原創發布&#xff0c;專注用真話講AI&#xff0c;回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我&#xff0c;一起撕掉過度包裝&#xff0c;學習真實的AI技術&#xff01; ?? 一、核心定義與發布背景 官方定位 GPT-4o&#xff08;“o”代表“…

? 構建真正的高性能即時通訊服務:基于 Netty 集群的架構設計與實現

引子 在前面的文章中&#xff0c;我們基于 Netty 構建了一套單體架構的即時通訊服務。雖然單體架構在開發初期簡單高效&#xff0c;但隨著用戶量的增長和業務規模的擴大&#xff0c;其局限性逐漸顯現。當面對高并發場景時&#xff0c;單體 Netty 服務很容易觸及性能天花板&…

原來時間序列挖掘這么簡單

先搞懂&#xff1a;啥是時間序列&#xff1f;簡單說&#xff0c;時間序列就是按時間順序記下來的數據。比如&#xff1a;你每天早上 8 點測的體重&#xff0c;連起來就是 “體重時間序列”&#xff1b;超市每天的銷售額&#xff0c;連起來就是 “銷售時間序列”&#xff1b;城市…

基于Python的豆瓣圖書數據分析與可視化系統【自動采集、海量數據集、多維度分析、機器學習】

文章目錄有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主項目介紹每文一語有需要本項目的代碼或文檔以及全部資源&#xff0c;或者部署調試可以私信博主 項目介紹 豆瓣圖書數據智能分析系統是一個集數據采集、清洗、分析與可視化于一體的綜合性項…

2.3 數組與字符串

學習目標&#xff1a; 理解數組和字符串的概念&#xff08;存儲多個數據的“盒子”&#xff09;。掌握數組的聲明、初始化和遍歷方法。能用字符串處理簡單文本問題&#xff08;如字符計數、回文判斷&#xff09;。1 一維數組 基本概念 比喻&#xff1a; 數組就像“儲物柜”&…

C# 網口demo

bool _testStatus false; private void btnOpsStart_Click(object sender, EventArgs e) {int delay Convert.ToInt32(txtdelay.Text.Trim());txtView.Clear();txtView.AppendText("******************************************開始烤機*******************************…