Summary - 3D model
- Game Development course
- Intermediate
- Lesson 6/83
- 4 min
Reinforce 3D model usage with a summary task.
3D Model Architecture Summary
3D models consist of vertices storing spatial points and triangles linking them into surfaces. An in-scene model stores its geometry using MeshFilter and renders its appearance on screen with MeshRenderer and an associated Material. While primitives serve basic forms, complex models are imported externally via .fbx.
MeshFilter mf = GetComponent<MeshFilter>();
MeshRenderer mr = GetComponent<MeshRenderer>();
Debug.Log(mf.sharedMesh.vertexCount);Practice 3D Model Inspection Task
Assign filter.sharedMesh.vertexCount to variable kose and renderer.materialCount to variable malzeme. Print results with Debug.Log("Kose: " + kose); and Debug.Log("Malzeme: " + malzeme); respectively.
Starter code
using System;
public class Mesh
{
public int vertexCount = 8;
}
public class MeshFilter
{
public Mesh sharedMesh = new Mesh();
}
public class MeshRenderer
{
public int materialCount = 1;
}
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
MeshFilter filter = new MeshFilter();
MeshRenderer renderer = new MeshRenderer();
// kose ve malzeme sayilarini alip ekrana yazdir
}
}Sample solution
using System;
public class Mesh
{
public int vertexCount = 8;
}
public class MeshFilter
{
public Mesh sharedMesh = new Mesh();
}
public class MeshRenderer
{
public int materialCount = 1;
}
public static class Debug
{
public static void Log(object message) => Console.WriteLine(message);
}
public class Program
{
public static void Main()
{
MeshFilter filter = new MeshFilter();
MeshRenderer renderer = new MeshRenderer();
int kose = filter.sharedMesh.vertexCount;
int malzeme = renderer.materialCount;
Debug.Log("Kose: " + kose);
Debug.Log("Malzeme: " + malzeme);
}
}Expected output
Kose: 8 Malzeme: 1
Questions and answers
Review the lesson questions together with their answers. To test yourself, solve the lesson interactively.
1 Which two components must exist together for a 3D object to retain geometry in memory and appear on screen with color and material?
- AudioSource and Rigidbody
- Transform and BoxCollider
- Camera and Light
- MeshFilter and MeshRenderer Correct answer
Explanation: MeshFilter holds the geometry data, while MeshRenderer renders this geometry to screen with materials.
2 Read Mesh Geometry
Mesh geometri = filter.____;
Mesh geometri = filter.sharedMesh;
Explanation: The original mesh reference on MeshFilter is accessed via the sharedMesh property.
3 All 3D Model Concepts
| Term | Meaning |
|---|---|
Mesh |
Holds vertex and triangle geometry data |
MeshFilter |
Connects mesh geometry to GameObject |
MeshRenderer |
Draws geometry with materials |
.fbx |
3D model file imported from outside |