diff options
author | Duarte David <duartercorreia@hotmail.com> | 2021-09-23 21:04:57 +0100 |
---|---|---|
committer | Duarte David <duartercorreia@hotmail.com> | 2021-09-28 00:09:39 +0100 |
commit | 7d53755ca70069602741761da46164e121cc1533 (patch) | |
tree | 7c4022f91e3d786d45415d56da88bb7cbfca790d /scene/resources | |
parent | 8abd46096ae52025d54bf58a782a6c057b3254f6 (diff) |
Fixes the normals of SphereMesh when the radius is different from 1
Diffstat (limited to 'scene/resources')
-rw-r--r-- | scene/resources/primitive_meshes.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/scene/resources/primitive_meshes.cpp b/scene/resources/primitive_meshes.cpp index 25eb701596..f8be00f5fb 100644 --- a/scene/resources/primitive_meshes.cpp +++ b/scene/resources/primitive_meshes.cpp @@ -1466,7 +1466,7 @@ void SphereMesh::_create_mesh_array(Array &p_arr) const { } else { Vector3 p = Vector3(x * radius * w, y, z * radius * w); points.push_back(p); - Vector3 normal = Vector3(x * radius * w * scale, y / scale, z * radius * w * scale); + Vector3 normal = Vector3(x * w * scale, radius * (y / scale), z * w * scale); normals.push_back(normal.normalized()); }; ADD_TANGENT(z, 0.0, -x, 1.0) |