- Home /
Making a map: How to change color of specific areas in texture?
Imagine a map of the US divided into all 50 states. I can identify each state using a second color-encoded map after implementing http://answers.unity3d.com/questions/300994/best-way-to-create-clickable-real-world-map.html But now I want to make this a dynamic map where using an array I can direct every state to be colored a certain way. I quickly realized something involving GetPixels and SetPixels with my large texture was impractical, and my personal "great idea" was to have 50 separate states I cut out and then layer them somehow. My research has also shown shaders could be helpful... The fundamental problem is I need to either "fill in" a completed map, or access the right shape and position for each state and then apply color. Very inexperienced here, so what can I do? Thanks!
I had to do something slightly similar some months ago. I had to paint areas on a textured mesh, but they had to be able to be turned on/off. To solve this, I set the material of the mesh to some material with detail texture. Then I created the areas as polygons, used an orthographic camera to render only those polygons and set the camera to render to the detail texture of the mesh. Then I could have independent areas wherever I wanted and looks great if the texture has a nice resolution.
$$anonymous$$ay be easier if you had a vector image of all the states. You can then convert each state segment into a mesh. $$anonymous$$ost modelling packages allow you to import vector graphics and create meshes from them. This way each state can be its own mesh, which in turn means you can for example, change the material colour for each state. $$anonymous$$uch more effiecient than writing pixels to a texture.
Your answer
Follow this Question
Related Questions
Need to change color of a texture 2 Answers
change part of texture with color or other texture 0 Answers
Transparent texture and object with changing color 0 Answers
Draw sprite by calling function for each pixel. 1 Answer
How to change color of all the pixels from a sprite that have a given color value? 1 Answer