Adjustable line thickness

Hello again,
Any way one can adjust the line thickness in VR to one’s own taste, please? This is of course very subjective. The current look is great and suits certain occasions but it feels a bit bold and heavy for most of the time. Thinner lines would make for a lighter and an a tad more natural experience. The fluctuations of the lines would show up less too I think (particularly on my (quest 1)
Many thanks for considering this.

The edges are drawn differently on the standalone Quest than on tethered VR with a PC, for performance reasons. That’s why they are a little bit irregular in the Quest. So, on Quest, there are two internal parameters that we could tweak. We are about to release version 17.0.9, but afterwards, I can post here a custom version where you could play with the parameters. Ideally we’d like eventually to have a single parameter for the user, not two; your feedback will be useful to help us find that parameter.

Thank you. Sounds good, and I would be more than happy to give you feedback either as part of this channel or, more generally, we can have a separate private one as I can see how your product can grow in the right direction for the purposes of my workflow.

Hello, I have just seen your announcement about the latest update. Does this include the ability to adjust the line thickness with the two parameters? Thanks

No, these two options are not in the official build. I’ve made a Quest build with these options: https://vrsketch.eu/download/baroquesoftware_vrsketch_v17.0.9_quest_edgewidth.apk

Installation instructions: https://vrsketch.eu/docs-getting-started-quest.html, " Installation without using the App Lab".

This adds two sliders in the first page of the settings. If you find some values that give good results, then please try them out for a bit longer on a variety of models and points of views. The second slider, “attenuation”, was added to fix some cases that may not be apparent at first: for example, if you have a lot of horizontal edges across a surface (like a garage door that “rolls up”, with many small sections), and you look at that surface from far away, then depending on the value you get very serious “aliasing” effects (the black points of the edges and the white points of the faces compete to be visible, resulting in horrible black/white flashing).

Thank you! Will do gladly and revert in due course.
It is hard when different people use SketchUp
In so many different ways. It does sound thorough tho’. Thanks again

Hello, I installed your .apk and must say that the line thickness options are great and they make all the difference.

I do have problems with the shadows tho’, particularly in time of day mode. When I open a new model afresh into VRSketch they appear to work fine but as soon as I start moving around a bit, the option no longer works. It is a small model, only about 2mb, hardly any textures. so it surprises me a lot. The manual sun position adjustment works fine.

Thanks!

Hello! Can you share the value of the two parameters that work for you?

About shadows, what is the problem? Can you maybe post a screenshot?

I like 0.6/2.3 but depending on circumstances, light or whether indoors or outdoors I quite like having the option to adjust parameters. The sketchy look can be useful sometime and less so other times. Depends on how many textures one has too as where applied materials create the distinctions between object, lines may no longer be necessary. Nice to have the choice.

Bizarrely, the shadows seem to work ok now but I am confused why the time of day option has suddenly turned inactive in the past…. Will keep an eye open and let you know but in the meantime, can you think of any situations when this function is disabled leaving only the manual sun option available?


Also, I have some dynamic doors that open and shut. I noticed the following

  1. They can be operated in two ways:
  • via the navigator tool- Here, transparent objects are not responsive so unless they contain a solid object in them to scroll over, I cannot trigger the programmed behaviour. I can control them manually tho’ (for instance sliding a completely transparent door by only a certain amount, overriding the programmed in parameters)
  • via the interact tool, where dynamic objects respond both as programmed and manually irrespective of whether fully transparent or not.

In both instances, ALL the dynamic components are being highlighted at the same time:

  • In the navigator mode only when one of them is rolled over whereas
  • in the interact tool mode they are all highlighted irrespective of whether one is rolled over or not.

I like having these options however, it would be nice to have some further differentiation between these modes, for instance if in Navigator mode only the rolled over object was highlighted, and the interaction to be the same as in the other mode (irrespective of transparency)

  1. When I try to draw objects in VR, all dynamic doors revert to the default position . Can this not be the case, please?

I hope all of this makes sense. thanks!

1 Like

Thanks for the follow-up on the edges. I guess that adjusting both parameters independently is useful? In that case, maybe I can keep both parameters adjustable. Otherwise I can try harder to figure out if the 2nd parameter can be automatically obtained from the first one in order to minimize aliasing effects (we try to avoid giving too many internal options to the user).

Time of day: it’s not available if you are viewing a cloud model. The reason is that we use Sketchup to compute the sun direction based on the date/time parameters (it’s also dependent on the longitude and latitude and timezone, which are extra parameters that are only in Sketchup, not in VR Sketch at all). Maybe it should more clearly say why it disables the date/time options when you are viewing a cloud model.

Dynamic components: yes, I see the point. Our reasoning was that it is useful to highlight all the dynamic components when you use the Teleport tool (I guess what you call “Navigator mode”). Otherwise, a user visiting someone else’s Sketchup model in VR would not know that there are dynamic components and where they are. Maybe that is not really true, because Sketchup’s own interact tool doesn’t give you any hint about where the dynamic components are, as far as I know. So what you’re suggesting would be that with the Teleport tool, we never highlight all the dynamic components, but only the one that we aim to? But not change the interact tool? That seems to make sense.

Transparency: right, that is an unexpected side-effect. The reason for the difference is that we use a different algorithm in the two tools, because the teleport beam is (usually) a parabola, whereas the interact beam is a straight line. Our parabola code ignores the faces that are very transparent when you aim straight towards them. That makes sense for the teleporter. On the other hand, the straight line logic doesn’t do that, which makes sense for the other edit tools that also have a straight-line beam. Also, the proximity detection logic (to know what the controller is over) is also common to many tools, and also doesn’t check for transparency. So I can fix it by adjusting the parabola logic: it should also not check for transparency, but only when hitting dynamic components.

When you edit, all dynamic components indeed revert to their default position. That’s hard to fix. We would need to really move the dynamic components in Sketchup, as a Sketchup edit operation. So far we don’t do that: we only temporarily alter the VR display, without any Sketchup interaction. The Sketchup model is not updated. (It’s needed anyway for viewing cloud models, again, where you don’t have Sketchup at all.) I can think about sending position/rotation updates to Sketchup if it is there, but I’m a bit afraid about many hard-to-control side-effects. In addition to rotating the door some arbitrary number of degrees in Sketchup, we’d need to correctly adjust parameters so that the next time we click on the door it doesn’t rotate 90° from its current (middle) position. This certainly sounds possible, but I’m afraid there are many corner cases to get wrong; just reading the Sketchup animations correctly has taken many iterations of user reports and fixes so far. If we get corner cases wrong for changing animations, then the user will make a mess of his model just by moving some dynamic components… This doesn’t sound like a great idea. That’s why we think the current way is safer. We might revisit that later, if we make an editor that is completely independent of Sketchup.

1 Like

Thanks for the super-detailed response!
2 parameters is fun and intuitive to use. I am even wondering whether you may consider adding even more, to reproduce some sketch styles? Extended edges, wobbly lines. Clearly not on the priority list :slight_smile:

I haven’t tried the cloud model yet (will be my next adventure) so the disabling of the day/time shadows option occurred in direct connection mode only.
But from what I gather, connectivity issues may have been the problem then when my day/time got disabled- will keep an eye.

Must say tho’ that the shadows are one of the top aspects of your app that I like, which your competitors (such as the Wild, Iris) only offer in tethered mode. Please, please, add it to the Cloud soon too, one way or another- it is extremely valuable. Can you design your own geo coordinates system, perhaps? Or borrow someone else’s :slight_smile: ?

Yes, transparency parabola thing plus highlight interactive components with Teleporter tool (only one at a time) and leave interactive as is would be great, thanks!

The resetting of interactive components is not necessarily a tragedy when creating new objects. Just that I was thinking of using interactive components to toggle between furniture layouts at some point… very handy, particularly in VR, as you can imagine.

By the way, is there a way of grouping objects created in VR together to create for instance another furniture item?

What a nice app you have!

Edge styles: OK, I’ll add it. It may have to wait until the next major release, because the PC versions up to now use another algorithm than the Quest to draw the edges (the next major release will use the Quest algorithm everywhere). I’ll also look if some styles could be added with more simple tweaks. Extending the edges beyond the face is an example that is not simple to add. The point of the Quest algorithm is that it’s really just drawing the face as triangles, as usual, without drawing any additional edge. It’s just that some pixels of that face are made darker if they happen to be very close to the right border(s) of the triangle. This costs basically nothing in terms of performance. For an example I can think of that would be cheap to add, we could make the edges dashed following a slightly irregular pattern, simply by drawing the edge or not based on the (x,y,z) coordinate of the pixel. (Programming for GPUs is weird: it’s extremely cheap to take the (x,y,z) coordinates of each pixel and compute e.g. whether it’s in an odd or even cube in a 3D cubic pattern; it’s much more expensive to base it off the distance to the vertex or something.)

Date/time shadows: ah right, if you loose the connection to Sketchup, then indeed it will also show as “n/a” and not let you change the sun direction any more that way. Yes, we could figure out what Sketchup’s algorithm is and recreate it inside VR Sketch. I guess it’s some standard sun position computed from the date/time and the geographical position. We’d need to test carefully that we have the same algorithm as Sketchup. I’d say this is low priority for us again… You can pick directly the sun direction, which was thought to be generally enough. Is it not? (Reproducing Sketchup is, as usual, a mess that starts with asking what Sketchup really does and if that makes sense; see e.g. https://forums.sketchup.com/t/geolocation-sun-position-appears-to-be-incorrect/161682)

Toggling furniture layouts: I would not use dynamic components for that. I think the official solution is to use tags (called “layers” in older versions of Sketchup). You put the furniture in one or several groups or components, and you give a “tag” to the groups/components (see below), named something like “furniture 1”, “furniture 2”, or something more explicit. Then you can toggle the visibility of the tags in a single click in the settings, “Tags” page (or in Sketchup, there is a “Tags” somewhere below “Entity Info”). The same “Tags” page is where you create new tags and assign them to groups.

A way of grouping objects: I’m not sure about what you ask, but you may mean how to make groups and components in VR? You select the objects with the Select tool, and then it’s in the context menu (click the B button).

Thanks for prompting these discussions, I already added some of the suggestions you made :slight_smile:

Thank you again for your time and explanations, prompting me not to have unrealistic expectations.

Sketching effects are fun but of course not essential.

Shadows would be great at some point but as you say, one can in the meantime use the manual setting, it’s still something.

I am trying to avoid too many layers as one can easily make navigation by other very difficult when I am not with them. Also, furniture items, depending where they are from, can be very ‘data heavy’ so trying to keeping their numbers to a minimum. A chair can be as ‘heavy’ as my whole building model :slight_smile:

I figured out how to make groups etc - thanks.

I will get back to you with more thoughts as I am getting more proficient with vrsketch. Very much enjoying it. Thanks again!

One last question for now tho’: any way of making the transitions between the changes of viewing angles using the joystick (look left/right) smoother?currently there is a blank frame between these transitions which makes navigation very disruptive and unnatural. If instead of changing the viewing angle by set amounts one could use the same effect as when moving backwards and forwards. I feel one would have a much more consistent and pleasant navigation. I suppose that left/right and forward/backward may also be combined for an even finer and more natural experience.

Yes, motion sickness may be a bit of an issue but it wouldn’t be much different from back’s forth and there is an option to toggle that off anyway. Thank you!

No, smoothly turning left/right is far more unpleasant for motion sickness than just translations. I will fight against implementing that feature even as an option because it is really sickening. I have no hard data on it but I would guess that people who are fine with that are a much smaller proportion than people who are fine with non-rotating movements. (Also, if you are standing, then it makes no sense because you can always just turn, but you cannot physically walk forward for more than 1-2 meters.)

1 Like

Smooth turn is a standard option in many VR apps I personally have no problems with it & actually tend to pump it up to near the max allowed speed. IDK maybe it’s just because I play alot of thumbstick videogames but it just feels natural to me. Although it’s not super important for this app since grabbing & manipulating the model is a much more natural way to interact.
Anyway I think that in general you should veer towards exposing more options rather than less. This isn’t Gorilla Tag. Your users are grown adults and in general VR & CAD are both domains where power users are an over-represented clade.

Thanks. Can it be made less ‘brutal’ then? Smoother fade out than in?

@Christopher_Overbeck: oops. The option for smooth turning was actually implemented long ago. You can go to settings -> options and choose the turning angle, and there is a choice “continuous” (in red, to make people aware that there is danger!).

@sabv: ah, is the problem the fade-out and fade-in times? Right now we use the same parameters as when we teleport. They are 0.12 seconds fade-out, 0.01 seconds purely black, 0.20 seconds fade-in. Does it feel too short for turning, but is fine for teleporting?

The difference between teleporting and turning is that one is anticipated behaviour (you expect to be taken in a remote location that you chose and there is a graphical way of showing it) whereas the other one isn’t (the film just goes blank of a sudden) so that’s why, to me, at least,
it feels ‘brutal’

I tried the continuous turns setting and I found that as long as I didn’t try to advance at the same time as turning, or I didn’t try to turn too slowly (by only nudging the joystick to the left or right the transitions felt very comfortable and fairly natural.

So I am wondering whether then instead of the blackouts between the various angles one could have a normal smooth transition without the option to slow down and/or move forward at the same time.

Perhaps also introduce another option for 1 or 2 degrees (or just have a slider instead for people to decide what is good for them).

I don’t know about others but I feel that something like this would tick a lot of boxes for me and do away with the nausea.

Then if the blackouts could be replaced with something similar in teleportation mode, that would be good too :slight_smile: Thank you!

Thanks for the suggestions! I can’t make deep changes to the way teleporting works by default, because we remain convinced that it minimizes the motion sickness effect for all people; just because something is fine for you doesn’t mean it’s fine for everybody, and we care a lot that the 20% more sensitive people can still use VR Sketch for 30 minutes without getting sick.

However, I think I see your point about turning feeling brutal. Maybe snap turning should just occur instantly, with no fade-to-black. I’ll try that first.

Or, thinking about the difference: when teleporting you press down the button and see a graphical representation of your future jump until you release the button and the jump actually occurs. In turning you just push the joystick to the left or right, and when you have pushed it enough then the fade-out occurs. It might be better if when you push the joystick to the left, you see a graphical representation of your future turn in a similar style, maybe as a big angle and an arrow for the direction of the turn. The angle would maybe increase if you hold down the joystick, too. But the “jump” only occurs when you release the joystick.

I’ve seen it done in other software as a combination with teleporting: while you are aiming the teleport beam, you can use the joystick to rotate the target, too. I’m not convinced that this is a good idea; in my opinion you should never do a jump that moves and rotates at the same time, because it’s too easy to get lost.

About the continuous turns setting: It’s quite possible that the effect is worse if you see a slow or variable speed. I also didn’t think about the combination with forward/backward movements. Maybe we need a mode where you see continuous turning but at a constant speed, on/off, and never together with forward movement.