flask
flask

Reputation: 137

How to feed a transform.position into shader graph?

I am trying to mask a sprite by using shader graph.

Here is a picture of what I have so far:

enter image description here

my problem is that when I feed the mask texture into the shader it centers itself on the main texture, as you see in this image.

See the slightly transparent checkerboard to the right side of the character? I only want this operation to affect the parts where the checkerboard intercepts with the character.

For this I would need someway to displace and scale(?) the mask texture so that it detaches from the center of the main texture.

What nodes do I have to add to accomplish this, and where to connect them? Thanks.

Upvotes: 1

Views: 2474

Answers (1)

Tomasz Juszczak
Tomasz Juszczak

Reputation: 2340

As I commended I do not fully understand the question, but I will give it a try!

You want to move the UV of the texture to only make it apply to part of the image, and disable wrapping!

This can be done by using UV node while using the same channel you have on the overlapping texture and then adding the offset to it.

enter image description here

In order to disable wrapping you need to disable it on texture itself enter image description here Change Wrap Mode to Clamp enter image description here Set offset to values below 1. Now you need to just calculate what offset value for you will be as 1 is the full width of the image.

EDIT: Instead of manually changing the UV texture you should use Tiling and Offset node which has easy scaling by changing tiling values.

enter image description here

Good luck :)

Upvotes: 2

Related Questions