{"id":13681954,"url":"https://github.com/keijiro/HdrpVatExample","last_synced_at":"2025-04-30T06:33:23.518Z","repository":{"id":41556880,"uuid":"228590213","full_name":"keijiro/HdrpVatExample","owner":"keijiro","description":"VAT (Vertex Animation Texture) with Unity Shader Graph and Visual Effect Graph","archived":false,"fork":false,"pushed_at":"2021-12-15T22:34:27.000Z","size":79844,"stargazers_count":871,"open_issues_count":1,"forks_count":86,"subscribers_count":28,"default_branch":"master","last_synced_at":"2024-08-02T13:33:11.633Z","etag":null,"topics":["houdini","unity","unity3d","vat","vfx","vfxgraph"],"latest_commit_sha":null,"homepage":"","language":"HLSL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/keijiro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-17T10:19:32.000Z","updated_at":"2024-08-01T11:04:49.000Z","dependencies_parsed_at":"2022-09-24T03:34:40.464Z","dependency_job_id":null,"html_url":"https://github.com/keijiro/HdrpVatExample","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FHdrpVatExample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FHdrpVatExample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FHdrpVatExample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FHdrpVatExample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keijiro","download_url":"https://codeload.github.com/keijiro/HdrpVatExample/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224201785,"owners_count":17272644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["houdini","unity","unity3d","vat","vfx","vfxgraph"],"created_at":"2024-08-02T13:01:38.307Z","updated_at":"2025-04-30T06:33:23.512Z","avatar_url":"https://github.com/keijiro.png","language":"HLSL","funding_links":[],"categories":["HLSL"],"sub_categories":[],"readme":"VAT (Vertex Animation Texture) on Unity HDRP examples\n=====================================================\n\nThis is a repository that contains examples of the use of VAT (Vertex Animation\nTexture) on Unity High Definition Render Pipeline (HDRP).\n\nIn this document, \"VAT\" refers explicitly to the texture encoding method used\nin Houdini and [SideFX Labs].\n\n[SideFX Labs]: https://github.com/sideeffects/SideFXLabs\n\n![gif](https://i.imgur.com/Ctsa3av.gif)\n![gif](https://i.imgur.com/rYmtjLZ.gif)\n![gif](https://i.imgur.com/n4WL4Qy.gif)\n![gif](https://i.imgur.com/idCLijy.gif)\n\n*Several types of VAT: Soft, Rigid, Fluid and Sprite*\n\nSystem requirements\n-------------------\n\n- Unity 2019.4\n- HDRP 7.4\n\nHow to use VAT with Shader Graph\n--------------------------------\n\nAt first, export VAT files from Houdini. It consists of a geometry file\n(`.fbx`), texture files (`.exr`) and a realtime data file (`.json`). Then\nimport `.fbx` and `.exr` files into Unity. The texture files must be imported\nwith the following settings:\n\n- sRGB (Color Texture): Off\n- Non-Power of 2: None\n- Generate Mip Maps: Off\n- Format: \"Automatic\" is recommended. You can select a lower BPP format with\n  sacrificing quality.\n- Compression: \"None\" is recommended. You can try other options, but usually,\n  they don't work with non-power of two textures.\n\n![importer](https://i.imgur.com/01SK60b.png)\n\nThere are three types of shader graphs under the \"Shader Graph\" group: Soft,\nRigid, and Fluid. You can use corresponding VAT methods with these shader\ngraphs.\n\nThese shader graphs have some VAT dependent properties.\n\n![material](https://i.imgur.com/tyLWdYQ.png)\n\nThe \"\\_numOfFrames\", \"\\_posMax\" and \"\\_posMin\" properties must be set based on\nthe realtime data. Open the exported `.json` file with a text editor and\ncopy-paste these values to the corresponding properties.\n\nYou can use the packed-normal encoding (the \"Pack normals into Position Alpha\"\noption in the VAT exporter) with enabling the \"Use Packed Normals\" option in\nthe material settings. Note that this may significantly increase the\nquantization errors in normal vectors.\n\nTo animate the mesh, you have to control the \"Current Frame\" property manually.\nUsing a timeline would be the handiest way to do it.\n\nThe structure of the shader graph is quite simple. You can easily extend it to\nadd features, like adding a albedo map or support of different surface types.\n\nFor example, an extended shader graph named \"Soft Lerp\" is used in the Soft\nexample, that interpolates positions/normals between consecutive frames to\nachieve smooth animation.\n\nHow to use VAT with Visual Effect Graph\n---------------------------------------\n\nYou can use a Sprite VAT to move particles in a Visual Effect graph; Other\nmethods are not supported at the moment.\n\nThis project contains the following three subgraph operators that are designed\nto be used with VAT.\n\n**VAT Particle Count** -- Calculates the number of particles contained in VAT.\nThis is convenient to determine the number of particles to emit in the Spawn\ncontext.\n\n**VAT Particle UV** -- Calculates the texture coordinates for each particle.\nThis can be used to retrieve data from a position map.\n\n**VAT Convert Position** -- Converts position data into a object space position\nvector.\n\nFor detailed usage of these operators, see Sprite example in this project.\n\nFrequently Asked Questions\n--------------------------\n\n#### Is it possible to support Universal RP?\n\nYes. Although these examples are created with HDRP, you can use the same\napproach on Universal RP. These shader graphs and VFX graphs can be converted\nby changing a few options. Check [the URP branch] for details.\n\n[the URP branch]: https://github.com/keijiro/HdrpVatExample/tree/urp\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeijiro%2FHdrpVatExample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeijiro%2FHdrpVatExample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeijiro%2FHdrpVatExample/lists"}