I have a top-down player. I had a really big, pixel-y light texture, which was in a circle, and had various circles of darkness in it, so that there were various zones, and outward from the center, each zone was darker. Then I cut that texture in half, so that only the center circle remained in tact. That way, my player has only slightly underrealistic peripheral vision. I attempted to say that whenever my player is angled left, the light is also angled left (because my rpg is fairly simplistic, and employs controls where the player can either be moved directional or can look around angularly without any turning motions or anything between positions). My question is: how, if possible, may a light object’s angle be changed, so that it shines in a different direction?
See how to rotate light. I can tell you right now that the resolution of that topic and all other past ones (years past) are no resolutions at all, but that topic gave the best resolution, in using light obstacles to channel the light of a circle. There is a problem, however, in the fact that for the light to look neat and professional, it would have to be a single, very concave light obstacle, or else, two fused together light obstacles, I already tried using one, and it acted as a light cage, rather than a light obstacle. Rather than channeling light, it trapped it. I could have still used four or five collision masks to build a concave shape, but I want my collision to be as simple as possible if I use this method because I want to create multiple similar obstacles like this to give different vision effects when different headgear is equipped. Maybe this would be too complex, and given the way I’ve set up my mechanics, I think it would destroy the whole likeability of the entire game if I limited vision too much depending on the helmet, but I would still like to rotate my light. Here: The simplest, least impressive solution possible, which is totally not what I wanted, but I think it’s better than nothing: A single light obstacle, which has a round carve-out in the middle, and that is cut in half.
It will be invisible in the scene when I’m done testing it, and it will not be round, but rather, it will be a negative-spaced diamond, and will look poor, at best, but it’s a compromise. Does anybody have a better idea?
Firstly, you are setting the rotation angle of RegularView to the angle of itself. You really want to make set the angle to NewSprite.Angle().
Secondly, don’t put RegularView around NewSprite. Instead, move the origin of RegularView to the centre of the semi circle. Then position RegularView at NewSprite centre and rotate it.
But, the simplest way is to use the sticker extension (though using RegularView instead of the sword that’s in the link).
You can use an event where the angle of light is controlled by your cursor. Its a really good technique and is mainly almost always used!!
If I were using the top-down movement behavior, I would do this, but my movement system needs to be only in four directions. Good idea, though, if I were using turn-based movement, and I would actually suggest this to anybody else, really.
You’re right. Top-down movement is in four directions. Top-down rotation, on the other hand, is not, and my game is actually of a simple sort where those lighting tricks likely wouldn’t work for me anyways. My best bet is just to create a lighting texture of a sort, a triangle, circle, or square, that is all one color, and that is stuck to the front of the player, and if an npc or interactible object like a chest isn’t in collision with the imitation light, it’s hidden. But what I mean is that the light will just jump around from one angle to another, instantly.