I was trying to make some weapons from Splatoon the game and I am trying to see what way is the optimal way of doing it.
Basically I have a gun that causes decals to appear on the map and I need the decals to stay there; My issue is I know there is a decal limit that will delete other decals over time, and I need to think of the best optimal way to do it.
[U]What do you think would be the best way to do this[I] (If you can think of another way please explain) [/I]:[/U]
[U][B]Ways I have thought of:[/B][/U]
1) Make the decals extremely large so I can use less of them
2) Make them spawn a entity that has that decals material on it
3) Turn the decal into an actual prop and spawn that
4) Spawn a bunch of particles and attack a really low poly sphere to it
[U][B]Issues with each:[/B][/U]
1) Source will delete them over time
2) This can be unoptimal
3) This can create lag depending on the polygons of the object
4) This could be EXTREEEEMLLLYYYY LAGGGYYY so the size of the spheres would need to be really large [U][I](If your wondering why I added spheres to the particles its because it simulates water/paint. That is how realflow generates its water effects.)[/I][/U]
Does anyone have any idea?
Seems like quite a few people are jumping on this Splatoon bandwagon.
You could try making one a giant mesh and rendering them right over the brushes that can be painted. The only issue with that would be to get all the coordinates mapped to the mesh's texture correctly, but it is doable. With this method, make sure you use a predictable way of painting the ink to reduce network impact. You could network the center of impact's vector, size, (shape?) as well as a seed to make sure it renders exactly the same (or at least in shape) across all clients and the server. Really just brainstorming here, and I know it definitely won't be a simple task, but I think it's your best bet performance-wise.
[QUOTE=xaviergmail;48118762]Seems like quite a few people are jumping on this Splatoon bandwagon.
You could try making one a giant mesh and rendering them right over the brushes that can be painted. The only issue with that would be to get all the coordinates mapped to the mesh's texture correctly, but it is doable. With this method, make sure you use a predictable way of painting the ink to reduce network impact. You could network the center of impact's vector, size, (shape?) as well as a seed to make sure it renders exactly the same (or at least in shape) across all clients and the server. Really just brainstorming here, and I know it definitely won't be a simple task, but I think it's your best bet performance-wise.[/QUOTE]
I am a little confused on what you mean. Are you saying the mesh would already be on the map but it would only be visible when a player shoots at that certain portion of it?
like this: [T]http://i.gyazo.com/6804a46fc3eefa7104cef8634d4d3b70.png[/T]
I am guessing stencils would be needed in that method and such.
[QUOTE=xaviergmail;48118762]Seems like quite a few people are jumping on this Splatoon bandwagon.
You could try making one a giant mesh and rendering them right over the brushes that can be painted. The only issue with that would be to get all the coordinates mapped to the mesh's texture correctly, but it is doable. With this method, make sure you use a predictable way of painting the ink to reduce network impact. You could network the center of impact's vector, size, (shape?) as well as a seed to make sure it renders exactly the same (or at least in shape) across all clients and the server. Really just brainstorming here, and I know it definitely won't be a simple task, but I think it's your best bet performance-wise.[/QUOTE]
Would need multiple meshes due to the texture size limit.
[editline]4th July 2015[/editline]
[QUOTE=bran92don;48119139]I am guessing stencils would be needed in that method and such.[/QUOTE]
No, just render your paint material to the texture. You can use a render target for that. Of course if you're going for the shiny ink look, you'll also need to do the same with a normal map texture. Link both of these textures to your mesh's material and render the mesh. Not sure how you will be able to keep the world and the mesh from z-fighting though.
[QUOTE=thegrb93;48119249]Would need multiple meshes due to the texture size limit.
[editline]4th July 2015[/editline]
No, just render your paint material to the texture. You can use a render target for that. Of course if you're going for the shiny ink look, you'll also need to do the same with a normal map texture. Link both of these textures to your mesh's material and render the mesh. Not sure how you will be able to keep the world and the mesh from z-fighting though.[/QUOTE]
I am gonna be honest I don't understand what can and cannot be done with render targets. The only thing I've ever seen them used for in was making mini-maps and such.
I am guessing it be the act of having a mesh project a image onto certain vectors of the map?
[URL="http://steamcommunity.com/id/Craigisthebest"]Add me on Steam
http://steamcommunity.com/id/Craigisthebest[/URL]
All a render target means is to draw onto a texture. You want to draw your splats onto a texture because you want to keep track of everywhere you splatted but you don't want to render each splat every frame. It can also be used to transform a bunch of rendered stuff into another coordinate system without a bunch of math e.g. a rotating mini-map. Just render all your mini-map stuff normally onto the render target, then render the mini-map texture onto a rotated quad.
[QUOTE=thegrb93;48122068]All a render target means is to draw onto a texture. You want to draw your splats onto a texture because you want to keep track of everywhere you splatted but you don't want to render each splat every frame. It can also be used to transform a bunch of rendered stuff into another coordinate system without a bunch of math e.g. a rotating mini-map. Just render all your mini-map stuff normally onto the render target, then render the mini-map texture onto a rotated quad.[/QUOTE]
Hmmm, I think I am slightly understanding how it is.
I was looking around and from my understanding I think I would need to have a table of where all the ink spots are with their angles and then have them be drawn by having the rendertarget place the textures in the according places?
I am guessing this information would need to be in a hook on the client?
Wouldn't this still have some like network issue? I would need to make sure the clients ink spots are synced with the server meaning it would require a constant stream of data being outputted and inputted.
I am almost done with the basis of the gamemode. I just need the ink part going and I will be good.
Sorry, you need to Log In to post a reply to this thread.