Omak Board values manage

2022. 1. 6. 20:11Unreal Engine 4/Omak Project

주차 목표 : 오목 판과 알의 렌더링 성공

 

오목 판

1. 보이는 오목판 (14X14배열을 이용) 배치

-> 모서리에 알을 두는 오목의 특성에 따라 14X14는 오목에서의 15X15 오목판과 동일한 시각적 효과 보유
2. 보이지 않는 오목판 (15X15배열을 이용하여 배치)

-> x,y값을 클라이언트에게 보내는데 정확한 값인지 Hit result를 이용하기 때문에 사용

-> 렌더링 이후 삭제 예정

-> 오목판 맨 끝에 오목알을 두는 경우에 대한 더욱 정확한 판정을 위해 고민중

=> 오목판 맨 끝은 자주 사용되지 않는다. (끝의 정확한 판정 VS static mesh 사용을 줄임으로써의 최적화)

3. 오목알 배치 (15X15배열을 이용하여 배치)

-> Construction Script를 이용하여 오목판 모서리에 미리 알을 배치

-> Opacity값을 0으로 설정하여 숨겨 놓음 (클릭과 동시에 생성하는 방식은 좋지 않다고 판단)

-> Opactiy값의 변화 vs set material을 이용한 material 적용 vs 다른 공간에 알을 소환하여 transform의 변경으로 소환

1) Opacity값의 변화는 Create Dynamic Material Instance를 이용하여 값을 변화시키는 방식으로 사용

=> Material을 각각 만들어 붙여야하지만 Construction Script에서 미리 만들기에 채택

2) set material을 이용하면 결국 런타임 도중에 material을 변경하기에 값의 변화보다 문제가 크다 판단.

3) 다른 곳에 알을 소환하여 배열을 이용해 actor을 제어하여 하는 방식은 1번과 비슷했고, 구현방식이 더 간단한 1번을 채택함.

 

오목 알을 관리하기 위한 방식으로 구조체 선정

1. 구조체를 배열로 선언한 후 각 변수들을 관리하는 방식

2. 구조체를 변수로 선언한 후 각 변수들을 배열로 관리하는 방식

두 방식 중 구현방식과 더 연관이 되있는 1번 방식 채택 (For loop를 사용하였기 때문에)

 

controller에서 Hit값을 보내 Board에서 값을 처리하는 방식으로 마무리.

'Unreal Engine 4 > Omak Project' 카테고리의 다른 글

Omak Board생성과 Material 설정  (0) 2021.12.30
개발 설계  (0) 2021.12.30