電腦工具助手

PixelWorld(像素世界著色器代碼渲染AE插件) 10 官方版

时间:2010-12-5 17:23:32  作者:端遊輔助   来源:外掛  查看:  评论:0
内容摘要:PixelWorld(像素世界著色器代碼渲染AE插件) 10 官方版   PixelsWorld提供圖像著色功能,像素您可以在軟件輸入腳本命令控製圖像顏色,世界軟件提供多種命令,着色可以選擇 Lua、器代JavaScript、码渲CMD等命令控製圖像顏色,官方三角洲"...

  PixelsWorld提供圖像著色功能,像素您可以在軟件輸入腳本命令控製圖像顏色,世界軟件提供多種命令 ,着色可以選擇 Lua 、器代JavaScript 、码渲CMD等命令控製圖像顏色 ,官方三角洲行动科技擁穿著在lua中運行GLSL ,像素輸入pw.glsl(GLSLcode[,世界 useBuffer])就可以運行腳本 ,可以打開useBuffer : 布爾值 ,着色可選參數 ,器代默認為false  ,码渲如果為true,官方PixelsWorld會裸露臨時內存來儲存渲染結果 ,像素三角洲行动锁头群GLSL渲染落成後  ,世界臨時儲存器中的着色數據會覆蓋輸出層的像素數據 ,軟件提供了腳本設置功能 ,您可以在軟件調用編輯器,從而設計代碼內容,如果你需要這款軟件就下載吧 !

軟件功能

  PixelsWorld 是一款通過腳本來渲染圖像的插件。 您幾乎可以用它來渲染任何效果:

  1 、可以渲染 GLSL

  2 、可以執行 Lua

  3 、可以執行 JavaScript

  4 、可以執行 CMD

軟件特色

  1 、三角洲行动无后座群像素世界設計思想源於Excel表格工具的表達式、Houdini的Wrangle係列 ,它在Ae中將像素數據完全展示給用戶來鋪開批量操控。

  2、用戶在輸入表達式後,GPU將為您高速籌備所有像素 ,組成新的圖像 。

  3 、同時它可以儲存其他人寫好的代碼。方便重複利用和工程分工 。

如何使用

  1 、打開 Adobe After Effects.

  2 、三角洲行动物资透视群"Ctrl + N"(or "Command + N") 新建合成 。

  3、新建一個純色層

  4 、選擇剛增補的圖層

  5、右鍵 => 效果 => MiLai => PixelsWrold

  6 、d單擊"編輯" 來改變 "世界規則" 。

  7、此時會彈出菜單 。

  8、選擇 "GLSL - Advanced"

  9 、選擇你喜歡的效果

  10 、單擊 "Ok".

官方教程

  https://milai.tech/products/PixelsWorld/docs_CN/

  PixelsWorld V1.0 使用的三角洲行动雷达群是 #version 330 core.

  隻需在PixelsWorld書寫您需要的 Fragment shader 代碼即可 。

  同時,PixelsWorld 會在您的代碼運行之前,歸並一些額外的代碼,為了使其與After Effects平台兼容,我們列出了部分代碼供您參考 。

  1 、如何使用GLSL

  GLSL代碼請在GLSL(GPU) 模式下運行;

  在 "World rule"這單擊"Edit";

  此時 ,會有部分代碼在麵板顯示。

  default.shader

  void main(){

  outColor = getColor(uv);

  }

  此代碼會把輸入像素發送至輸出像素。

  你可以把 getColor(uv)改為 vec4(uv,0.0,1.0) 以得到好校驗的uv色彩圖案;

  uvcolor.shader

  void main(){

  outColor = vec4(uv,0.0,1.0);

  }

  接著, 單擊 "Ok"即可。

  正常情況下,應該會得到如下效果 :

  2、鏈接參數

  通過使用外部參數 ,可以鋪開動畫設置。

  當前擁有7種類型參數可用於動畫

  Sliders

  Angles

  Points

  3D Points

  Checkboxes

  Colors

  Layers

  且每組參數都有10個控製器可供調配

  示例 :

  link_slider.shader

  void main(){

  outColor = vec4(uv,slider[0],1.0);

  }

  比如改變slider 0,預覽界麵顏色將會變化。

  詳情

  在PixelsWorld參數聲明方式如下所示:

  parameters.shader

  uniform float slider[10];

  uniform float angle[10];

  uniform bool checkbox[10];

  uniform vec2 point[10];

  uniform vec3 point3d[10];

  uniform vec4 color[10];

  uniform sampler2D layer[10];

  uniform sampler2D inLayer;

  注意

  "inLayer" 代表輸入層。

  sampler2D 是一種由 GLSL提供的變量類型,不用理解該變量類型 。如果你想了解圖層參數 ,請參考 "getColor"

  "uniform" 代表全局變量。 它會告訴GPU 不需要對每個"GPU工人"分配內存並初始化該值,隻需在"GPU老板"起始籌備的時候分配內存即可 。"uniform" 一般被聲明在用戶代碼的外麵,您一般不需要寫這種變量類型 。

  3、Debug

  在插件麵板勾選debug 複選框

  此時會彈出調試窗口,此窗口用於感謝錯誤信息。

  如果想在調試窗口輸出信息 ,請在Lua (CPU & GPU) 模式下使用

  4  、shadertoy.com Code

  用法

  在此模式下,你可以直接使用來自 shadertoy.com的代碼。

  注意

  並非所有來自 shadertoy.com的代碼均可在PixelsWorld下完美運行 (比如帶有音頻輸入或者需要VR擁穿著的代碼)

  細節

  當輸入來自 shadertoy.com的代碼時,PixelsWorld 會鋪開語法分析(將shadertoy.com代碼協議轉為PixelsWorld的)並且會改變輸入代碼。也就是會談,下次打開編輯窗口時,可能會得到不同的代碼內容 (當變量名稱與PW內部變量裸露衝突時,就會裸露此情況).

  示例 : 導入以下代碼

  InputShadertoy.shader

  void mainImage( out vec4 fragColor, in vec2 fragCoord ){

  vec2 uv = fragCoord/iResolution.xy;

  fragColor = vec4(uv,0,1);

  }

  會提供俊俏的uv色彩圖案

  再次打開編輯器, 你會得到類似以下代碼:

  LaterShadertoy.shader

  void mainImage( out vec4 fragColor, in vec2 fragCoord ){

  vec2 pw_user_uv = fragCoord/iResolution.xy;

  fragColor = vec4(pw_user_uv,0,1);

  }

  你會發現變量 uv 變成了pw_user_uv.

  這是因為PixelsWorld已經存在變量uv 。我們會增補前綴 pw_user_ 來避免名稱衝突。

  以下是會被修改的變量列表:

  uv

  outColor

  getColor

  uv2xy

  xy2uv

  slider

  angle

  checkbox

  point

  point3d

  color

  layer

  layerResolution

  inLayer

  time

  fps

  width

  height

  origin

  resolution

  INPUT_LAYER_INDEX

  OUTPUT_LAYER_INDEX

  platform

  host

  5、Lua Code

  * Lua是一種輕量級 ,高級 ,多範式編程語言,主要用於嵌入式應用程序中. ——Wiki)

  版本 : Lua5.3

  因此 ,Lua可用於管理Ae和用戶之間通信。 我們為其提供環境 ,以及一些便利功能供您使用 。 在Lua中 ,您可以 :

  得到像素數據

  編寫像素數據

  運行 JavaScript

  運行 GLSL

  得到參數數據

  運行外置C語言庫 (棒!)

  加載外掛lua模塊

  由於本項目的高級功能,使用Lua渲染模式的用戶 ,應當具有基本的編程能力,並對Lua語言有基本的了解 。 如果您對Lua一無所知 ,請不要擔心,它與Ae和JavaScript中的表達式非常相似 。

  運行Lua代碼

  切換語言為Lua ( CPU & GPU )

  導入代碼 :

  hello.lua

  pw.debug.clear()

  a = 5+6

  b = "PixelsWorld"

  c = "is cool!"

  d = time

  e = pw.ch("slider",0)

  f = "5 + 6 = " .. a .. "\nMessage : " .. b .. " " .. c .. "\nCurrent time is : " .. d .. " (s)\nValue of slider0 is : " .. e

  pw.report(f)

  a..b 將變量a與b歸並為字符串  。

  pw.debug.clear() 清除調試窗口內的信息 。

  pw.report() 在調試窗口感謝信息。

  pw.ch() 得到指定參數值。

  您可以在每行的末尾增補 ; 非必須 。Lua會將\ n(換行符)視為一段代碼的落成標記 。

  如果打開調試窗口 (勾選debug 複選框), 會得到以下信息 :

  6、JavaScript代碼

  Javascript 可通過pw.js("Your code") 在 Lua (CPU & GPU) 模式下執行 。

  7、CMD代碼

  CMD命令可以通過 pw.cmd("你的CMD命令") 在 Lua (CPU & GPU) 模式下執行 。

  executeCMD.lua

  --Works on Windows platform

  pw.cmd("echo Hello PixelsWorld! & pause");

copyright © 2026 powered by 狗頭發卡網   sitemap