trevorsandy / lpub3d

An LDraw™ editor for LEGO® style digital building instructions.
https://trevorsandy.github.io/lpub3d/
133 stars 19 forks source link

Assembled callout has wrong rotation #145

Closed Landcross closed 5 years ago

Landcross commented 5 years ago

The issue reported in #135 is still there in LPub3D 2.3.3. I don't know how to re-open the issue (if that's even the 'better' thing to do than making a new one). Everything I reported in that issue still applies, except for LPub3D version as I'm now using official release 2.3.3.

Is there any other information I can supply, aside from images showing the problem?

Thanks!

trevorsandy commented 5 years ago

For me, v2.3.3 is exhibiting the expected behaviour. Here is a short video demo comparing v2.3.3 and v2.3.2 respectively.

If you are performing the same steps as I am in the demo but experiencing a different behaviour or performing different steps that reproduce the uncorrected behaviour let me know ?

It also goes without saying that you should clear your <model dir>/LPub3D/assem cache to generate fresh images if your are editing a model with v2.3.3 that was previously opened with v2.3.2.

Cheers,

Landcross commented 5 years ago

I'm still experiencing the same behavior as LPub3D 2.3.2 in your video. And it's certainly not the image cache as it's a model I haven't worked on before with previous versions of LPub3D.

As far as I can tell I'm not doing anything differently than you, though I don't know if I'm using any different settings than you. However, while writing that I remembered the new setting you have added in 2.3.2. I have 'Apply Camera Angles' set to 'Renderer'. If I set it to 'Locally' the callout will render correctly.

So, the problem seems to be the 'Apply Camera Angles' being set to 'Renderer'.


As a sidenote: upon testing a bit regarding this issue I also deleted the image cache. The initial load took ages. I noticed LPub3D was spending a lot of time on generating images in the LPub3D/parts folder of all submodels. Why does it do that for all submodels and not for all parts instead? I don't think it did anything like that in the past anyway, could that be correct?

trevorsandy commented 5 years ago

Ok - As you saw in video demo, my apply CA flag was set to 'Locally'.

As discussed at length in #102 , if you want to use the part transform behaviour from before 2.3.1, you must set your camera angle rotation to be applied Locally - this is also the default setting.

If you choose, 'Renderer', then you'll have to either rotate the part manually (by editing the rotation vector) or set a ROTSTEP meta for it because, as designed, LPub3D will strip the set camera angles for 'Assembled/Rotated' callouts so the renderer will apply 0,0 lat/long which is what you are seeing.

As a sidenote: upon testing a bit regarding this issue I also deleted the image cache. The initial load took ages. I noticed LPub3D was spending a lot of time on generating images in the LPub3D/parts folder of all submodels. Why does it do that for all submodels and not for all parts instead? I don't think it did anything like that in the past anyway, could that be correct?

Generating submodel images was introduced in #113 and should only fire if you check 'Show Timeline Piece Icons' in the 3DViewer Preferences. This functionality is also the plumbing for #52 (which I'm actually working on at the moment). The 'displayed submodel' will have characteristics more like a PLI part than a CSI assembly so this is why you are seeing the images under the part folder.

Cheers,