Grease Pencil Draw ON Surface IN Sphere over camera

using Blender 2.8.3 beta, previously was using 2.8 newest. 2.8 performance was lackluster for Grease Pencil.

Purpose:
Drawing Spherical illustrations using guides of UV Spheres wire frames to be baked out as an equirectangular image.

Issue:
Looking for a good way to set up the purpose with little to no bugbears of irritation from the behaviour of the 3d App.

Technical:
In this image I have 3 UV Spheres aligned to show their poles to produce a spherical grid. I dont know the technical term for these off hand. I have used them in VR before but not in 2d/3d software.
Each sphere has a wires modifier on it for design of grid. This image shows high contrast for explainer purposes.

The “Stroke Placement” is set to surface.

In practice I can omit the modifiers and stick to one sphere and get the same technical issues.

Issues:

  • Without a baked image for the grid you can only begin a drawing on the wiremesh, it wont register a surface otherwise. Makes sense somewhat.
  • As seen in the side by side image the large blue pencil stroke uses the cameras 3D object as a surface and lands the line on its origin and or the little triangle indicator. This happens if I cross over the line in camera view or out of as well.
  • I dont see a menu item within Blender to move my 3d View camera sans 3d Object camera to the center of an object or at least back to position 0,0,0
  • I can change the Active Camera to an object but that makes “Fly Mode” the object itself which breaks the grid
  • Surface Offset does not allow negative, so the mesh is overlapping the Grease Pencil lines
  • Depending on how close to the center of the 3d view is to 0,0,0 when navigating around, grease pencil wont register painting at all, or gets really slow and wont show the line until you release
  • Drawing a line will show a wider line before I release the mouse, then it pops to the intended line width
  • Is there no quick return to Draw mode when exiting vertice edit mode from tab key?!

I have tried this with two different computer with and without a wacom tablet.
I know I am using it Waaaaaay far from its intended purpose

I find the Camera being treated as a 3d mesh surface to be a bug so I submitted that into their bug tracker

(running Blender 3.1)
I’ve been having similar issues with lines either not drawing or coming in huge, until i release the pen stroke. I’m shooting for a similar workflow trying to adapt Grease pencil to my panorama painting with the equirectangjular format, one specific application being towards direct 3d asset embeds for resolution vs raster, somebody pointed me towards A-Frame from mozilla as a 3.js implementation for easy web embeds and it looks sorta doable, may have to bang my head on some javascript.

I’d be more tempted to ignore it if Blender made sequential frame animation in texture painting easier. also, painting in the 3d viewport doesn’t have good anti aliasing on brush strokes?

I’ve been running tests and mapping the specific artifacting, drawing from the camera view inside. Placing the greasepencil object origin at the world origin along with the camera yields no live strokes. placing GP object origin on the sphere yields a doughnut ring of inflated live strokes, no live strokes on the far side, and normal or too small live strokes in near side. moving the origin further out has a small effect. It also has some relation to the camera? I’m still plumbing the situation. Also the geometry sirface offset for strokes seems to vary depending on distance from camera or the viewport free view?

So I would like to know if you’ve made progress, I’ll update when I have a more clear answer on my own investigations.

The following exerpt from my concise-notes-to-self / self-tutorial doesn’t address all of the items listed but so far I think it’s sufficient for my own planned workflow.

Turn off Camera object visibility in the Outliner or strokes will treat the camera object as geometry for stroke placement

A Description of Live Stroke Render Glitching, and Workaround

While completed strokes render onscreen okay, live rendering of strokes before the pen is released experiences artifacting based on the camera’s orientation to the grease pencil object origin, and based on the camera’s proximity to the grease pencil object origin. These are true of both the view from the viewport free camera and from an actual camera object.

A concurrent global location means no live rendering. A camera too far away means thinner live strokes. A camera too close means thicker live strokes. Relative to the proximity stroke tendency, strokes at 0 degrees from the origin live render the thinnest, strokes at 90 degrees away from the origin render the thickest, and strokes past 90 degrees (which is to say those looking away from the grease pencil object origin) do not live render.

When painting a panoramic grease pencil object such as one painted inside a sphere using surface stroke placement, whose strokes vary relative to the grease pencil origin, this writer suggests a workflow workaround while drawing to update the grease pencil object origin while panning or orbiting around:

While drawing and panning using the viewport widget or Shift + ` (AccentGrave) fly mode while in camera view and needing to update the origin to keep up with your place in the panorama: Switch to object mode. Transform the object origin with Affect Only Origins checked in the transform tool options, this toggle hotkey while mouse cursor is in viewport is Ctrl + Period. Grab the highlighted object origin, and move it, preferably with Snap during transform enabled and set to face ( top of viewport header bar) to gracefully move it along the sphere for consistent behavior. Switch to draw mode and and resume.

Hotkey Shorthand:
while drawing and panning using widget or Shift + `
Ctrl + Tab to choose object mode (doublecheck snap to face is on)
Ctrl + Period
G then LeftClickDrag to move the origin, panning or using Shift + ~ as you go
Ctrl + Period to toggle origin only back off
Ctrl + Tab to choose draw mode