์ด๊ฒƒ๋„ ๋Œ€๋‹ตํ•  ์ˆ˜ ์žˆ์„๊นŒ ์‹ถ์–ด์„œ ์œ ๋‹ˆํ‹ฐ์—์„œ ๋Ÿฐํƒ€์ž„์— objํŒŒ์ผ ์ž„ํฌํŠธํ•˜๋Š” ๋ฒ•์„ ๋ฌผ์–ด๋ด„



7cf3c028e2f206a26d81f6e44e85716586


using UnityEngine;

using System.Collections.Generic;


public class OBJImporter : MonoBehaviour

{

ย  ย  public TextAsset objFile;


ย  ย  void Start()

ย  ย  {

ย  ย  ย  ย  Mesh mesh = new Mesh();

ย  ย  ย  ย  List<Vector3> vertices = new List<Vector3>();

ย  ย  ย  ย  List<int> triangles = new List<int>();

ย  ย  ย  ย  List<Vector2> uvs = new List<Vector2>();


ย  ย  ย  ย  string[] lines = objFile.text.Split('\n');

ย  ย  ย  ย  foreach (string line in lines)

ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  string[] values = line.Split(' ');

ย  ย  ย  ย  ย  ย  switch (values[0])

ย  ย  ย  ย  ย  ย  {

ย  ย  ย  ย  ย  ย  ย  ย  case "v":

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  vertices.Add(new Vector3(float.Parse(values[1]), float.Parse(values[2]), float.Parse(values[3])));

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  break;

ย  ย  ย  ย  ย  ย  ย  ย  case "vt":

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  uvs.Add(new Vector2(float.Parse(values[1]), float.Parse(values[2])));

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  break;

ย  ย  ย  ย  ย  ย  ย  ย  case "f":

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  int v1 = int.Parse(values[1].Split('/')[0]) - 1;

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  int v2 = int.Parse(values[2].Split('/')[0]) - 1;

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  int v3 = int.Parse(values[3].Split('/')[0]) - 1;

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  triangles.Add(v1);

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  triangles.Add(v2);

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  triangles.Add(v3);

ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  break;

ย  ย  ย  ย  ย  ย  }

ย  ย  ย  ย  }


ย  ย  ย  ย  mesh.SetVertices(vertices);

ย  ย  ย  ย  mesh.SetTriangles(triangles, 0);

ย  ย  ย  ย  mesh.SetUVs(0, uvs);

ย  ย  ย  ย  mesh.RecalculateNormals();


ย  ย  ย  ย  GameObject meshObject = new GameObject();

ย  ย  ย  ย  meshObject.AddComponent<MeshFilter>().mesh = mesh;

ย  ย  ย  ย 




?์™œ ๋˜๋…ธ

์‹ฌ์ง€์–ด ์ž˜ ์ž‘๋™ํ•˜๋Š” ์ฝ”๋“œ์ž„


๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—”ย ๋Ÿฐํƒ€์ž„์—ย fbxย ํŒŒ์ผ์„ย ์ž„ํฌํŠธํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด ๋ฌผ์–ด๋ด„

๋‚œ ๋ชป์ฐพ์•„์„œ ์ง€๊ธˆ๊นŒ์ง€ obj ํŒŒ์ผ๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋„ฃ์—ˆ๊ฑฐ๋“ 



7ff3c028e2f206a26d81f6e44684706bb5


์™€ ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ์•ˆ๋œจ๋Š”๊ฑฐ๋ณด์†Œ ใ„ทใ„ทใ„ท

์ฝ”๋“œ๊ฐ€ ์ข€ ์ด์ƒํ•˜๊ธด ํ•˜์ง€๋งŒ ์ข†๊ฐ„์ด ์ดํ•ดํ•˜์ง€ ๋ชปํ•  ๋ฟ ์ด๊ฑฐ ๋˜๋Š”๊ฑฐ ์•„๋‹ˆ๋ƒ?



7ef3c028e2f206a26d81f6e7478277640e



๊ทธ๋งŒ ์•Œ์•„๋ณด์ž