I’ve been playing around with nodes for the last few days, and while they are obviously very powerful and allow you to do some pretty impressive things, it occurred to me that a node is missing. A lot of the work that is done by the Cycles engine would probably take many lines of code to reproduce in Python, but more and more I’m thinking, for game developers, it would be an incredibly powerful node in itself if we could use object properties as values in nodes.
A good for-instance is my long, off-and-on attempt at creating a dynamic, self-producing landscape that textures itself and places its own ground objects. I want to be able to plug a potentially infinite number of textures into the nodes and allow the terrain to decide which textures to show more or less of, and where. I might want land that rises quickly at high altitudes to use a darker stone texture, and where it slopes off to texture it with snow. As it drops down the other side it might show the darker stone again, alternating with snow and maybe dirt as it goes down the mountain side until it hits lower-altitude slopes and flats where it switches to dirt and lighter colored stone, and eventually bright green grass and dusty dirt areas. I can do all of this logic in Python, but I don’t seem to have enough node options to allow for that many textures.
I’ve tried using RGB, but the most I can squeeze out is 4 textures. I saw someone in StackExchange say they had 5. Another guy is using empties strategically located to change what texture is located there, but he did that work in the Cycles engine. I haven’t tested it yet in the Game Engine, but even if it works I have to add a new empty to each vert where I want a different texture laid down.
It’s for this reason that I think adding Property to the Geometry node, or creating a new node called Object Property, would solve a lot of issues (at least for me). I know PyNodes exist, and they sound great, but I can do all of that work on my own if I had a Property node. In fact, I’d prefer it as it would give me the greatest control.
So, what gives? Anyone know? Am I misguided? Is this a mind-blowing concept that hasn’t been thought yet (unlikely)?