응애맘마조

끝 없는 그리드 본문

공부/3D과제

끝 없는 그리드

TH.Wert 2023. 5. 11. 21:26

카메라를 이동해도 끝이 나지 않고 계속 이어지는 그리드를 그리는 것이 과제였습니다. 이번에는 그리드를 클래스로 따로 만들었습니다.

//Grid.h
#pragma once

//특수하게 움직이는 액터
class Grid : public Actor
{
public:
    static Grid* Create(string name = "Grid");
private:
    Grid();
    virtual ~Grid();
public:
    void	Update() override;
    void	Release() override;
};

Grid.h입니다.

//Grid.cpp
#include "framework.h"

Grid* Grid::Create(string name)
{
	Grid* temp = new Grid();

	temp->mesh = make_shared<Mesh>();
	temp->LoadFile("1.Grid.mesh");
	temp->name = name;

	return temp;
}
void Grid::Release()
{
	for (auto it = children.begin(); it != children.end(); it++)
	{
		SafeRelease(it->second);
	}
	delete this;
}

Grid::Grid()
{
}

Grid::~Grid()
{
}

void Grid::Update()
{
	scale.z = scale.x;

	float X = (int)(Camera::main->GetWorldPos().x / scale.x);
	X *= scale.x;

	float Z = (int)(Camera::main->GetWorldPos().z / scale.x);
	Z *= scale.x;

	SetWorldPosX(X);
	SetWorldPosZ(Z);

	Actor::Update();
}

Grid.cpp입니다.

그리드의 크기를 늘려도 반드시 정사각형 크기로 늘릴 수 있게 했고 카메라의 움직임에 상관없이 일정하게 움직이도록 했습니다.

실행 영상입니다.

 

읽어주셔서 감사합니다.

'공부 > 3D과제' 카테고리의 다른 글

걷기 모션  (0) 2023.05.16
태양계 만들기  (0) 2023.05.14
색상 구체  (0) 2023.05.11
구체 그리기  (0) 2023.05.08
큐브 그리기  (0) 2023.05.08
Comments