Trying to create an offsetting texture effect on a flat ring model, to emulate the corona of a star. (the rendering is from max) I understand that a model has to be exported from max with two uv modifiers or two uv Unwraps with one set to uv1, the other set to uv 2. I get that the material has to have two slots, each one designated likewise with uv1, uv2. I export in fbx, drag it into unity, and I see no provision…anywhere…for accessing a second UV. All I get on the forums is half blurbs on this idea or that idea, and very little clear information. Anyone experienced in accessing/troubleshooting 2nd uv’s to max exported models, I’d sure appreciate some insight.
Unity models can be imported with two sets of uv, but the second set is usually used for lightmapping.
Yeah. My question was: “how do I access 2 uvs in Unity?” I want to determine what they are used for, not be enslaved by Unity not giving game developers access those
There are two ways to access them. First through scripting by accessing the actual mesh data. And secondly you may also use them within a shader.
Here is the documentation for the mesh:
For shaders, there are more variants. The most comfortable one would probably be to use something like Shader Forge:
https://www.assetstore.unity3d.com/#/content/14147
I gotcha. So once again, access in a non-code way is denied to Unity users. Thanks for trying though.
How else would you access a secondary uv set?
If you want to texture something, you need the first one. If you want some blending or other effects, you need to specify how you want those secondary uv sets to be handled… thats where the shader gets interesting…
How else would I access it? Seriously? How about in the interface, rather than a text file which is only accessible/understandable by programmers.
I’ve been in 3d graphics for over twenty years and professionally for twelve. All of it’s in games. The great failing of Unity at present is its almost nihilistic lack of access to such things for end users that aren’t programmers. Access to shaders needs to be something inherently part of the engine from the 1st version. If people want an engine they can recruit programmers for in order to endlessly program non-included functionalities and user interfaces, this engine is right up there with every other engine. If however Unity decides at some point they want to be actually successful, they’d better start getting some high end useablity added in, pronto: a node based material/shader engine (or hell, any material/shader editor that isn’t coding a text file), a node based event scripter, node based behavior/AI, and most importantly, a gamut of the standard player abilities/actions/functions needed to turn a useless 3d or 2d object into a functional gamepiece. I worked with an engine development team from 2006 to 2007, and left because they didn’t do anything that made a difference for end users. I’ve worked closely (two feet, in fact) with programmers like Dave Hagewood and Steven Polge all my career, and enjoyed the dynamic. But it’s utterly demoralizing to see such potential…yet again…and to see it not being focused on with incandescent focus by the dev team. I wish to God they’d hire me on and actually follow my guidance.
They have been very successful by any definition. The main problem with the approach you describe is that you’re stuck with whatever the engine guys program and can’t move beyond that, which is OK for some things but too limited otherwise. It’s imperative that as much of the engine be accessible and customizable as possible, which is one of the main reasons why Unity has been so successful. (Although they could go even further down that road, such as the input manager not being customizable through code, so we’re stuck with what they gave us and it’s not enough.) There are many items in the asset store that cater to non-programmers if that’s what you really need.
That’s exactly the wrong approach for the engine core. Very wrong, and they should never waste a minute of programmer time on it. It is however exactly the sort of thing that can be created by third parties (and has been), to address the needs of those who want to work in that fashion.
–Eric
“In that fashion…”
What fashion?!? The ability to make a damn game?? It’s an abomination that a ‘game engine’ should require a half hour of programming to get a player character to move.
Whoa, no need to be upset, they are trying to help ya out lol… I can get a character moving around usually in a few minutes - after years if tinkering in unity but hey that’s the price we pay to have this wonderful engine, is to have at least somewhat of a learning curve, including coding. It is almost unavoidable in game design ya know, even with visual scripting you must logically “program” behavior.
Don’t hate the tool, it’s more than we could expect from most free engines, and has extensive docs…
So my point I guess is appreciate, and graciously ask for support! The forums will be much more helpful if you can keep it respectful and friendly!
Yes, seriously. Unity is about flexibility, not about “throw in a mesh and play a 3d shooter”. If you want something somewhere in the UI, what would it be?
A second texture slot for blending? I tried that before I read that those are for lightmapping. I didn’t know one line of c# or shadercode (and still don’t know anything about shader), but with the shader language of unity it took me about 3 minutes to get something working, which uses the secondary set to blend a texture on the first one.
But… imagine you have a second texture Slot. What should it do? Blending? How? Do you want to tile something with that? Or only change visibility? Or blend diffuse? There are so many options (which all go against the lightmapping…), that it is nearly impossible to include every Option in UI.
If you want a node based shader system, dantus linked you to a free one, which works very good. And… I think it is easier to see equations like ab(a+c/d) somewhere in one line of code than in a node based system, where you would have 4 or 5 nodes for it.
So… you want nodes, I want code. Unity supports both.
Shader support, tutorials, even the source code of the built in shaders is available.If you still don’t like the idea of doing it by yourself (which is the only way to make sure you get what you want, not what other shader programmers want you to do), there is still the asset store where you can find several shaders with blending options.
Not to Insult you, but I hope they won’t. Apple uses UI-Designers to force the user a specific way… I hate that. There isn’t even an option for some mouse speeds. Or touch lag… Those are people who think their way is the only way. Unity does the opposite, mostly. They try to make something, that everyone can tweek to his own desire.
Do you have a little more context for us? Why do you need this, what are you trying to achieve?
Unity already comes with standard character controller scripts, so it requires no programming to get something going. If/when the standard scripts aren’t enough, then you can modify them or roll your own. A real game engine does not force you into a box with a limited set of actions…that would be just a toy.
–Eric