The video looks amazing.
Could this be used on skinned meshes?
The video looks amazing.
Could this be used on skinned meshes?
Shaders are unable to compile in unity 5.4. Import is stuck on importing shaders
They compile- they just take a really long time. I would suggest deleting the workflow you aren’t using from the files if you want them to compile faster (like if you don’t need specular, or 5 layers, etc)…
Confirmed, I removed all shaders and just compiling the 4 layer took about 3 to 4 minutes on my GTX970, I can see it’s from all of the compile time branch baking, nice, old school! @jbooth_1 thanks for this awesome asset. I just wanted to get a splat map shader with PBR, I’m converting a terrain I created in Gaia into a mesh object and trying to apply the terrain textures to the new object. Your splatmap 4 is close to what I need. In Gaia I can export a splatmap mask with the 4 layer weights as a single RGBA texture. I’m just going to hack your shader to use this instead of the alpha from albedo. Just sharing this to let you know a use case that others might run into. And to let others know that, yeah it is compiling the shader, just takes a few minutes, delete the ones you don’t want.
Yeah, for MegaSplat, I got around this by making my own shader generation system that basically writes out the shader you want based on the options. shader_feature blows up once you have more than a dozen options or so, and MegaSplat has hundreds. It actually takes over a month to compile every option on my laptop (though I’ve never actually let it do that).
Great work! Any chance this will work with skinned meshes?
Nope, additional vertex streams are not supported on skinned meshes…
I use this tool for terrain “texture splatting with heightmap” & “flowmap”, works really well(feel like using UE4 vertex painter),
the only problem I have now is I must write “disable batching” is my shader inorder to work, else the following error will appear when I hit play
Not allowed to access vertices on mesh 'Combined Mesh (root: scene)'
UnityEngine.Mesh:get_vertices()
JBooth.VertexPainterPro.VertexInstanceStream:Apply(Boolean) (at Assets/VertexPaint-master/VertexInstanceStream.cs:456)
JBooth.VertexPainterPro.VertexInstanceStream:Start() (at Assets/VertexPaint-master/VertexInstanceStream.cs:191)
wonder if static batching is possible when the additional vertex data is present?
You need to bake the mesh down to a unique mesh using the Save Mesh utility. Static batching requires that the mesh data not be read/write, and additionalVertexStreams cannot be saved into the scene, so you have to bake everything down into a unique mesh.
In MegaSplat, I have a system to do this automatically across whole scenes, which can be integrated into your lighting/build pipeline so you don’t have to think about it much…
Files obtained from github…but when unzipped, not packaged.
How do I install?
Sorry for the noobish question…but well…I’m a noob.
copy them into your assets directory and wait while unity compiles the shaders (for like 5 minutes)
Everything is in a set of folders and sub folders…copy everything? I don’t mind if it takes five minutes…I’ll just go get a cup of coffee or something…check my email, whatever.
BTW sir, I expected to have to wait hours to hear something back. Thanks VERY much for being so responsive!
yep.
something i am working on.
a lot of vertexpainting has to be done ;D
still cant get parallax effect
Do you have a directional light? If you don’t, then it wouldn’t have a light direction to parallax off of. Also of note, parallax is parallax offset, not Parallax Occlusion Mapping, in case your confusing the two.
obviously i got a direct light. i figured out that nothing is wrong with you shader at least. other shaders (uber shader has same problem). i got latest unity freshly installed … something is wrong - strange.
still no parallax effect but i found no better solution - maybe i purchase megaspalt - it should work with meshes as well!?
So, there’s a bug in the Unity Shader compiler that hit MegaSplat a while back and broke parallax mapping in some cases. Basically, it looks like the compiler doesn’t realize your using the viewDir and writes it out in world space instead of tangent space. You might try putting a useless statement that the compiler can’t optimize out at the end of the shader and see if that helps:
#if _PARALLAX
o.Albedo *= saturate(i.viewDir + 10);
#endif
This is basically what MegaSplat does and it forces Unity to pass viewDir in the correct space.
MegaSplat works on meshes or Unity terrains…
You have to bake out the mesh using the save mesh tool, as static meshes cannot be read from and cannot have additional vertex streams applied.