I need help with the Better Outlines Plugin.

Not favoritedFavorited Favorited 0 favourites
  • 14 posts
From the Asset Store
Game with complete Source-Code (Construct 3 / .c3p) + HTML5 Exported.
  • I'm having an issue with this plugin, I've heard it's the best one for this so I'm hoping for a fix or for one to magically work better. Basically for some of my objects, depending on where the object is placed, and whether or not my window is in full screen mode, it'll just add a bit of the outline to different parts of the whole object as apposed to just the art itself. I even changed the hitbox on the object and it's still the outline. I'm very confused as it even looks like this in the editor and I really don't know how to fix it. Can someone please help me.

    The first image is with a smaller window, the second image is when I full screened it. It wasn't always doing this and then suddenly they just started popping up and I don't know why.

    Tagged:

  • This looks familiar somehow...

    What we do know is an outline effect works by coloring transparent pixels if there are pixels around it that aren't transparent on the texture.

    Maybe since the effect samples pixels far from the pixels on the sprite it could be sampling pixels from other sprite sheeted images.

    So maybe the effect isn't clamping the sampling to to just within the current sub-texture.

    If that is the case then either the effect could be modified, or we could take advantage to how the c3's effect compositor works to avoid sampling beyond the frame (sub-texture). You could do that by adding another effect to the object, and order that to be before the outline effect. When there are multiple effects the first effect is drawn to a temporary texture and that is used as input for the next one. With that nothing would be beyond the image to possibly sample.

    Anyways, just an idea.

  • This looks familiar somehow...

    What we do know is an outline effect works by coloring transparent pixels if there are pixels around it that aren't transparent on the texture.

    Maybe since the effect samples pixels far from the pixels on the sprite it could be sampling pixels from other sprite sheeted images.

    So maybe the effect isn't clamping the sampling to to just within the current sub-texture.

    If that is the case then either the effect could be modified, or we could take advantage to how the c3's effect compositor works to avoid sampling beyond the frame (sub-texture). You could do that by adding another effect to the object, and order that to be before the outline effect. When there are multiple effects the first effect is drawn to a temporary texture and that is used as input for the next one. With that nothing would be beyond the image to possibly sample.

    Anyways, just an idea.

    It looks familiar because I posted about this 6 months ago and never got an answer, lol. This is actually the third time I've posted this. I'll try that out. I didn't think all these images would share a sprite sheet. Is it because I put them in a family with other objects?

  • This looks familiar somehow...

    What we do know is an outline effect works by coloring transparent pixels if there are pixels around it that aren't transparent on the texture.

    Maybe since the effect samples pixels far from the pixels on the sprite it could be sampling pixels from other sprite sheeted images.

    So maybe the effect isn't clamping the sampling to to just within the current sub-texture.

    If that is the case then either the effect could be modified, or we could take advantage to how the c3's effect compositor works to avoid sampling beyond the frame (sub-texture). You could do that by adding another effect to the object, and order that to be before the outline effect. When there are multiple effects the first effect is drawn to a temporary texture and that is used as input for the next one. With that nothing would be beyond the image to possibly sample.

    Anyways, just an idea.

    Huh... after some testing it's an issue with construct? For one of my objects I ended up both removing the effect entirely as well as removing it from the family, the object has 0 effects or behaviors, and it still looks like this.

    Which once again, the strange outline changes depending on if my page is full screen or not and is visible in the editor despite the sprite not having any such lines.

    Edit: I have now also moved the objects layer around as well, still didn't change anything.

    Edit 2: Have now changed the object's sampling to the 3 other options, the only one that got rid of it was "Nearest"... but that one made it look ugly.

  • How about.. you upload an example so the devs can check.

    Create a rapid proto

  • I think that's just a combination of issues.

    The spritesheet bleeding is a common issue/tradeoff. The outline plugin simply sees some pixels and outlines them.

    The solution is to change the downscaling quality in the project settings to high. It's "not recommended" but it's kind of the only real fix for the issue. I think the other option would be to entirely disable spritesheets, but I think that's a worse idea than the downscaling quality.

  • How about.. you upload an example so the devs can check.

    Create a rapid proto

    This is the only project I've made that this is happening to, but it's been happening to most object types. So best I can do here is upload the project I've been making. Before adding better outlines this had never happened so i assumed at the time that that was the issue.

  • I think that's just a combination of issues.

    The spritesheet bleeding is a common issue/tradeoff. The outline plugin simply sees some pixels and outlines them.

    The solution is to change the downscaling quality in the project settings to high. It's "not recommended" but it's kind of the only real fix for the issue. I think the other option would be to entirely disable spritesheets, but I think that's a worse idea than the downscaling quality.

    How do I disable spritesheets? My project isn't too high quality, it's only 1024 x 576

  • I think that's just a combination of issues.

    The spritesheet bleeding is a common issue/tradeoff. The outline plugin simply sees some pixels and outlines them.

    The solution is to change the downscaling quality in the project settings to high. It's "not recommended" but it's kind of the only real fix for the issue. I think the other option would be to entirely disable spritesheets, but I think that's a worse idea than the downscaling quality.

    ...what? I changed the downscaling quality of my project. it was Medium... but changing it, both low and high fixed it... what? Why? What's wrong with Medium?

  • Changing the spriteshees is just a bit below the downscaling quality. Set Max spritesheet size: Disabled

    I haven't tested though if that fixes it I'm just guessing that it should.

    both low and high fixed it... what? Why? What's wrong with Medium?

    It just changes how exactly the spritesheets are scaled down. Low will of course have a tradeoff regarding quality when sprites are scaled down. High has a tradeoff regarding performance (although I personally barely noticed anything) My guess would be that low uses nearest sampling when downscaling, which has the benefit of being exact. Medium probably uses some filtering, bilinear or trilinear. Not sure what exactly high does differently or how any of that works exactly.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Buddy you need to go to the image editor and make sure every frame of the image is cropped completely. You have blank space around one of your sprites with transparent pixels. You need to manually erase those then crop the images.

    If you have even the faintest transparent glow of a pixel the outline will draw around that.

    I see this all of the time when I'm editing graphics and try using drop shadow something before I cleaned up all of the pixels around it.

  • Buddy you need to go to the image editor and make sure every frame of the image is cropped completely. You have blank space around one of your sprites with transparent pixels. You need to manually erase those then crop the images.

    If you have even the faintest transparent glow of a pixel the outline will draw around that.

    I see this all of the time when I'm editing graphics and try using drop shadow something before I cleaned up all of the pixels around it.

    Nope, none of this. I already said what ended up fixing it. But all of the sprites in this project are 1 frame, and believe me, I've gone over the edges with a large eraser many times.

  • Considering you didn't mention cropping to size after using the eraser tool I'm not sure you have a complete understanding of what I'm suggesting.

    The scaling might mask the issue because the outline tool has too much noise on the low end blurring the artifact, and the high resolution is sharp enough where the artifact is too thin.

    But it is an artifact, nonetheless whether you know how or where to look is on you.

  • Once You have the project in preview and the sprites and images have been put to spritesheets, browse through them. You will see the sprite in question (A) adjacent to some other sprites (B). Those adjacent make the pixel bleeding which is being picked up by the outline effect (it goes beyond this, but we talk about the effect here). Now - increase the completely transparent space to sprites B. At least 2 pixels of zero alpha to the edge of frame. Once this is fixed, run the project again. Adjust again if needed.

Jump to:
Active Users
There are 0 visitors browsing this topic (0 users and 0 guests)