{"id":3706,"date":"2015-03-24T14:58:57","date_gmt":"2015-03-24T11:58:57","guid":{"rendered":"http:\/\/unitycoder.com\/blog\/?p=3706"},"modified":"2016-05-17T09:24:14","modified_gmt":"2016-05-17T01:24:14","slug":"mesh-melt-shader-test","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2015\/03\/24\/mesh-melt-shader-test\/","title":{"rendered":"Mesh Melt shader test"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3707\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2015\/03\/24\/mesh-melt-shader-test\/mesh_melt_shader\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/03\/mesh_melt_shader.jpg?fit=679%2C561&amp;ssl=1\" data-orig-size=\"679,561\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"mesh_melt_shader\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/03\/mesh_melt_shader.jpg?fit=679%2C561&amp;ssl=1\" class=\"alignnone size-full wp-image-3707\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/03\/mesh_melt_shader.jpg?resize=679%2C561\" alt=\"mesh_melt_shader\" width=\"679\" height=\"561\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/03\/mesh_melt_shader.jpg?w=679&amp;ssl=1 679w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/03\/mesh_melt_shader.jpg?resize=300%2C248&amp;ssl=1 300w\" sizes=\"auto, (max-width: 679px) 100vw, 679px\" \/><\/p>\n<p>Quick test for melting mesh effect using vertex extrusion shader<\/p>\n<p>Gif anim preview:<br \/>\n<a title=\"http:\/\/pasteboard.co\/1QARh81p.gif\" href=\"http:\/\/pasteboard.co\/1QARh81p.gif\" target=\"_blank\">http:\/\/pasteboard.co\/1QARh81p.gif<\/a><\/p>\n<p>Forum topic: <a title=\"http:\/\/forum.unity3d.com\/threads\/has-anyone-ever-written-a-mesh-melter.311135\/\" href=\"http:\/\/forum.unity3d.com\/threads\/has-anyone-ever-written-a-mesh-melter.311135\/\" target=\"_blank\">http:\/\/forum.unity3d.com\/threads\/has-anyone-ever-written-a-mesh-melter.311135\/<\/a><\/p>\n<p><strong>Info:<\/strong><br \/>\n&#8211; C# Script adjusts mesh vertex colors, based on the distance to heat point gameobject<br \/>\n&#8211; Then shader pushes(extrudes) vertices based on that vertex color (alpha)<br \/>\n&#8211; Would be probably better to do everything from script (to allow splitting the object, avoid intersecting faces etc..)<\/p>\n<p><strong>Instructions:<\/strong><br \/>\n&#8211; Download sources below<br \/>\n&#8211; Add sphere to scene<br \/>\n&#8211; Add Melter.cs script to that sphere<br \/>\n&#8211; Create new material &#8220;meltmat&#8221; and assign it to that sphere<br \/>\n&#8211; Assign Custom\/MeshMelt2 shader to that material<br \/>\n&#8211; Add empty gameobject to scene (this is the heat source)<br \/>\n&#8211; Assign heatsource gameobject into Melter.cs &#8220;HeatPoint&#8221; field in inspector<br \/>\n&#8211; Hit play, then inside scene view move heat source near to sphere to see effect<\/p>\n<p><strong>Customizations:<\/strong><br \/>\n&#8211; Melter.cs has public bool, [x] Restore Color, this slowly restores vertex colors<br \/>\n&#8211; MeshMelt2.shader, see line 23 &amp; 24 for different effects (melt in normal direction or melt downwards)<br \/>\n&#8211; Adjust Extrusion amount in shader material<\/p>\n<p><strong>Shader source:<\/strong> MeshMelt2.shader<\/p>\n<style>.gist table { margin-bottom: 0; }<\/style>\n<div style=\"tab-size: 8\" id=\"gist20683425\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container\">\n<div id=\"file-meshmelt-shader\" class=\"file my-2\">\n<div itemprop=\"text\"\n      class=\"Box-body p-0 blob-wrapper data type-shaderlab  \"\n      style=\"overflow: auto\" tabindex=\"0\" role=\"region\"\n      aria-label=\"MeshMelt.shader content, created by unitycoder on 11:51AM on March 24, 2015.\"\n    ><\/p>\n<div class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\">\n<p>  <template class=\"js-file-alert-template\"><\/p>\n<div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n    <span><br \/>\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br \/>\n      <a class=\"Link--inTextBlock\" href=\"https:\/\/github.co\/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a><br \/>\n    <\/span><\/p>\n<div data-view-component=\"true\" class=\"flash-action\">        <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">    Show hidden characters<br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><\/template><br \/>\n<template class=\"js-line-alert-template\"><br \/>\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\"><br \/>\n    <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n<\/span><\/template><\/p>\n<table data-hpc class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip data-tagsearch-path=\"MeshMelt.shader\">\n<tr>\n<td id=\"file-meshmelt-shader-L1\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n<td id=\"file-meshmelt-shader-LC1\" class=\"blob-code blob-code-inner js-file-line\">Shader &quot;Custom\/MeshMelt2&quot; {<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L2\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n<td id=\"file-meshmelt-shader-LC2\" class=\"blob-code blob-code-inner js-file-line\">\tProperties {<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L3\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n<td id=\"file-meshmelt-shader-LC3\" class=\"blob-code blob-code-inner js-file-line\">\t_MainTex (&quot;Texture&quot;, 2D) = &quot;white&quot; {}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L4\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"4\"><\/td>\n<td id=\"file-meshmelt-shader-LC4\" class=\"blob-code blob-code-inner js-file-line\">\t_LavaTex (&quot;LavaTexture&quot;, 2D) = &quot;white&quot; {}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L5\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"5\"><\/td>\n<td id=\"file-meshmelt-shader-LC5\" class=\"blob-code blob-code-inner js-file-line\">\t_Amount (&quot;Extrusion Amount&quot;, Range(-1,1)) = 0.5<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L6\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"6\"><\/td>\n<td id=\"file-meshmelt-shader-LC6\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L7\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"7\"><\/td>\n<td id=\"file-meshmelt-shader-LC7\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L8\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"8\"><\/td>\n<td id=\"file-meshmelt-shader-LC8\" class=\"blob-code blob-code-inner js-file-line\">\tSubShader {<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L9\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"9\"><\/td>\n<td id=\"file-meshmelt-shader-LC9\" class=\"blob-code blob-code-inner js-file-line\">\t\tTags { &quot;RenderType&quot; = &quot;Opaque&quot; }<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L10\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"10\"><\/td>\n<td id=\"file-meshmelt-shader-LC10\" class=\"blob-code blob-code-inner js-file-line\">\t\tCGPROGRAM<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L11\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"11\"><\/td>\n<td id=\"file-meshmelt-shader-LC11\" class=\"blob-code blob-code-inner js-file-line\">\t\t#pragma surface surf Lambert vertex:vert<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L12\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"12\"><\/td>\n<td id=\"file-meshmelt-shader-LC12\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L13\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"13\"><\/td>\n<td id=\"file-meshmelt-shader-LC13\" class=\"blob-code blob-code-inner js-file-line\">\t\tstruct Input {<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L14\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"14\"><\/td>\n<td id=\"file-meshmelt-shader-LC14\" class=\"blob-code blob-code-inner js-file-line\">\t\t  float2 uv_MainTex;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L15\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"15\"><\/td>\n<td id=\"file-meshmelt-shader-LC15\" class=\"blob-code blob-code-inner js-file-line\">\t\t  float4 customColor;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L16\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"16\"><\/td>\n<td id=\"file-meshmelt-shader-LC16\" class=\"blob-code blob-code-inner js-file-line\">\t\t};<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L17\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"17\"><\/td>\n<td id=\"file-meshmelt-shader-LC17\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L18\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"18\"><\/td>\n<td id=\"file-meshmelt-shader-LC18\" class=\"blob-code blob-code-inner js-file-line\">\t\tfloat _Amount;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L19\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"19\"><\/td>\n<td id=\"file-meshmelt-shader-LC19\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L20\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"20\"><\/td>\n<td id=\"file-meshmelt-shader-LC20\" class=\"blob-code blob-code-inner js-file-line\">\t\tvoid vert (inout appdata_full v,out Input o)<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L21\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"21\"><\/td>\n<td id=\"file-meshmelt-shader-LC21\" class=\"blob-code blob-code-inner js-file-line\">\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L22\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"22\"><\/td>\n<td id=\"file-meshmelt-shader-LC22\" class=\"blob-code blob-code-inner js-file-line\">\t\t  UNITY_INITIALIZE_OUTPUT(Input,o);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L23\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"23\"><\/td>\n<td id=\"file-meshmelt-shader-LC23\" class=\"blob-code blob-code-inner js-file-line\">\t\t  v.vertex.xyz += v.normal * v.color.a * _Amount; \/\/ move in normal direction<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L24\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"24\"><\/td>\n<td id=\"file-meshmelt-shader-LC24\" class=\"blob-code blob-code-inner js-file-line\">\/\/\t\t  v.vertex.xyz += float3(0,1,0) * v.color.a * _Amount; \/\/ move down<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L25\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"25\"><\/td>\n<td id=\"file-meshmelt-shader-LC25\" class=\"blob-code blob-code-inner js-file-line\">\t\t  o.customColor = v.color;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L26\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"26\"><\/td>\n<td id=\"file-meshmelt-shader-LC26\" class=\"blob-code blob-code-inner js-file-line\">\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L27\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"27\"><\/td>\n<td id=\"file-meshmelt-shader-LC27\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L28\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"28\"><\/td>\n<td id=\"file-meshmelt-shader-LC28\" class=\"blob-code blob-code-inner js-file-line\">\t\tsampler2D _MainTex;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L29\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"29\"><\/td>\n<td id=\"file-meshmelt-shader-LC29\" class=\"blob-code blob-code-inner js-file-line\">\t\tsampler2D _LavaTex;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L30\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"30\"><\/td>\n<td id=\"file-meshmelt-shader-LC30\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L31\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"31\"><\/td>\n<td id=\"file-meshmelt-shader-LC31\" class=\"blob-code blob-code-inner js-file-line\">\t\tvoid surf (Input IN, inout SurfaceOutput o) <\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L32\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"32\"><\/td>\n<td id=\"file-meshmelt-shader-LC32\" class=\"blob-code blob-code-inner js-file-line\">\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L33\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"33\"><\/td>\n<td id=\"file-meshmelt-shader-LC33\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tfloat3 main = tex2D(_MainTex, IN.uv_MainTex).rgb;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L34\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"34\"><\/td>\n<td id=\"file-meshmelt-shader-LC34\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L35\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"35\"><\/td>\n<td id=\"file-meshmelt-shader-LC35\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tfloat2 scroll = float2(_Time.x*0.032f*(1-IN.customColor.a),_Time.y*0.02f*(1-IN.customColor.a));<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L36\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"36\"><\/td>\n<td id=\"file-meshmelt-shader-LC36\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tfloat3 lava = tex2D(_LavaTex, IN.uv_MainTex+scroll).rgb;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L37\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"37\"><\/td>\n<td id=\"file-meshmelt-shader-LC37\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L38\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"38\"><\/td>\n<td id=\"file-meshmelt-shader-LC38\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tfloat3 c = lerp(lava,main, IN.customColor.a);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L39\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"39\"><\/td>\n<td id=\"file-meshmelt-shader-LC39\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L40\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"40\"><\/td>\n<td id=\"file-meshmelt-shader-LC40\" class=\"blob-code blob-code-inner js-file-line\">\t\t\to.Albedo = c;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L41\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"41\"><\/td>\n<td id=\"file-meshmelt-shader-LC41\" class=\"blob-code blob-code-inner js-file-line\">\t\t\to.Emission = c*(1-IN.customColor.a);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L42\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"42\"><\/td>\n<td id=\"file-meshmelt-shader-LC42\" class=\"blob-code blob-code-inner js-file-line\">\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L43\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"43\"><\/td>\n<td id=\"file-meshmelt-shader-LC43\" class=\"blob-code blob-code-inner js-file-line\">\t\tENDCG<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L44\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"44\"><\/td>\n<td id=\"file-meshmelt-shader-LC44\" class=\"blob-code blob-code-inner js-file-line\">\t} <\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L45\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"45\"><\/td>\n<td id=\"file-meshmelt-shader-LC45\" class=\"blob-code blob-code-inner js-file-line\">\tFallback &quot;Diffuse&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-meshmelt-shader-L46\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"46\"><\/td>\n<td id=\"file-meshmelt-shader-LC46\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/table>\n<\/div><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<div class=\"gist-meta\">\n        <a href=\"https:\/\/gist.github.com\/unitycoder\/f851a6eba23bcb6fdeb6\/raw\/d93824d25dd228f4fcce8b7a57eacaeb16959c7c\/MeshMelt.shader\" style=\"float:right\" class=\"Link--inTextBlock\">view raw<\/a><br \/>\n        <a href=\"https:\/\/gist.github.com\/unitycoder\/f851a6eba23bcb6fdeb6#file-meshmelt-shader\" class=\"Link--inTextBlock\"><br \/>\n          MeshMelt.shader<br \/>\n        <\/a><br \/>\n        hosted with &#10084; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\">GitHub<\/a>\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p><strong>Script source:<\/strong> Melter.cs<\/p>\n<style>.gist table { margin-bottom: 0; }<\/style>\n<div style=\"tab-size: 8\" id=\"gist20683491\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container\">\n<div id=\"file-melter-cs\" class=\"file my-2\">\n<div itemprop=\"text\"\n      class=\"Box-body p-0 blob-wrapper data type-c  \"\n      style=\"overflow: auto\" tabindex=\"0\" role=\"region\"\n      aria-label=\"Melter.cs content, created by unitycoder on 11:53AM on March 24, 2015.\"\n    ><\/p>\n<div class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\">\n<p>  <template class=\"js-file-alert-template\"><\/p>\n<div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n    <span><br \/>\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br \/>\n      <a class=\"Link--inTextBlock\" href=\"https:\/\/github.co\/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a><br \/>\n    <\/span><\/p>\n<div data-view-component=\"true\" class=\"flash-action\">        <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">    Show hidden characters<br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><\/template><br \/>\n<template class=\"js-line-alert-template\"><br \/>\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\"><br \/>\n    <svg aria-hidden=\"true\" data-component=\"Octicon\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n<\/span><\/template><\/p>\n<table data-hpc class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip data-tagsearch-path=\"Melter.cs\">\n<tr>\n<td id=\"file-melter-cs-L1\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n<td id=\"file-melter-cs-LC1\" class=\"blob-code blob-code-inner js-file-line\">using UnityEngine;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L2\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n<td id=\"file-melter-cs-LC2\" class=\"blob-code blob-code-inner js-file-line\">using System.Collections;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L3\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n<td id=\"file-melter-cs-LC3\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L4\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"4\"><\/td>\n<td id=\"file-melter-cs-LC4\" class=\"blob-code blob-code-inner js-file-line\">public class Melter : MonoBehaviour {<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L5\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"5\"><\/td>\n<td id=\"file-melter-cs-LC5\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L6\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"6\"><\/td>\n<td id=\"file-melter-cs-LC6\" class=\"blob-code blob-code-inner js-file-line\">\tpublic Transform heatPoint;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L7\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"7\"><\/td>\n<td id=\"file-melter-cs-LC7\" class=\"blob-code blob-code-inner js-file-line\">\tpublic bool restoreColor=false;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L8\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"8\"><\/td>\n<td id=\"file-melter-cs-LC8\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L9\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"9\"><\/td>\n<td id=\"file-melter-cs-LC9\" class=\"blob-code blob-code-inner js-file-line\">\tvoid Start () {<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L10\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"10\"><\/td>\n<td id=\"file-melter-cs-LC10\" class=\"blob-code blob-code-inner js-file-line\">\t\tvar mesh = GetComponent&lt;MeshFilter&gt;().mesh;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L11\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"11\"><\/td>\n<td id=\"file-melter-cs-LC11\" class=\"blob-code blob-code-inner js-file-line\">\t\tvar cols = new Color[mesh.vertexCount];<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L12\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"12\"><\/td>\n<td id=\"file-melter-cs-LC12\" class=\"blob-code blob-code-inner js-file-line\">\t\tfor (int i = 0; i &lt; mesh.vertexCount; i++) <\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L13\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"13\"><\/td>\n<td id=\"file-melter-cs-LC13\" class=\"blob-code blob-code-inner js-file-line\">\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L14\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"14\"><\/td>\n<td id=\"file-melter-cs-LC14\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tcols[i] = Color.white;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L15\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"15\"><\/td>\n<td id=\"file-melter-cs-LC15\" class=\"blob-code blob-code-inner js-file-line\">\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L16\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"16\"><\/td>\n<td id=\"file-melter-cs-LC16\" class=\"blob-code blob-code-inner js-file-line\">\t\tmesh.colors = cols;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L17\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"17\"><\/td>\n<td id=\"file-melter-cs-LC17\" class=\"blob-code blob-code-inner js-file-line\">\t\tUpdateColor();<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L18\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"18\"><\/td>\n<td id=\"file-melter-cs-LC18\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L19\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"19\"><\/td>\n<td id=\"file-melter-cs-LC19\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L20\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"20\"><\/td>\n<td id=\"file-melter-cs-LC20\" class=\"blob-code blob-code-inner js-file-line\">\tvoid Update () {<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L21\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"21\"><\/td>\n<td id=\"file-melter-cs-LC21\" class=\"blob-code blob-code-inner js-file-line\">\t\tUpdateColor();<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L22\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"22\"><\/td>\n<td id=\"file-melter-cs-LC22\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L23\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"23\"><\/td>\n<td id=\"file-melter-cs-LC23\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L24\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"24\"><\/td>\n<td id=\"file-melter-cs-LC24\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L25\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"25\"><\/td>\n<td id=\"file-melter-cs-LC25\" class=\"blob-code blob-code-inner js-file-line\">\tvoid UpdateColor()<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L26\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"26\"><\/td>\n<td id=\"file-melter-cs-LC26\" class=\"blob-code blob-code-inner js-file-line\">\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L27\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"27\"><\/td>\n<td id=\"file-melter-cs-LC27\" class=\"blob-code blob-code-inner js-file-line\">\t\tfloat viewDistance = 1f;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L28\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"28\"><\/td>\n<td id=\"file-melter-cs-LC28\" class=\"blob-code blob-code-inner js-file-line\">\t\tfloat fadeSpeed = 1f;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L29\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"29\"><\/td>\n<td id=\"file-melter-cs-LC29\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L30\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"30\"><\/td>\n<td id=\"file-melter-cs-LC30\" class=\"blob-code blob-code-inner js-file-line\">\t\tvar mesh = GetComponent&lt;MeshFilter&gt;().mesh;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L31\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"31\"><\/td>\n<td id=\"file-melter-cs-LC31\" class=\"blob-code blob-code-inner js-file-line\">\t\tvar verts = mesh.vertices;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L32\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"32\"><\/td>\n<td id=\"file-melter-cs-LC32\" class=\"blob-code blob-code-inner js-file-line\">\t\tvar cols = mesh.colors;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L33\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"33\"><\/td>\n<td id=\"file-melter-cs-LC33\" class=\"blob-code blob-code-inner js-file-line\">\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L34\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"34\"><\/td>\n<td id=\"file-melter-cs-LC34\" class=\"blob-code blob-code-inner js-file-line\">\t\tfor (int i = 0; i &lt; mesh.vertexCount; i++) <\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L35\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"35\"><\/td>\n<td id=\"file-melter-cs-LC35\" class=\"blob-code blob-code-inner js-file-line\">\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L36\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"36\"><\/td>\n<td id=\"file-melter-cs-LC36\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\/\/float distance = Vector3.Distance(heatPoint.position.normalized, verts[i].normalized);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L37\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"37\"><\/td>\n<td id=\"file-melter-cs-LC37\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tfloat dist = Mathf.Exp(Vector3.Distance(heatPoint.position, verts[i])); \/\/ broken<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L38\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"38\"><\/td>\n<td id=\"file-melter-cs-LC38\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tfloat distance = Remap (dist,0f,3f,0f,1f);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L39\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"39\"><\/td>\n<td id=\"file-melter-cs-LC39\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L40\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"40\"><\/td>\n<td id=\"file-melter-cs-LC40\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tif (restoreColor)<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L41\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"41\"><\/td>\n<td id=\"file-melter-cs-LC41\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L42\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"42\"><\/td>\n<td id=\"file-melter-cs-LC42\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tcols[i].a = Mathf.Clamp01(cols[i].a-(viewDistance-distance)*Time.deltaTime*fadeSpeed);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L43\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"43\"><\/td>\n<td id=\"file-melter-cs-LC43\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t}else{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L44\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"44\"><\/td>\n<td id=\"file-melter-cs-LC44\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tcols[i].a = Mathf.Min(cols[i].a,Mathf.Clamp01(cols[i].a-(viewDistance-distance)*Time.deltaTime*fadeSpeed));<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L45\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"45\"><\/td>\n<td id=\"file-melter-cs-LC45\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L46\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"46\"><\/td>\n<td id=\"file-melter-cs-LC46\" class=\"blob-code blob-code-inner js-file-line\">\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L47\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"47\"><\/td>\n<td id=\"file-melter-cs-LC47\" class=\"blob-code blob-code-inner js-file-line\">\t\tmesh.colors = cols;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L48\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"48\"><\/td>\n<td id=\"file-melter-cs-LC48\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L49\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"49\"><\/td>\n<td id=\"file-melter-cs-LC49\" class=\"blob-code blob-code-inner js-file-line\">\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L50\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"50\"><\/td>\n<td id=\"file-melter-cs-LC50\" class=\"blob-code blob-code-inner js-file-line\">\tfloat Remap(float val, float low1, float high1, float low2, float high2)<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L51\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"51\"><\/td>\n<td id=\"file-melter-cs-LC51\" class=\"blob-code blob-code-inner js-file-line\">\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L52\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"52\"><\/td>\n<td id=\"file-melter-cs-LC52\" class=\"blob-code blob-code-inner js-file-line\">\t\treturn low2 + (val-low1)*(high2-low2)\/(high1-low1);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L53\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"53\"><\/td>\n<td id=\"file-melter-cs-LC53\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-melter-cs-L54\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"54\"><\/td>\n<td id=\"file-melter-cs-LC54\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/table>\n<\/div><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<div class=\"gist-meta\">\n        <a href=\"https:\/\/gist.github.com\/unitycoder\/da7fc9d4c4264ea633db\/raw\/0dd1f72653baa71ae92e73466629fa7718a648ba\/Melter.cs\" style=\"float:right\" class=\"Link--inTextBlock\">view raw<\/a><br \/>\n        <a href=\"https:\/\/gist.github.com\/unitycoder\/da7fc9d4c4264ea633db#file-melter-cs\" class=\"Link--inTextBlock\"><br \/>\n          Melter.cs<br \/>\n        <\/a><br \/>\n        hosted with &#10084; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\">GitHub<\/a>\n      <\/div>\n<\/p><\/div>\n<\/div>\n<p>&#8212;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quick test for melting mesh effect using vertex extrusion shader Gif anim preview: http:\/\/pasteboard.co\/1QARh81p.gif Forum topic: http:\/\/forum.unity3d.com\/threads\/has-anyone-ever-written-a-mesh-melter.311135\/ Info: &#8211; C# Script adjusts mesh vertex colors, based on the distance to heat point gameobject &#8211; Then shader pushes(extrudes) vertices based on that vertex color (alpha) &#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3707,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[4,3],"tags":[50,724,5,14,33],"class_list":["post-3706","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-demos","category-unity3d","tag-effect","tag-melt","tag-mesh","tag-shader","tag-vertex"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/03\/mesh_melt_shader.jpg?fit=679%2C561&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-XM","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3706","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/comments?post=3706"}],"version-history":[{"count":4,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3706\/revisions"}],"predecessor-version":[{"id":4252,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3706\/revisions\/4252"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media\/3707"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=3706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=3706"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=3706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}