2025-02-16 14:47:23 +08:00

1 line
6.6 KiB
JSON

[{"__type__":"cc.SpriteFrame","content":{"name":"bg","texture":"13FanLap9DQrN5wRXUpYRu","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}},{"__type__":"cc.EffectAsset","_name":"Metaball","techniques":[{"passes":[{"blendState":{"targets":[{"blend":true}]},"rasterizerState":{"cullMode":0},"properties":{"texture":{"value":"white","type":29},"u_point":{"value":[0.5,0.5],"type":14},"u_radius":{"value":[0.1],"type":13}},"program":"Metaball|vs|fs"}]}],"shaders":[{"hash":1483894147,"glsl3":{"vert":"\nprecision highp float;\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\n};\nuniform CCLocal {\n mat4 cc_matWorld;\n mat4 cc_matWorldIT;\n};\nin vec3 a_position;\nin vec4 a_color;\nout vec4 v_color;\n#if USE_TEXTURE\nin vec2 a_uv0;\nout vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n uniform ALPHA_TEST {\n float alphaThreshold;\n };\n#endif\nuniform CCGlobal {\n highp vec4 cc_time;\n mediump vec4 cc_screenSize;\n mediump vec4 cc_screenScale;\n mediump vec4 cc_nativeSize;\n highp mat4 cc_matView;\n mediump mat4 cc_matViewInv;\n mediump mat4 cc_matProj;\n mediump mat4 cc_matProjInv;\n mediump mat4 cc_matViewProj;\n mediump mat4 cc_matViewProjInv;\n mediump vec4 cc_cameraPos;\n};\nin vec4 v_color;\n#if USE_TEXTURE\nin vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nuniform ARGS {\n vec2 u_point;\n float u_radius;\n};\nfloat energy(float r, vec2 point1, vec2 point2) {\n return (r * r) / ((point1.x - point2.x) * (point1.x - point2.x) + (point1.y - point2.y) * (point1.y - point2.y));\n}\nvoid main(){\n vec4 color = texture(texture, v_uv0);\n float fragEnergy = energy(u_radius + 0.1, v_uv0.xy, vec2(0.5)) + energy(u_radius, v_uv0.xy, u_point);\n color.a = smoothstep(0.95, 1.0, fragEnergy);\n gl_FragColor = color;\n}"},"glsl1":{"vert":"\nprecision highp float;\nuniform mediump mat4 cc_matViewProj;\nuniform mat4 cc_matWorld;\nattribute vec3 a_position;\nattribute vec4 a_color;\nvarying vec4 v_color;\n#if USE_TEXTURE\nattribute vec2 a_uv0;\nvarying vec2 v_uv0;\n#endif\nvoid main () {\n vec4 pos = vec4(a_position, 1);\n #if CC_USE_MODEL\n pos = cc_matViewProj * cc_matWorld * pos;\n #else\n pos = cc_matViewProj * pos;\n #endif\n #if USE_TEXTURE\n v_uv0 = a_uv0;\n #endif\n v_color = a_color;\n gl_Position = pos;\n}","frag":"\nprecision highp float;\n#if USE_ALPHA_TEST\n#endif\nvarying vec4 v_color;\n#if USE_TEXTURE\nvarying vec2 v_uv0;\nuniform sampler2D texture;\n#endif\nuniform vec2 u_point;\nuniform float u_radius;\nfloat energy(float r, vec2 point1, vec2 point2) {\n return (r * r) / ((point1.x - point2.x) * (point1.x - point2.x) + (point1.y - point2.y) * (point1.y - point2.y));\n}\nvoid main(){\n vec4 color = texture2D(texture, v_uv0);\n float fragEnergy = energy(u_radius + 0.1, v_uv0.xy, vec2(0.5)) + energy(u_radius, v_uv0.xy, u_point);\n color.a = smoothstep(0.95, 1.0, fragEnergy);\n gl_FragColor = color;\n}"},"builtins":{"globals":{"blocks":[{"name":"CCGlobal","defines":[]}],"samplers":[]},"locals":{"blocks":[{"name":"CCLocal","defines":[]}],"samplers":[]}},"defines":[{"name":"USE_TEXTURE","type":"boolean","defines":[]},{"name":"CC_USE_MODEL","type":"boolean","defines":[]},{"name":"USE_ALPHA_TEST","type":"boolean","defines":[]}],"blocks":[{"name":"ALPHA_TEST","members":[{"name":"alphaThreshold","type":13,"count":1}],"defines":["USE_ALPHA_TEST"],"binding":0},{"name":"ARGS","members":[{"name":"u_point","type":14,"count":1},{"name":"u_radius","type":13,"count":1}],"defines":[],"binding":1}],"samplers":[{"name":"texture","type":29,"count":1,"defines":["USE_TEXTURE"],"binding":30}],"record":null,"name":"Metaball|vs|fs"}]},{"__type__":"cc.SpriteFrame","content":{"name":"single_color","texture":"edDRjyf/dE6qZlxosQ4obu","rect":[0,0,2,2],"offset":[0,0],"originalSize":[2,2],"capInsets":[0,0,0,0]}},{"__type__":"cc.Material","_name":"Metaball","_effectAsset":{"__uuid__":"93NPt8BgVChYZkvowvjMW2"},"_techniqueData":{"0":{"defines":{"USE_TEXTURE":true},"props":{"u_radius":0.05}}}},[{"__type__":"cc.SceneAsset","_name":"Metaball","scene":{"__id__":1},"asyncLoadAssets":null},{"__type__":"cc.Scene","_name":"New Node","_children":[{"__id__":2}],"_anchorPoint":{"__type__":"cc.Vec2"},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,0,0,0,0,1,1,1,1]},"autoReleaseAssets":false},{"__type__":"cc.Node","_name":"Canvas","_parent":{"__id__":1},"_children":[{"__id__":3},{"__id__":4},{"__id__":5}],"_components":[{"__type__":"cc.Canvas","node":{"__id__":2},"_designResolution":{"__type__":"cc.Size","width":1334,"height":750}},{"__type__":"cc.Widget","node":{"__id__":2},"_alignFlags":45},{"__type__":"7d68bZisFBP06BUmEtWSaVY","node":{"__id__":2},"ball":{"__id__":5}}],"_contentSize":{"__type__":"cc.Size","width":1334,"height":750},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[667,375,0,0,0,0,1,1,1,1]},"_id":"a5esZu+45LA5mBpvttspPD"},{"__type__":"cc.Node","_name":"Main Camera","_parent":{"__id__":2},"_components":[{"__type__":"cc.Camera","node":{"__id__":3},"_clearFlags":7,"_depth":-1}],"_contentSize":{"__type__":"cc.Size","width":960,"height":640},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,452.93128617926146,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"bg","_parent":{"__id__":2},"_components":[{"__type__":"cc.Sprite","node":{"__id__":4},"_materials":[{"__uuid__":"ecpdLyjvZBwrvm+cedCcQy"}],"_spriteFrame":{"__uuid__":"03xVEOF9VKqLP2lkEblWGU"},"_sizeMode":0},{"__type__":"cc.Widget","node":{"__id__":4},"_alignFlags":45,"_originalWidth":2,"_originalHeight":2}],"_contentSize":{"__type__":"cc.Size","width":1334,"height":750},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,0,0,0,0,1,1,1,1]}},{"__type__":"cc.Node","_name":"ball","_parent":{"__id__":2},"_components":[{"__type__":"cc.Sprite","node":{"__id__":5},"_materials":[{"__uuid__":"b9LxQJszhHsZHhplTUN47m"}],"_spriteFrame":{"__uuid__":"9etEXRwpBCwJMrIMklU6nk"},"_sizeMode":0},{"__type__":"cc.Widget","node":{"__id__":5},"_alignFlags":45,"_originalWidth":2,"_originalHeight":2}],"_contentSize":{"__type__":"cc.Size","width":1334,"height":750},"_trs":{"__type__":"TypedArray","ctor":"Float64Array","array":[0,0,0,0,0,0,1,1,1,1]}}]]