WEBVTT

1
00:00:00.000 --> 00:00:02.833
Hello everybody

2
00:00:02.833 --> 00:00:06.833
and welcome back, it's Ben here with you now! We're going to talk about Coordinate

3
00:00:06.833 --> 00:00:10.833
Systems & Exporting! Before we do, I talk a little bit faster than Mikey,

4
00:00:10.833 --> 00:00:14.833
so you may want to go back to the beginning of the course and look at your video controls

5
00:00:14.833 --> 00:00:18.833
lecture, where you can choose a different speed if you want to.

6
00:00:18.833 --> 00:00:22.833
Also, of course, I'm far more charismatic and handsome than him, not that you could tell that on a

7
00:00:22.833 --> 00:00:26.833
video. [Laughs]  So here we're going to be looking at the end result of your model

8
00:00:26.833 --> 00:00:30.833
and what we're likely to do with it. I'm going to show you a useful export checklist.

9
00:00:30.833 --> 00:00:34.833
I'm going to introduce you to left and right-handed coordinate systems.

10
00:00:34.833 --> 00:00:38.833
I'm going to be demonstrating an import into Unity, but you don't need to have

11
00:00:38.833 --> 00:00:42.833
Unity, it's a game engine. You don't need to have it installed, you just need to have a look at how these

12
00:00:42.833 --> 00:00:46.833
models end up over there. And I'm going to give you a little challenge, to think

13
00:00:46.833 --> 00:00:50.833
about where you want to first export to. So let's start by just talking about handedness.

14
00:00:50.833 --> 00:00:54.833
So get your fingers out and hands up in front of you, and have a think about what's on the screen

15
00:00:54.833 --> 00:00:58.833
there. This is borrowed from Wikipedia. Thank you very much to the chap who drew it, a very pretty diagram.

16
00:00:58.833 --> 00:01:02.833
So a right-handed coordinate system is one where you start with your thumb

17
00:01:02.833 --> 00:01:06.833
down the X axis. Your next finger's along the Y and then your next finger

18
00:01:06.833 --> 00:01:10.833
is Z. And that's completely different to a system where the

19
00:01:10.833 --> 00:01:14.833
left thumb is X, the next finger is Y, and then the middle finger is Z.

20
00:01:14.833 --> 00:01:18.833
And they are mirror images of one another but you cannot rotate one

21
00:01:18.833 --> 00:01:22.833
to become the other, it's just impossible if you try it, you'll see that they're just, just different.

22
00:01:22.833 --> 00:01:26.833
OK, so a quick challenge for you! I want you to go over

23
00:01:26.833 --> 00:01:30.833
into Blender, which is here, and look at the many axes

24
00:01:30.833 --> 00:01:34.833
that's down at the bottom-left of Blender there, and I want you to answer a very simple question,

25
00:01:34.833 --> 00:01:38.833
is Blender right or left handed? Use that mini axes and the previous slide.

26
00:01:38.833 --> 00:01:42.833
Write down your answer, no cheating. No Wikipedia-ing or no Google-ing for

27
00:01:42.833 --> 00:01:46.833
is Blender right or left handed. I just want you to look at that slide and work out for yourself

28
00:01:46.833 --> 00:01:50.833
and lots of twisting of your wrist, try not to break anything, whether it's left or right-handed. So

29
00:01:50.833 --> 00:01:54.833
go ahead, write that down now, and we'll see you in just a sec.

30
00:01:54.833 --> 00:01:58.833
Cool welcome back! So if we look here in Blender you

31
00:01:58.833 --> 00:02:02.833
stick your thumb along the X axis, the way I've got it defined. Your next finger

32
00:02:02.833 --> 00:02:06.833
is along the Y axis, which is really really awkward, and

33
00:02:06.833 --> 00:02:10.833
your next finger goes down the Z axis. And you'll find if you're trying to use your left hand now that not only are you in a

34
00:02:10.833 --> 00:02:14.833
very strange position but that it just doesn't work, because Z is pointing in the wrong direction.

35
00:02:14.833 --> 00:02:18.833
So Blender uses a right-handed coordinate system. You put your right thumb

36
00:02:18.833 --> 00:02:22.833
along the X axis, you put your middle finger along the Y axis,

37
00:02:22.833 --> 00:02:26.833
and then, you'll find, if you're lucky, that the Z axis

38
00:02:26.833 --> 00:02:30.833
will actually be the third finger. OK, so Blender uses

39
00:02:30.833 --> 00:02:34.833
a right-hand coordinate system. Not the case with Unity, we're going to be

40
00:02:34.833 --> 00:02:38.833
demonstrating it actually uses a completely different coordinate system.

41
00:02:38.833 --> 00:02:42.833
So here's our model in Blender, and let's

42
00:02:42.833 --> 00:02:46.833
just take a look at the Hierarchy. What have we got? We've got several things, which we don't really care

43
00:02:46.833 --> 00:02:50.833
about now, but most importantly we have three models in here a Big Pyramid, a Pyramid,

44
00:02:50.833 --> 00:02:54.833
and a Small Pyramid. Now only the

45
00:02:54.833 --> 00:02:58.833
Pyramid, I believe, is at the Origin in this thing. It's only that that's at

46
00:02:58.833 --> 00:03:02.833
(0, 0, 0). The other guys are not at (0, 0, 0), they're offset from the

47
00:03:02.833 --> 00:03:06.833
Origin. So that's one thing to notice. The other thing to notice in Blender is that Z is

48
00:03:06.833 --> 00:03:10.833
upwards, so upwards by default is Z, alright.

49
00:03:10.833 --> 00:03:14.833
OK so what does this look like in Unity? Well you don't need to know the details of how you get

50
00:03:14.833 --> 00:03:18.833
this guy, this model into Unity, but let me just go over to

51
00:03:18.833 --> 00:03:22.833
Unity now and open up this model and see what it looks like. So

52
00:03:23.233 --> 00:03:27.233
here I am in Unity 3D. Again, you don't need to load Unity, you just need to look at

53
00:03:27.233 --> 00:03:31.233
what I'm showing you here. So I have imported the Mayan Pyramid, and

54
00:03:31.233 --> 00:03:35.233
if we click that tray to expend it, you'll see that it's got lots of little components that

55
00:03:35.233 --> 00:03:39.233
come across from Blender automatically. You've got the pyramids themselves here, which

56
00:03:39.233 --> 00:03:43.233
are the composed models which consist of the scale that you

57
00:03:43.233 --> 00:03:47.233
set over in Blender. Like this Pyramid, remember, was 10 by 10 by

58
00:03:47.233 --> 00:03:51.233
1, and also the materials, they're all just using no materials. We haven't

59
00:03:51.233 --> 00:03:55.233
introduced materials in the course yet. But also just their plain meshes here, and it'll

60
00:03:55.233 --> 00:03:59.233
even tell you how many triangles they've got and things. Alright, so that's what you get over in Unity!

61
00:03:59.233 --> 00:04:03.233
Now one good thing is that Unity is smart enough to know that, actually

62
00:04:03.233 --> 00:04:07.233
Unity uses Y for upwards, whereas Blender was using Z for upwards,

63
00:04:07.233 --> 00:04:11.233
so it actually does turn the things on their sides. Take a look at Unity's coordinate system,

64
00:04:11.233 --> 00:04:15.233
and again, with reference to that other slide, just work out for yourself is this left or

65
00:04:15.233 --> 00:04:19.233
right-handed. Well as you try and maybe try your right hand

66
00:04:19.233 --> 00:04:23.233
down the X and then the next finger, then your right hand goes up the Y and you try

67
00:04:23.233 --> 00:04:27.233
and get the Z working things don't work right. So actually, Unity is a

68
00:04:27.233 --> 00:04:31.233
left-handed system, so it's actually completely the opposite to Blender. Most of the time that won't

69
00:04:31.233 --> 00:04:35.233
cause you a problem, but they are mirror images and you can't make a straight rotation from

70
00:04:35.233 --> 00:04:39.233
one to the other. So that's an example of one of the things you need to consider.

71
00:04:39.233 --> 00:04:43.233
The other thing is, let's think about how your work's been organized. We've actually put three models into

72
00:04:43.233 --> 00:04:47.233
the same model here, effectively, and you wouldn't normally do that.

73
00:04:47.233 --> 00:04:51.233
The Mayan Pyramid itself... Which one is this, the big one?

74
00:04:51.233 --> 00:04:55.233
The one called Pyramid is sitting nicely in Unity at the

75
00:04:55.233 --> 00:04:59.233
Origin, and the other thing that's good is, it's sitting on the floor. So that model,

76
00:04:59.233 --> 00:05:03.233
if you like, that sub-model is setup very nicely. We would want to

77
00:05:03.233 --> 00:05:07.233
consider whether the thing that you're exporting to can handle the scaling.

78
00:05:07.233 --> 00:05:11.233
OK, here in Unity and more importantly for you guys over in Blender,

79
00:05:11.233 --> 00:05:15.233
this guy is scaled. Remember that you set a scale? Where is it over here?

80
00:05:15.233 --> 00:05:19.233
There, X,

81
00:05:19.233 --> 00:05:23.233
Y, Z. We have a 10, 10, 1 scale. Now it happens that it

82
00:05:23.233 --> 00:05:27.233
talks to Unity, and Unity understands that, and it scales it properly. But look at these mesh previews,

83
00:05:27.233 --> 00:05:31.233
you see how distorted they are? The raw meshes actually look like that behind the scenes, and

84
00:05:31.233 --> 00:05:35.233
they are rescaled in Blender and Unity is rescaling them for us. Your

85
00:05:35.233 --> 00:05:39.233
3D printer, for example, may not be so kind to you. So you may need to

86
00:05:39.233 --> 00:05:43.233
think very carefully, with the next model you build, about whether you want to be scaling the whole

87
00:05:43.233 --> 00:05:47.233
model or not, because you might find, if you try and 3D print this guy, that it comes

88
00:05:47.233 --> 00:05:51.233
out a bit long and thin. So that's his considerations, it's the scaling.

89
00:05:51.233 --> 00:05:55.233
The other consideration is where you put the Origin. Now when Mikey set this up

90
00:05:55.233 --> 00:05:59.233
with you, he put the Origin beautifully in the middle of this pyramid, so that means that it sits

91
00:05:59.233 --> 00:06:03.233
in Unity's Origin, and it means, in your 3D printer that it's going to actually print in the middle of

92
00:06:03.233 --> 00:06:07.233
the printing bay. The other two pyramids wouldn't be so lucky.

93
00:06:07.233 --> 00:06:11.233
[Laughs] So generally speaking moving forward, for instance, when we create

94
00:06:11.233 --> 00:06:15.233
the bowling ball and the bowling pin, we would create separate blend files for those.

95
00:06:15.233 --> 00:06:19.233
We wouldn't put three different models in the same thing, we've done it this way for simplicity, but

96
00:06:19.233 --> 00:06:23.233
moving forward you'd have one blend file per model you want to create.

97
00:06:23.233 --> 00:06:27.233
You may put subelements of your model, like you might decide to separate at the top

98
00:06:27.233 --> 00:06:31.233
of the pyramid as separate components here, but they wouldn't be all in

99
00:06:31.233 --> 00:06:35.233
one. OK, so let's take a look at my export checklist I've made

100
00:06:35.233 --> 00:06:39.233
for you. Here are some questions you need to ask yourself when you are

101
00:06:39.233 --> 00:06:43.233
starting your project, actually. From the next project, we want to start thinking about these questions.

102
00:06:43.233 --> 00:06:47.233
In your target platform, what axis is up? For instance,

103
00:06:47.233 --> 00:06:51.233
in Blender it's Z and in Unity it's Y. What about the handedness of the coordinate

104
00:06:51.233 --> 00:06:55.233
system? It doesn't matter yet but with some more complex models and some animations later, it may start

105
00:06:55.233 --> 00:06:59.233
to make a difference. So are you dealing with a left-handed coordinate system, like Unity, or a right-handed

106
00:06:59.233 --> 00:07:03.233
coordinate system, which is Blender? Does the scale you set in Blender

107
00:07:03.233 --> 00:07:07.233
come through to the system you're targeting? In Unity it does.

108
00:07:07.233 --> 00:07:11.233
Maybe your 3D printer doesn't? You need to know the answer to that or test it really early on with a

109
00:07:11.233 --> 00:07:15.233
really simple model. Maybe just scale a cube and see how it works. Does the

110
00:07:15.233 --> 00:07:19.233
model have an appropriate Origin? So the pyramid in the

111
00:07:19.233 --> 00:07:23.233
center is centered perfect. The other ones are offset. If over in Unity, let me

112
00:07:23.233 --> 00:07:27.233
just show you the impact of that. If over in Unity I decide to break up

113
00:07:27.233 --> 00:07:31.233
these guys, these models, and make separate models out of say this Big Pyramid,

114
00:07:31.233 --> 00:07:35.233
this guy, and I make him down there as a separate model and delete what I had, look what

115
00:07:35.233 --> 00:07:39.233
happens when I put the Big Pyramid in! In Unity it's not at the Origin!

116
00:07:39.233 --> 00:07:43.233
This is not Unity's Origin, it's offset where it was in the

117
00:07:43.233 --> 00:07:47.233
previous scene, which is out here. This is the Origin, this

118
00:07:47.233 --> 00:07:51.233
pyramid at the bottom, and this guy is off on a limb. So be careful of that, because

119
00:07:51.233 --> 00:07:55.233
baked into this Big Pyramid is an offset. OK so you want your

120
00:07:55.233 --> 00:07:59.233
models to be centered. Are the meshes grouped appropriately?

121
00:07:59.233 --> 00:08:03.233
That's where I was talking about, you wouldn't put all three of those pyramids typically in one file, you may put

122
00:08:03.233 --> 00:08:07.233
the components of a Pyramid under one file. And

123
00:08:07.233 --> 00:08:11.233
is the model closed? Hmmm? How about the base? Well that becomes important in 3D printing,

124
00:08:11.233 --> 00:08:15.233
as we'll see later. But one thing that's super easy to forget is the base.

125
00:08:15.233 --> 00:08:19.233
Let's take a look at this guy in Unity! Does he have a bottom? Yes, we have

126
00:08:19.233 --> 00:08:23.233
bottoms, that's good. And it's a closed model, that's important in printing, but it's also important

127
00:08:23.233 --> 00:08:27.233
if your character in a game, for instance, ever takes a look from the bottom. Why? Well remember

128
00:08:27.233 --> 00:08:31.233
Mikey talked about normals and how important they were? Well game engines,

129
00:08:31.233 --> 00:08:35.233
for one, do something called Backface Culling. Ooh, you've seen that when you've played a game, you go

130
00:08:35.233 --> 00:08:39.233
inside. Look the pyramid I'm in is completely invisible to me, or at lest the faces I'm

131
00:08:39.233 --> 00:08:43.233
looking at the back of are. If I come up and look down the stairs I can see them, but I

132
00:08:43.233 --> 00:08:47.233
can't see those stairs from below, the pyramid disappears. So it's a really

133
00:08:47.233 --> 00:08:51.233
thin shell, and that's giving the illusion of a solid pyramid from the

134
00:08:51.233 --> 00:08:55.233
outside, because we have and Mikey has diligently pushed all your normals outwards.

135
00:08:55.233 --> 00:08:59.233
But that's really important that your normals are facing outwards, otherwise things will just disappear.

136
00:08:59.233 --> 00:09:03.233
So that's it, that is the checklist of things

137
00:09:03.233 --> 00:09:07.233
that you want to consider. What I want you to do now is think about where you want to export your next model to.

138
00:09:07.233 --> 00:09:11.233
Are you into 3D printing? Are you into games? Are you into Unity? I don't know.

139
00:09:11.233 --> 00:09:15.233
Write the answers to the export checklist, from the previous slide, down. Do some research for your target

140
00:09:15.233 --> 00:09:19.233
platform, and then, why not share the answers or any questions you may have in the community.

141
00:09:19.233 --> 00:09:23.233
And start getting the conversation going, so that from now, moving forward,

142
00:09:23.233 --> 00:09:27.233
you can start even from the very beginning of your modeling exercise thinking

143
00:09:27.233 --> 00:09:31.233
about how it's going to end up. So thanks for listening and we'll

144
00:09:31.233 --> 00:09:33.800
see you soon!

