00:00:00
in this quick guide tutorial I'll show
00:00:02
the full process of going from a 3dgs
00:00:05
scan to a finished render and blender
00:00:08
using the 3dgs render add-on by Ki
00:00:11
engine to find out how to use more
00:00:14
features of the add-on such as painting
00:00:16
or exporting check out the editing and
00:00:19
mesh to 3dgs Quick guides as well as the
00:00:22
full documentation
00:00:24
videos okay to get started we need a 3D
00:00:28
GS scan I'm using this amazing scan of a
00:00:31
wooden sculpture that was scanned by a k
00:00:34
engine user and was shared on the K
00:00:37
engine app homepage where you can find a
00:00:40
bunch of free
00:00:41
scans in the exported folder for the
00:00:44
scan I can find the scan as a py file
00:00:48
now in blender I have the add-on opened
00:00:50
and I'll go to
00:00:52
3dgs import import py as Splats I'm not
00:00:57
doing any crazy Shader animation so I'll
00:01:00
leave UV reset unchecked hit okay and
00:01:04
now I want to find my py file there it
00:01:07
is press import and wait okay now the
00:01:11
scan is imported and it's quite hard to
00:01:14
tell what's going on here so I'm going
00:01:16
to look in wireframe mode with shift
00:01:19
Z and I can see that this is incredibly
00:01:23
dense if I actually go to edit
00:01:27
preferences interface status bar and
00:01:32
scene statistics I can now see the
00:01:35
number of faces in the scene and I can
00:01:37
see that this model is made of
00:01:39
400,000 faces which is a lot so the best
00:01:43
thing to do it first is for this active
00:01:47
object I'm going to show it as a point
00:01:50
cloud and pressing Z I can go a material
00:01:56
preview okay with this model Now set as
00:01:59
a point cloud it's much easier to move
00:02:01
rotate adjust just to get into base
00:02:05
position so I can see that right now
00:02:08
it's actually flipped for the blender
00:02:11
axis so I'm going to
00:02:14
rotate on the
00:02:16
xaxis I'm going to look forward and I
00:02:19
can see that it's backwards so I'm going
00:02:21
to rotate on the
00:02:24
z-axis and it's a little bit offset from
00:02:27
the world origin so I'm going to move it
00:02:31
so that its base of the sculpture is at
00:02:34
the world origin and that is much nicer
00:02:37
to work with I'm going to add a
00:02:40
camera look through my camera move the
00:02:43
camera back along its own view with G
00:02:48
ZZ and pull
00:02:51
backwards and get a kind of nice framing
00:02:54
just so I can see what's going
00:02:57
on and now we have all these points
00:03:00
outside the camera that we don't
00:03:03
need and if I select the object and
00:03:07
enable camera updates we are going to be
00:03:10
updating all these faces that I don't
00:03:13
care about which is going to slow things
00:03:15
down
00:03:16
massively
00:03:18
so I'm actually going to go to show as a
00:03:20
point Cloud again go to the
00:03:23
modifiers and add a camera call modifier
00:03:27
with the plus
00:03:28
icon and now we're only seeing points
00:03:31
that matter to us now if I find this
00:03:34
padlock icon in the 3D
00:03:37
viewport and I press it when I look
00:03:40
around I'll actually be looking through
00:03:43
my
00:03:44
camera and my camera will move as I look
00:03:47
around the
00:03:48
scene and because we have the camera
00:03:51
calling modifier enabled we'll be
00:03:54
getting rid of any points outside the
00:03:56
camera view so to create a quick
00:03:59
animation I'm going to set up my camera
00:04:02
animation while using the camera call
00:04:04
modifier and while looking at my model
00:04:07
as points so I'll find an okay starting
00:04:10
position and as I scroll backwards and
00:04:14
move my camera backwards I can see that
00:04:16
we've got some points floating in front
00:04:20
of the camera if I actually see what
00:04:22
this looks like as faces it looks kind
00:04:26
of blurry kind of hazy and these are
00:04:29
sometimes called floaters in the 3dgs
00:04:32
community if I go back to showing as a
00:04:35
point cloud and I turn the lock icon off
00:04:40
so I can exit the camera
00:04:42
view I can see that there's a few points
00:04:45
sitting right in front of the
00:04:48
camera and there are even some points
00:04:51
surrounding our statue here but I'm not
00:04:54
going to worry about them for now these
00:04:57
points right in front of the camera I
00:04:59
get rid of with the camera call modifier
00:05:02
if I go to closer than and change the
00:05:05
closer than threshold this will remove
00:05:08
points closer than this distance from
00:05:11
the
00:05:12
camera as I bring the distance up we can
00:05:16
see those points disappear let's see
00:05:18
what that looks like as faces
00:05:22
again and if we didn't remove faces
00:05:24
closer then we can see it's much more
00:05:27
hazy we can also see some haze around
00:05:30
the object
00:05:31
itself however we're currently if I
00:05:35
check HQ lq mode we're currently using
00:05:39
lq mode diver Alpha this is the mode I
00:05:43
like to use while I'm working in the
00:05:45
viewport but for final renders I'll
00:05:48
switch to HQ mode and I can see that
00:05:51
makes things much cleaner as they would
00:05:54
be expected in a regular 3dgs viewer or
00:05:58
editor while working I'm going to flip
00:06:00
back to lq mode and while animating my
00:06:04
camera I'm going to continue to show as
00:06:07
a point Cloud I can see my timeline at
00:06:11
the bottom of the screen here and I'm
00:06:13
going to select my
00:06:15
camera I can see in the camera's
00:06:18
transforms that I can add a key frame
00:06:21
for the camera's
00:06:23
location and rotation by hovering over a
00:06:27
value and pressing I and I can see that
00:06:30
that key frame is on the timeline here
00:06:33
if I move to the end of the timeline I
00:06:36
can use shift and right
00:06:38
arrow I can now move the camera I could
00:06:41
manually place the camera or again I can
00:06:44
use the lock icon to move the camera as
00:06:48
I navigate the
00:06:50
viewport I'll move to find another angle
00:06:53
that I
00:06:58
like and when I think I'm happy I'll
00:07:01
select the camera again and I can again
00:07:04
key frame the location and rotation of
00:07:06
the camera if I scroll through the
00:07:09
timeline I can check out the camera move
00:07:13
and I can see that blender is
00:07:14
automatically
00:07:16
interpolating between this first
00:07:18
position and last position and in the
00:07:21
middle it gets kind of lost you can
00:07:23
spend more time setting up a good camera
00:07:25
animation but I'm going to do a quick
00:07:28
hack which is to jump
00:07:30
to the middle between our two key frames
00:07:33
and then reposition and reframe the
00:07:38
camera and again hovering my mouse over
00:07:42
the location values pressing I hovering
00:07:45
my mouse over the rotation values
00:07:47
pressing I we have some new key frames
00:07:49
here let's again scroll through the
00:07:54
timeline and we can see that the
00:07:57
sculpture stays in frame for the dur
00:07:59
ation of the camera
00:08:02
animation I'm happy with my camera move
00:08:04
but you should spend some more time on
00:08:06
it I'm going to keep my camera locked to
00:08:09
The View with the padlock now if I look
00:08:12
around the
00:08:14
scene I can still look around nicely but
00:08:17
because the camera animation is key
00:08:19
framed if at any point I change frame or
00:08:24
press
00:08:25
play the camera will jump back into its
00:08:28
key frame
00:08:29
position if I look from the top and then
00:08:33
I press play we jump back into the
00:08:35
animation I'll keep the camera locked to
00:08:38
the current view just to make it easier
00:08:41
to look around our scene and to call the
00:08:44
points outside of the camera
00:08:48
bounds now I want to see how this looks
00:08:51
with faces as a regular 3dgs scene back
00:08:56
in the add-on I'm going to go to the the
00:08:59
active object with the object selected
00:09:02
and change from show as a point Cloud to
00:09:06
enable camera
00:09:09
updates now everything has turned into
00:09:12
faces but it's not looking good that's
00:09:15
because we need all of these faces to be
00:09:18
rotated and
00:09:20
scaled relative to the camera's current
00:09:23
view so we could do this by using the
00:09:26
scene controls or by man ually clicking
00:09:30
update all the view but a much better
00:09:33
way is to use active camera we need to
00:09:37
have an active camera in the scene to do
00:09:39
this we do have an active camera we're
00:09:42
looking for it right now so I'm going to
00:09:44
click use active
00:09:47
camera now whenever the camera moves the
00:09:51
faces of the model will move to follow
00:09:54
the camera
00:09:57
movement and I can jump through parts of
00:10:00
my timeline to check that everything's
00:10:02
looking
00:10:04
okay and remember that we are currently
00:10:07
using the lq lower quality divert Alpha
00:10:12
for this material let's check out the HQ
00:10:15
mode and if you notice there's a warning
00:10:18
about using samples with lq and HQ mode
00:10:22
HQ mode you can often use one
00:10:26
sample our viewport samples right now
00:10:28
are at 16 and render is at 64 which is
00:10:32
the default for a blender let's try
00:10:34
changing both of these to
00:10:37
one and there's no degradation in
00:10:40
quality because we're not using Shadows
00:10:42
or reacting to light this is a shadeless
00:10:46
material right now as you can see in the
00:10:48
color tab so if you port and render
00:10:51
samples at one let's try skipping
00:10:54
through the timeline
00:10:59
everything is looking good I want to
00:11:01
render a single frame to get a preview
00:11:05
of whether or not it's time to render my
00:11:07
full animation I can do that from the
00:11:09
standard blender render panel or using
00:11:13
F12 or I can render
00:11:16
offline from the render menu in the
00:11:20
add-on I can see that my current view
00:11:23
transform isn't set to standard which is
00:11:26
expected by 3dgs scans let's try
00:11:29
standard and I can see that the colors
00:11:31
are more representative of the raw scan
00:11:33
itself for a little bit of style I might
00:11:36
adjust the look to be a bit more
00:11:38
contrasty and I can see that my render
00:11:40
samples are one I'm going to try
00:11:43
rendering a PNG because we need an image
00:11:47
format for the offline render and I'm
00:11:49
going to check my output
00:11:51
settings currently I'm rendering to my
00:11:54
temp directory which is fine for this
00:11:56
test and I'm going to alt shift click
00:11:59
this folder to open the folder here's
00:12:01
some previous renders and I'm going to
00:12:04
press render image a warning will pop up
00:12:07
telling me that all objects will be now
00:12:10
using the active camera which this is
00:12:13
already set to if I want to cancel
00:12:15
rendering at any time I need to force
00:12:17
close blender since rendering is done
00:12:19
offline and I hit okay and looking in
00:12:23
the folder directory I can see that that
00:12:26
was very fast and let's check this
00:12:30
image and it looks great okay now let's
00:12:33
see what would happen if I wanted to
00:12:35
render an animation my timeline is
00:12:37
currently set to 250 frames and that's
00:12:41
not good for previewing so I'm just
00:12:43
going to change this quickly to five
00:12:46
frames and press render
00:12:49
animation and hit okay and then keep an
00:12:53
eye on my output folder and I can see
00:12:55
that very quickly the folder is
00:12:57
populating with my new frames and since
00:13:00
I'm using my temp folder my old renders
00:13:04
actually were overwritten now let's
00:13:06
check each of these pictures to make
00:13:09
sure that everything's rendering
00:13:12
nicely they all look
00:13:14
good right now I can see that the camera
00:13:17
bounds are actually extended outside my
00:13:20
viewport too much and if my camera is
00:13:24
locked with the padlock and I try to
00:13:26
shrink my camera bounds I'm just moving
00:13:29
the camera if you want to reframe your
00:13:33
camera bounds unlock the
00:13:36
camera scroll back so you're changing
00:13:39
the actual viewport position not the
00:13:42
camera and then relog the camera so you
00:13:45
are now navigating through the camera
00:13:49
view since I'm happy with my preview
00:13:52
renders I've changed my timeline back to
00:13:55
250 frames I'm going to keep my temp
00:13:59
directory but you might want to choose
00:14:00
somewhere safer I'm going to press
00:14:03
render
00:14:04
animation press okay and the blender
00:14:07
viewport will freeze and I will see the
00:14:11
folder being populated by my renders as
00:14:14
soon as this is done the blender
00:14:16
viewport will become responsive again
00:14:18
and you can use your renders As You Wish
00:14:21
now that the render is done I can bring
00:14:23
it into blender's Video Editor to check
00:14:26
it out in motion if I click a plus icon
00:14:29
at the top of blender find video editing
00:14:33
and video
00:14:35
editing I can now drag and drop my image
00:14:39
sequence onto this timeline
00:14:44
here the render looks quite nice but I
00:14:47
can see that there's some popping on the
00:14:50
borders where Splats are disappearing or
00:14:54
entering the frame if you keep an eye on
00:14:58
the side bard here we can see it clearly
00:15:01
right
00:15:05
here this is due to the effects of the
00:15:08
camera call modifier removing Splats as
00:15:11
soon as they exit the frame you can try
00:15:13
and fix this by selecting your object
00:15:17
going to the modifiers tab going to the
00:15:20
camera call modifier and playing with
00:15:21
the padding value this is currently set
00:15:24
to zero and if I watch the bounds of my
00:15:27
frame let's set this to 0.1 I can see
00:15:31
that we've got some more room here and
00:15:33
that popping that we noticed those
00:15:36
suddenly disappearing oring Splats
00:15:39
should be happening outside the camera
00:15:41
bounds let's watch this area right here
00:15:44
where we saw it before and we can see
00:15:47
that inside the camera view looks much
00:15:49
better and outside we see that appearing
00:15:52
or disappearing for each scene you can
00:15:54
play with different values sometimes a
00:15:57
value of zero is okay sometimes you need
00:15:59
to go higher just to be safe I'm going
00:16:02
to up this to0 2 and just a word of
00:16:06
warning before rendering make sure to
00:16:09
clear your video editor or when you
00:16:12
render you may actually be rendering the
00:16:14
output from the video editor not your 3D
00:16:17
viewport so I'm going to
00:16:19
delete this and reender my animation
00:16:24
okay my new render is done so I'm going
00:16:27
to drag this New Image
00:16:30
sequence under the video
00:16:33
editor and I'm going to hide my object
00:16:36
in the viewport to make the video editor
00:16:39
speed up a
00:16:40
bit and play things
00:16:43
back and I can see that the borders are
00:16:46
looking much
00:16:47
better that is the basic quick version
00:16:49
of this tutorial if you want to get even
00:16:52
better results and you want to clean up
00:16:54
some of the fogginess and smokiness you
00:16:57
can see around our main focus you can
00:17:00
see some right here you can actually try
00:17:02
and edit some of these
00:17:05
floaters and to make viewport
00:17:07
performance even better I can just
00:17:10
delete points that I never want to use
00:17:13
without relying on the camera call
00:17:15
modifier I can do that by quickly going
00:17:18
to modifiers disabling camera call and
00:17:22
now I can see all the points again now
00:17:26
if I have my object selected and I go to
00:17:28
edit
00:17:30
mode I may have to wait since this is
00:17:33
such a big scan I'm going to go to
00:17:35
wireframe mode with shift
00:17:39
Z and I'm going to
00:17:42
select everything within my camera
00:17:45
bounds I'm in vertices mode so any
00:17:48
verticy within the camera bounds I'll be
00:17:50
selecting and I'll actually select a
00:17:53
little bit outside the camera
00:17:55
bounds then I'm going to move my
00:17:57
timeline to another
00:18:00
position hold shift so I keep my current
00:18:04
selection and select the camera bounds
00:18:08
again and now I'm going to scroll
00:18:10
through the viewport through the
00:18:12
timeline animation and find any moments
00:18:16
that I don't have what is in the camera
00:18:19
view
00:18:21
selected I can see now here I'm starting
00:18:24
to see some things that are not selected
00:18:27
so I'm going to select the these within
00:18:29
the camera bounds move a little bit more
00:18:33
again select the camera
00:18:35
bounds and now one quick check scrub
00:18:38
through my timeline to make sure that
00:18:41
everything we're seeing within the
00:18:42
camera is
00:18:45
selected and now if I check we can see
00:18:48
that anything that is unselected is
00:18:51
never used by my animation and that is a
00:18:54
huge amount of points I currently have
00:18:58
single vertices selected and in some
00:19:01
cases I may have selected only one
00:19:03
verticy of a face and I want to make
00:19:06
sure I'm making full face selections so
00:19:09
I can do that by pressing control and
00:19:12
plus on my numpad so that we are
00:19:15
selecting full
00:19:17
faces if I press controll I I have
00:19:21
inverted my selection and I can press X
00:19:24
to delete these faces let's have a look
00:19:27
at our animation again see if anything
00:19:29
is being removed that we don't
00:19:32
want I'm going to exit edit mode go into
00:19:35
object
00:19:39
mode and I can already see that
00:19:42
scrubbing through the timeline is much
00:19:44
faster and I can't see any glaring
00:19:46
errors where I've removed too many faces
00:19:49
now we can also spend a little bit of
00:19:52
time trying to remove some of the
00:19:54
floaters around our main subject if I go
00:19:57
back to edit mode I'll go to top
00:20:00
view I'll go to wireframe with shift Z
00:20:03
and press C to go into Circle select and
00:20:07
use my scroll wheel to change the size
00:20:09
of my selection and I'm going to select
00:20:13
most of the points within the center of
00:20:16
the object then I'll press croll I to
00:20:20
invert that selection press h to hide
00:20:23
all the background
00:20:26
points and I can see now in r Ed mode I
00:20:30
can turn off overlays with this button
00:20:33
or with shift alt Z and I can see that
00:20:37
all of these faces here are floaters
00:20:40
which are very common on interior scans
00:20:44
I'll turn my overlays back on and I can
00:20:49
start to select these points either in
00:20:52
wireframe
00:20:54
mode or if I'm looking in rendered View
00:20:58
and I don't need to select the full face
00:21:00
I just want at least a verticy of each
00:21:02
face
00:21:04
selected and I can clearly tell by the
00:21:07
dense outline of my main subject which
00:21:11
of these points are floaters a very fast
00:21:13
way to do this is to press c key again
00:21:16
change the size of my select with the
00:21:18
scroll wheel and just paint my
00:21:23
selection at any point I can make sure
00:21:26
that these vertices selections turn in
00:21:28
the full faces like this face here by
00:21:31
pressing
00:21:32
control+ I have full faces selected
00:21:36
pressing X to delete those
00:21:38
faces that's already much cleaner I'll
00:21:41
keep going a little bit making sure that
00:21:44
this outline looks very neat and
00:21:49
tidy as you can see now the center of
00:21:52
the scan and the points surrounding the
00:21:54
main focus are much cleaner and I can
00:21:57
see that from almost all
00:22:00
angles but we disabled the camera call
00:22:04
modifier and removed a lot of points
00:22:06
manually which is great for
00:22:08
performance but now we still have points
00:22:11
outside our camera bounds that sometimes
00:22:14
are useful for the
00:22:15
animation sometimes are not seen so I'm
00:22:18
going to reenable the camera call
00:22:20
modifier this was a super condensed
00:22:23
workflow for creating a render but it's
00:22:26
perfect if you want to do something
00:22:27
quick and get results like this you can
00:22:30
always spend more time cleaning up
00:22:32
floaters and Abstract points you can
00:22:35
also use the point Cloud workflow to
00:22:38
edit points and then move in editing
00:22:40
faces with the 3dgs workflow I'll show
00:22:44
that in the editing quick guide if you
00:22:46
want to make your own scans check out
00:22:48
the Ki engine app or you can check out
00:22:51
the homepage on the K engine app to grab
00:22:54
some free scans like this one