오늘은 일단 기획 모의면접을 봤다 그리고 문이 달린 오브젝트의 코드를 작성하는 날이다.
일단 문이 달린 오브젝트를 열엇다 닫았다 할 수 있어야 하는데 이걸 구현하기위해 그냥 애니매이션을 쓸 쑤도 있지만,
새로운 기능인 힌지 조인트를 사용해 보기로 했다.
Anchor: 문이 회전할 축의 위치를 설정. (예: 문의 왼쪽 끝 또는 오른쪽 끝)
Axis: 회전 축 방향. 보통 Y축을 사용 (0, 1, 0).
Limits:
Use Limits를 활성화하여 문이 열릴 각도 범위를 제한합니다.
예: 최소 -90°, 최대 0°로 설정하면 문이 반쯤만 열립니다.
저 기능들을 이용해 특정 코드가 발동되면 문이 빙글 돌아가는 기능인 것이다.
public class DoorWithHinge : MonoBehaviour
{
private HingeJoint hinge;
private bool isOpen = false; // 문 상태
public float openAngle = -90f; // 문 열림 각도
public float closeAngle = 0f; // 문 닫힘 각도
public float speed = 5f; // 문 열리는 속도
public float openRange = 5f; // 문을 열 수 있는 최대 거리
public Transform player; // 플레이어의 Transform (씬에서 직접 연결)
void Start()
{
hinge = GetComponent<HingeJoint>();
if (hinge != null)
{
JointLimits limits = hinge.limits;
limits.min = openAngle;
limits.max = closeAngle;
hinge.limits = limits;
hinge.useLimits = true;
}
}
void Update()
{
if (player != null)
{
float distance = Vector3.Distance(transform.position, player.position);
if (distance <= openRange && Input.GetKeyDown(KeyCode.E))
{
ToggleDoor();
}
}
}
public void ToggleDoor()
{
isOpen = !isOpen;
JointSpring spring = hinge.spring;
spring.spring = speed; // 문이 열리는 속도
spring.damper = 1f; // 감쇠값
spring.targetPosition = isOpen ? openAngle : closeAngle; // 목표 각도
hinge.spring = spring;
hinge.useSpring = true;
Debug.Log(isOpen ? "문이 열렸습니다!" : "문이 닫혔습니다!");
}
}
이렇게 작성하고 게임을 시작해보니 잘 작동하는것을 볼 수 있었다.
그리고 두번째 할일이다.
일단 기획면접 첫날이라 간단한 자기소개와 어떤게임을 했는지, 그리고 데이터테이블 다룰줄 아는지 물어보셨다.
일단 다 대답을 하고 돌아온 답변은
"이정도면 중소기업에 서류정도는 종종 합격할만 하다 였다."
그러나 문제는 이제부터 였다.
이력서,포폴을 보시더니 몇가지 결함을 짚어 주셨다.
1.자신이 게임을 얼마나 했는지 어필 부족
정확한 게임 플탐이랑, 게임에 얼마정도 돈을썻는지 상세히 적을 필요가 있다 하셨다.
2.너무 장수가 많음, 좀 줄일것.
수상경력 같은건 한장에 다 넣는게 좋다고 하셨다.
3.게임 재미에대한 연구 부족
문서로 상세히 이게임이 왜 재밌는지에 대한 고찰이 없어 기획자보단 일반유저에 가까운 상태라고 하셨음.
서류에도 재미에대한 요소나 어필이 없다고 하셨다.
4.자신이 많이한 게임과 목표가 너무 일치 하지 않는다.
나는 주로 경쟁적인 슈팅게임을 많이 했는데, 목표는 정작 캐주얼 게임이다.
이러면 모바일 캐주얼을 많이 하던, 아니면 목표를 수정할 필요가 있어보인다고 하셨다.
포폴들을 좀더 가다듬을 필요가 있어보인다.