전체 글 1037

HightMap, Occlusion map

Height Map 만들기 Texture Image -> 포토샵으로열기 흰색과 검은색 영역으로 높낮이가 정해 진다. 흰색 평면 검은색 들어감.. 적당히 조절하자. Occlusion Map 만들기 모델링의 영역에 간접광을 받아들이는 정도를 나타내는 맵 입니다. 차폐로 인한 빛의 감쇄를 구현하는 테크닉으로 주로 물체의 틈 등의 그림자를 표현하는데 사용합니다. 구석진 간접광을 모두 계산하는 것을 실시간 랜더링 하기에는 연산량이 극도로 높기 때문에 비용이 너무 비싸죠. 따라서 Occlusion map을 미리 만들어서 3차원 방식의 게산에서 2차원 계산으로 비용을 낮춘 방식입니다. 흰색은 간접조명을 모두 받음을 나타내고 검은색은 간접조명을 받지 않음을 나타낼 수 있습니다. 왼쪽은 목 주위의 천의 주름에 숨겨져 있..

카테고리 없음 2021.05.31

유니티로 수학배우기_좌표변환

좌표변환(coordinate transformation)? 서로 다른 좌표사이에서 좌표를 변환하는 작업의 총칭. 행렬과 벡터를 곱해 그 결과로서 새로운 벡터로 변환하는 조작과 같다. 좌표변환은 3D 컴퓨터 그래픽스의 기초가 되는원리이다. 2D게임이라도 직교 좌표와는 다른 좌표계가 사용되거나, 일정한 법칙에 기초해 변형을 구현할 경우에는 좌표변환으로대응한다. 이외에도 로봇을 제어하는 등의 서로 다른 좌표계를 가진 복수의 요소를 제어할때 사용한다. 폴리곤의 형상을 나타내는 정점 데이터를 가리켜 수하의 기하학에서 따온 단어인 지오메트리라 부르는데, 이와 같은 폴리콘으로 만들어진 캐릭터를 3D 공간 내에 표시하려고 할 때 GPU에서 방대한 양의 좌표변환이 이루어진다. 일정한 규칙에 기초한 일련의 그리기 공정을 ..

카테고리 없음 2021.05.25

blender2.81 Normal Map

Nomal? 점 세개 이상이 모여 하나의 면을 구성하는데 이 면의 수직 방향이 바로 Nomal 방향입니다. 면을 여러개로 분할하여 퀄리티를 표현할 수는 있으나 이는 컴퓨터 자원을 많이 사용하기에 비효율적 입니다. 따라서 노말맵이라는 노말을 저장한 이미지를 통하여 노말값을 저장하고 이를 통하여 랜더링시간과 용량은 줄이고 퀄리티를 높일 수 있습니다. ▷ Normal의 구성 R : (Tangent) U G : (Tangent) V B : Normal 각 채널별 값들이 각각의 기울기를 나타냄으로서, 매쉬상의 한 점은 최종적으로 x,y,z축의 기울기를 모두 갖게 됩니다. 비슷한 것으로 bumb, Displacement, Vector Displacement가 있습니다. ▷ bump - 어둡고 밝은정도로 굴곡을 나타..

카테고리 없음 2021.05.25

android_kotlin_위젯과 레이아웃 연결하기

레이아웃 위젯 아이디가 txt_basic이라면 아래의 소스코드와 같이 레이아웃의 위젯을 연결하는 findviewbyid를 사용해야 한다. 1. tvtitle 선언 2. 레이아웃과 소스코드 연결 3. 위젯 제어하기. class MainActivity : AppCompatActivity() { private var tvTitle: TextView? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) tvTitle = findViewById(R.id.txt_basic); tvTitle.text="asdf" } } 하지만 ko..

카테고리 없음 2021.05.11

blender2.81_anim_팁

믹사모 추천 애니메이션 다운받아보기 로그인 시작합니다. 가입이 안되어 있으면 회원가입하기! 캐릭터 탭을 선택하고 마음에 드는 캐릭터를 선택합니다. Animation을 탭하고 원한는 Animation을 클릭합니다. 모두 골랐으면 다운로드를 누르고 다운 가능! 추후 업데이트 예정.. 지금은 링크로 땜빵ㅋ 미리 만들어진 애니메이션 블랜더에서 사용하기. mixamo 애님 연결하기

카테고리 없음 2021.05.07

Unity_Socket_tcpip

오프라인 게임과 온라인의 차이 요즘 게임은 보통 60fps로 동작합니다. 1초에 60번 그림을 그리므로 1프레임당 처리 시간은 다음과 같습니다. 1,000(ms)/60(frame) = 16.666...(ms/frame) 즉 16ms안에만 통신이 보장된다면 상관없겠지만.... 때때로 100ms전후의 지연이 발생할 때가 있습니다. 통시이 만약 100(ms)지나서 온다면.. 대략 7프레임이 지나서 도착한다는 이야기입니다. 따라서 온라인 게임과 같이 통신을 필요로 하는 게임을 제작할시에는 반드시 정보를 송신한 쪽과 수신한 쪽의 같은 프레임에서 처리되지 않는다는 사실을 전제로 제작해야 합니다. 이와같이 소프트웨어로는 도저히 극복하기 힘든 한계가 있기 때문에 오프라인과 온라인은 별개의 게임입니다. 통신방식 ▷ 동기..

카테고리 없음 2021.05.06

Android_kotlin_layout

레이아웃 이란..? 레이아웃은 글자나 이미지를 배치할 수 있는 방법 이라고 생각해도 될 듯 하다. 레이아웃 화면구성은 보통 layout 폴더 아래의 xml파일로 제어한다. 레이아웃의 종류는 여러가지지만 자주 쓰는 레이아웃은 아래와 같다. ▷ 리니어 레이아웃 위젯을 가로 또는 세로로 배치하기 위한 레이아웃 이다. 리니어 레이아웃 (Linear Layout) 더 알아보기

카테고리 없음 2021.05.06

Android_kotlin_Hello World!

개발환경은 세팅은 미리 되있다고 가정하고 아래처럼 따라하기 Hello World 기초 프로젝트 제작하기 Create New Project 누르고. 아무것도 없는 Activity 생성 프로젝트 경로 설정, 패키지 설정, 이름 설정, 사용언어를 kotlin으로 지정 에뮬레이터 세팅하기 노란색 박스를 표시한 곳을 따라서 누르기 Create virtual Device 클릭 원하는 가상 테스트 고르 원하는 버전을 고르자. 이름 지정하고 넘어가자 Hello World 출력 위쪽 상단에 초록색 ▶ 누르면 hello world 출력되는걸 볼 수 있음.

카테고리 없음 2021.05.04