ive tried to make a black and white 2d mesh (the 2d mesh does have a curve however) i have used nodes to make a black, shiny mesh texture with glowing white pupils, however for some reason on my eye mesh the white pupils do not show, enter image description here

on a plane mesh which is a 2d sphere, i get what im looking for when it comes to nodes, however if i try to bend this mesh in any way the pupils shrinks and disappears to the corner and cant be brought back. enter image description here

this is the same mesh that i have moved with the sculpt tool enter image description here

this is the mesh that i have made, this is the one that i need help with as the pupils do not show enter image description here

the material says the pupils are there and yet there not, i know its something to do with the shape of my mesh probably however i need this exact shape for the rest of my character, so if you could help with this it would be most helpful, also this mesh does not have mirror modifier enter image description here

enter image description here

it does work, it works well honestly, however though you mesh works fine, and mine works with it tooenter image description here

however when i try to move t it shrinks, though i might be because of the orb controlling the pupils needs to stay close to the mesh, my mesh curves a lotenter image description here

enter image description here

this means the orb shrinks and disappears is there some way to control how far the pupil controller can be from the eye enter image description here

besides from that the pupil works i just need to know if this new problem is easily solvable

  • $\begingroup$ hello please share your file so that we don't have to recompose the whole node setup: pasteall.org/blend $\endgroup$ – moonboots Jan 14 at 12:11
  • $\begingroup$ the blender file? ok were do i send it $\endgroup$ – JustImpact Jan 14 at 12:11
  • $\begingroup$ use the link I've just given: pasteall.org/blend $\endgroup$ – moonboots Jan 14 at 12:13
  • $\begingroup$ done i have sent $\endgroup$ – JustImpact Jan 14 at 12:15
  • $\begingroup$ you need to copy the URL and paste it here ;) $\endgroup$ – moonboots Jan 14 at 12:26

This answer is almost the same as @moonboots..

Your texture is based in Object space, and is a 3D spherical gradient. So the glowing volume (limited by the Color-Ramp) is a sphere around the object origin. What shows on the surface is its intersection with that sphere. As the surface gets further away from the object origin, it intersects with less and less of the sphere, and eventually the glow disappears.

One option would be to put the texture in the space of another object, which you can do in the Texture Coordinate node, in the 'Object' slot.

enter image description here

Here, Empties are used to locate the texture. They are Vertex Parented to the surface, using 3 vertices near the middle. (You could use one vertex, if only the location of the Empty matters to you, and you don't want the orientation to follow the surface) The Empties, (and the sphere of texture around them) will now follow the surface when it is deformed.

This shader tree could be made in many ways depending on the effect you want.. the only important thing for this answer is that the texture is in the Object space of the parented Empty..

enter image description here

The attached .blend is hardly a rig.. but the Left (Camera-Right) Iris-Empty is Transform-Constrained to the Right Iris-Empty, so the right Iris controls both.

enter image description here

Edit: If you want the Empties to cling to the surface under substantiaal distortion, you can add a Shrinkwrap constraint at the bottom of their constraint stacks. How you project, and whether or not you want to keep the transform constraints... I don't know.. that depends on how you want to animate?

Revised .blend:

  • $\begingroup$ thanks this really helps and it works, however i edied the question above just so you can see if this small problem is do-able $\endgroup$ – JustImpact Jan 14 at 21:11
  • $\begingroup$ Have a go at the suggestion in the edit.. works for me.. With parenting, transform and shrinkwrap.. they may not interact in the way you need.. you may need to pick'n'mix. $\endgroup$ – Robin Betts Jan 14 at 21:37
  • $\begingroup$ ok the the first one and the second one works on the eye really well thank you, the only think i need help with now is to connect the non moving eye to the controller eye, right now both eyes control manually $\endgroup$ – JustImpact Jan 15 at 7:10
  • $\begingroup$ basically the left of my eye mesh works fine but when i constrain it, the right eye only wants to move up, also the eye keeps facing left(not on left eye its just facing that direction $\endgroup$ – JustImpact Jan 15 at 9:12
  • $\begingroup$ I'm using The second linked 'Revised' .blend, TexEyes2. I re-downloaded it, and I'm not getting this behaviour.. Hard to believe we're looking at the same file. Maybe share yours. $\endgroup$ – Robin Betts Jan 15 at 9:25

Actually the problem is that you're deforming the object in 3D. The material setup, that works fine for a 2D object, will deform in 3D. You could fix that with the Mapping node, but as you want to animate the pupil, you need to find another solution, because animating with the Mapping node would be a bit tedious.

A quick way to do it is to create an empty, parent it to the head and give your Texture Coordinate the empty as Object:

enter image description here

Now when you move the empty the pupil follows. You can give it a Limit Location constraint (Local Space mode) so that it sticks around the eye area when you manipulate it:

enter image description here

enter image description here

A more accurate solution would be to give your eye an Image Texture and move the texture with the UV Warp modifier, see video here or Blender Stack Exchange answer here.

  • $\begingroup$ oh so you mean make the glow on the eye separate? do you have the model i sent, could you see if it works since im honestly very confused. $\endgroup$ – JustImpact Jan 14 at 13:43
  • $\begingroup$ no it's not separate, you're just moving the material. Actually you don't specify in your question that you need to move the pupil, so your initial question is easily fixable with the Mapping location, but it looks like you also want to move the pupil so you need to find a solution for this and this is one among others $\endgroup$ – moonboots Jan 14 at 13:51
  • $\begingroup$ another one would be to create an image of the pupil on a black background, use it in an Image Texture node, and move it with the UV Warp modifier $\endgroup$ – moonboots Jan 14 at 13:59
  • $\begingroup$ i love how you did the eye in the gif, can you explain how to parent the eye in more detail $\endgroup$ – JustImpact Jan 14 at 14:23
  • $\begingroup$ see the node setup, you just need to create an empty then choose it in the Texture Coordinate node, it will allow you to control the material location, which is more convenient than the Mapping node $\endgroup$ – moonboots Jan 14 at 14:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.