There's something I've been always wondering about perspective assistant tools

Disclaimer : It is a very general practice of perspective tool in painting applications and not limited to Krita, so it’s not a criticism to Krita.

As far as I’ve seen, ‘perspective tool’ in general places vanishing points to make a perspective grid, and technically it can go extreme with the perspective, like this :

That being said we can technically draw buildings like this with the perspective tool :

But I think we all know it’s not realistic.
Isn’t it that there’s no way these kind of perspective could happen in natural reality?

If you think about a building, no matter how close you get to that building, the apex cannot be seen in less than 90 degree angle. (I’m no expert on these sort of things so I could be wrong, forgive me if so.)

So the question is that is there any limits or boundaries on perspective angle which maches the realistic perspective limit(perhaps : where lines from vanishing points meet in 90 degrees, on 2 point perspective for example?)?


If you’re about to post something like : ‘You can just place the vanishing points wider~’, please stop. Every single one of us know how to do it and that is not the point of this topic.

Does the 2-Point Perspective Assistant go some way to addressing this?
Call for Testing: 2-Point Perspective Assistant
(I know that you know about it. The link is for people who don’t know.)

1 Like

I’m not sure. I actually haven’t tested the new perspective tool in depth… I might add something later after I test it.
And thanks for adding the link. :slight_smile:

Does it look realistic, no? Is it though? Kinda. The thing with perspective is that it all depends on the lens. Our Eyes is a lens too. In the guide books I have there is actually an explanation on how to create a perspective grid that fits a certain focal length. For a long time I actually did it like this which was always a lot of work. Now I usually start up blender, construct a basic scene with a few cubes and then experiment with angle and focal length, this is simply faster and you can try more thigns. Then I load this into krita and place the vanishing points so it matches what I did in blender. This is much easier and there have been a few proposals for new perspective tools by many (even by me) to do this directly in krita. To make setting up vanishing points more easily. So your perspective is not wrong per se, its just like looking through a very narrow lens and very close up to the object.

The following is a perfect cube

The effect has it’s uses.

But I fully agree setting up “correct” vanishing points should be easier.

1 Like

Thanks for the explanation. Interesting.

In general when we draw, it seems that we treat 3d space as being mechanically accurate and tend to ignore the fact that our eyes is actually lens. And it generally leads to a good result because the amount of that ‘lens effect’ is very tiny in reality, I assume.

That being said it would be nice to have an easy way to set up the accurate(or ‘correct’ as you said) perspective. I’m not really sure how though… I’ve never seen any painting program support such a feature, except :

The only case I’ve seen is Firealpaca, which has a built in 3d object simulator. You can create a scene in the simulator and use that scene to create guide lines on canvas. But, in my experience this tool was VERY unintuitive and hard to use and I would just use blender to get the similar result.

There might be another ways to achieve this accuracy. But again, I have no idea how. And in that case ignoring the lens effect completely might be a bad idea too…

I dunno, but after using 2 Point Perspective for a while (together with my fixes in Improvements to 2 Point Perspective (!822) · Merge requests · Graphics / Krita · GitLab) I’m quite happy with the perspective I’ve got. Since the 2PP assistant shows nice grid, it makes it easier to figure out the proper placement of vanishing points than with two simple vanishing points.

(Yes, here I put them a bit too close too, but hush).

Most of the whole theory that you need to know is “just put the vanishing points far enough that it looks correct on a cube, and it will look correct to other people, too”. Rest is just pure philosophing :stuck_out_tongue:

2 Likes

The thing is though, you wouldn’t go to a user who’s having a problem with any feature in Krita and say ‘Just do this workaround and you would be fine, the rest is just unnecessary thoughts.’. I think that denies the fundamental purpose of having a tool in the first place. :thinking:

But sure. :wink: Indeed that just placing vanishing points far enough would meet the most people’s need. I’m just a bit of a perfectionist and want to sanitize my drawings to the maximum.

I think photoshop has this feature too but I never picked up PS ever again after finding Krita.

The thing with perspective is that it’s one of these art fundamentals you just have to know how they work to make use of it properly.

Most scenes have a lot of vanishing points, as soon as you have put a slightly rotated cube on another (a book on a table) you get two new vanishing points. Assistant tools have their limit’s you still have to know what you are doing.

I only wished you could snap vanishing points to a horizon line (parallel ruler) to have them exactly aligned but I think that’s already implemented for 5.0.

Maybe it’s also a question of what you want to achieve. I think the big advantage of the perspective tool is that you can draw accurately on the grid. This is very helpful when you want to do concept drawings of vehicles or very complex 3-point perspective scenes (like a top-down view of a town). For that, as @tiar says, you really just have to drag the whole thing far enough apart until you have the lens you want.

For drawings where there are a lot of organic shapes and you theoretically have an infinite number of vanishing points, it’s certainly easier to build a grid with other tools that help you place your drawings in a 3D dimensional space, but are not designed to accurately align each line with the lines of a grid. David Revoy recently shared his grids as PNG and a tutorial for this:

1 Like

Yes exactly. Unlike the other features, the whole purpose of this tool is to eliminate unnecessary eyeballing in constructing a scene. So what’s the downside in making it accurate from the default human eyes? Isn’t it supposed to be in that way eventually(at least as an option)?

Honestly I really don’t understand the dev’s reaction on this and kind of confused. :neutral_face:

Again, I don’t know technically how it should be designed at this point and it’s personally not big of a deal. I don’t even use perspective tool in most of my artworks. But it worries me that developers seem starting to neglect something of the fundamentals.

The thing is that only having a horizon line with 2 vanishing points is not enough to say that it is extreme or accurate.
You could have an assistant with 2 close vanishing points that look extreme with respect of the image size but that look ok for example with respect of a panel if you are drawing a comic.
To make it really accurate I think you should have to introduce complex concepts that would also put off the user (picture plane, distance to picture plane, and so on).

1 Like

I think you’re looking at this problem from a very wrong point of view. Every perspective is correct, as long as you follow the rules like all parallel (in 3D) lines vanish in the same vanishing point and all lines on one plane vanish into vanishing points on the same line (horizon). Also no perspective is correct because people have peripheral vision…

In the layman terms, the perceived “correctness” of the vanishing point distance depends on the height of the painting you’re going to make (height, because I think the height is more limited in human vision? So if you make the height too big (= vanishing points too close to each other), humans will notice they see more than they expect to see?). As @Deif_Lou said, you can be making comic, which makes the height of the painting smaller, and thus smaller distance desirable. Another thing is that you don’t always have to show whole vision as a human is capable of; sometimes you want to just show a “zoom in” of a scene, which would result in a higher distance between vanishing points (take any perspective drawing, then crop it 1/3 from every side. It’s still looking correct, right? While the vanishing points are further away in relation to the canvas height). Krita restraining distance between the vanishing point to a specific number even depending on the height of the canvas would be limiting.

I think it would be a much better idea that for those who don’t have yet the intuition needed for choosing the distance between the vanishing points (which comes with experience) that the chosen perspective would kind of show whether it’s roughly correct or not, than restricting the vanishing point placement. I did find that with the new 2pp assistant, it’s easier to see with the grid, also there are always those two points that are somewhat stably staying on the line of the “center of vision”. For 2 point perspective, I can easily say that if you keep both of those points outside of the canvas, the result should be pleasant enough for the eye. For 3 point perspective it’s more complicated since you can have one of those points visible; but then the horizon is either very low or very high, so the other will for sure be hidden. But there is no easy rule to stop yet. Maybe with dedicated 3pp assistant there will be a solution for that, too. (Though I’d like to just make 2pp and 3pp in one assistant, but we’ll see. I don’t have any concrete plans yet).

You are welcome to suggest changes to the current assistant (including the new 2pp one) but here I’m not sure what change you even suggest, and if it’s limiting the movement of VPs, then I disagree. I could understand a request for a warning in Tool Options, for example - for 2pp it could consider whole canvas, and for hopefully future localized 2pp (in a rectangle) it could use that rectangle to check if it’s ok - but I’m not sure, I mean, that would be a bit rude of Krita. It’s as if Krita were to check the painting and display a warning “Your colors are too saturated, tone them down” because many beginner artists use too saturated colors which results in an ugly painting. But what if the artist did intent to use them? I’m not sure if Krita should intervene and overeagerly try to correct the artist in case when it’s not obvious that the user is making an involuntary mistake.

2 Likes

This is correct. Krita is a tool and how you use it depends on your expertise. Krita is not there to course correct you and make your drawing for you. A bit of hand holding is good but ultimately it becomes a bother and the tools will become a hindrance. I would also not vote for showing warning. How much warning are you going to show? Today we will show warning for this, tomorrow it will be different aspect, it sets a precedent. Krita should not in any way guide me in correct or incorrect way, even if the drawing is mathematically wrong it is my choice to draw it that way.

In the initial thread @acc4 posted

But this is just that, there is nothing to discuss anything else. You can draw wrong things and also correct things with the tools. What you draw it is up to you. The tools shouldn’t be dictating what is good and what is bad. You feel that the result is unrealistic then you correct it according to your needs

4 Likes

I remember 23years ago, when bought my first 24x36 reflex camera, I readed many books about photography before.
And one thing that was written like a rule was : use 50mm lens fir humain portrait, and 35mm lens for landscapes

So, it was true and false
True because when you start photography and have no marks, use of recommended lenses help very much : at an average “normal” distance a 50mm lens is good for a humain portrait, not too far, not too close, not many distorsions ; a 35mm lens is also good to for a lanscape picture, not too wide to avoid distorsions, not to close to get enough of landscape in your picture.
A good tip to start.

But with practice, I started to work differently, using a 70mm for portrait and 20 to 135mm for landscapes.

Using a 70mm implies to change your point of view when doing a portrait, you to be more far from your subject
Same for landscapes, at 20mm the distorsion is huge with a sky and a first plan ground that take most of area in picture ; you have to think differently the composition or your picture when you it, almost having close subject in your lanscape.
And for architectural pictures, I often use a 10-17mm fisheye lens, that gives results similar to first @acc4 provided exemple

So as told by other, and to have practiced photography for approximately 15years there’s no good or no bad perspectives point, it will just depend of what your subject, your positions, and how you want to compose the scene : close or away

Grum999

1 Like

I too would not like to have too many restrictions. I currently work on a piece that has a lot more vanishing points because many objects are rotated, i even once had a work with two horizons. So it’s not always easy. But at the same time I’d appreciate when Krita would make it easier to pick sane defaults.

Maybe we could have default presets that you could load? I bet that would already enough for most people. For example a “3pp 50mm” puts three vanishing points on the canvas for you, set up in a way it would look through a 50mm lens. you can then adjust freely.

We could have the most common perspective set ups ready for different field of views.

1 Like

But where exactly, that’s the problem. For example, where do you put the horizon line? Centered? What if you draw comics? Then the whole preset should be applied relative to a sub-rectangle. Once the rectangle where the drawing goes and the position of the horizon line are stablished, how should the point’s position be decided? I mean, just choosing a predefined angle for the cone of vision or choosing a lens is not enough, it also depends on the rotation of the object.

What if it’s a blue moon and all planets allign? It doesn’t really matter. I would expect the vanishing points to created relativ to the canvas. I never expected nor mentioned it should cover all use cases. But there are a few you encounter again and again.

Positioning could be easily solved too if one would be able to scale and move a set of vanishing points. A feature that I currently miss. Especially selecting and moving multiple assistants.

For years I’ve seen many artists using blender to place cubes and taking screenshots of that to determine perspective lines in their scene that they’re drawing. There are other ways to do it for sure, such as using perspective assistant directly in the painting program(this feature now has been implemented quite broadly among painting programs). But they didn’t use that. Maybe it’s because the assistant tool is not good enough for them, or maybe it’s because it’s more easy to set up ‘not-distorted’ perspective lines using the cubes in hypothetical 3d space.

Regarding how that idea of 3d accuracy should be designed/applied in Krita, I still have no idea. And as a matter of fact I’m not demanding to implement anything specific, these are just observations.

But well, of course it would not be about restricting/limiting VP or telling users something’s wrong or whatnot on that level. I have no idea where you got that idea from. It’s about giving users more of an easy way and convenience in the case they want perspective which is based on what we normally experience in reality. It seemd to me that you wanted to eliminate that possibility and that got me worried.

And just in case you don’t believe in common reality at all(which I also understand that there is such a viewpoint), I wouldn’t stop you if you go to any people making tutorials or references portraying e.g ‘How to draw anatomy’ ‘How light works in paintings’ and tell them “There’s no accurate answer” or even “It’s rude to imply people that there is an ideal answer to that particular subject”. Although I wonder what you think from that view of all the artists in the world studying stuffs to better themselves.

If you implement that I can assure you will have a lot of users requesting things/complaining/saying things should have done differently, just like this thread, and for that reason one should contemplate all use cases. Another reason is because if something is implemented badly then, just because retro-compatibility, it may be difficult to change.

Visualizing something in your mind is way simpler than materializing a design, and that is simpler than designing + implementing.
The best way of getting something implemented if one is not a developer is to make a very detailed design and feature request. Otherwise developers are always going to find some flaws.

If you want to cover all possible set ups you basically have to implement something like Blender’s viewport into Krita.

Although I wouldn’t complain to have it I don’t think that it’s a priority or even needed. Just like Krita doesn’t have every possible paper format as canvas presets it’s reasonable to only have the most common perspective set-ups as defaults in Krita. You still have to know your stuff to work with the tools provided, there is no way around it.