K-digital traning 65

Gazzlers 개발일지 - Map 생성

Gazzlers Map 자동생성에 관하여 R&D를 시도(?)해보았다. GameScene을 보면 Player는 쭉 뒤로 이동하면서 Player 이동에 따라 Map이 화면에 같이 보여진다. Map을 끝까지 길이 이어 만든 상태로 Player만 이동하게 할 수도 있으나 Map의 크기가 크면 게임에 과부하가 올 수도 있기에 Player 주변부에만 Map이 생성되도록 구현해보고자 한다. 일단 땅같지도 않은 땅 하나를 만들고 TestMapMain도 생성하였다. 이 아이가 player의 위치에 따라 Map을 관리할 것이다. TestMapMain.cs using System.Collections; using System.Collections.Generic; using UnityEngine; namespace SJY {..

Gazzlers 개발일지 - Enemy1 GetHit 구현(1)

enemy1이 총에 맞았을 때를 구현해보쟈 enemy1은(다른 적도 마찬가지이겠지만) 차량과 차량에 탑승한 각각의 적 캐릭터들이 독립적으로 데미지를 입는다. 캐릭터가 총에 맞았을 때는 UI에 데미지만 표시되는 반면 차량이 총에 맞았을 때는 차량의 hp 게이지가 UI로 표시되는 것을 알 수 있다. 우선 캐릭터와 차량을 구분해둘 필요가 있으므로 Enemy1의 구조를 수정해보도록 하쟈. - GameObject 구조 Enemy1(빈 오브젝트) - car - muzzle - character1 - character2 - character3 - character4 - Scripts Enemy1 - car, character => Enemy1이 Car와 Character를 관리하도록 설정.

Gazzlers 개발일지 - Enemy1 공격 구현

(1) 총구가 Player를 향하도록 조준하는 부분 *Enemy1가 실시간으로 Player를 향해 LookAt을 하는 방식으로 구현 TestEnemy1Main.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class TestEnemy1Main : MonoBehaviour { [SerializeField] private Enemy1 enemy1; [SerializeField] private Transform Player; void Update() { this.enemy1.AimPlayer(this.Player); } } Enemy1.cs using System.Collections; using ..

Gazzlers 개발일지 - R&D 목록

내가 구현해야 되는 부분 : 적 한 웨이브를 통과할 때마다 적의 종류가 늘어남. => 그 중에서 3종류의 적을 구현할 예정 적들은 가시적으로 이동수단의 종류 및 타고 있는 인원수를 통해 구분할 수 있음. 1.1라 적 적1 - 자동차 이동수단 : 사륜차 - 인원 : 4마리 - 공격 방식 : player를 향해 총구를 겨눈뒤 총구의 앞 방향으로 총알을 3번 발사 대략 한 4초마다 씬에 있는 애들 중 한 놈들이 쏘는듯 적이 공격하기 전에 UI로 표시됨 - 데미지 입는 방식 : (1) player의 총에 맞는 경우 (2) 주변 사물에 부딪히는 경우 (3) 폭탄이 터지면서 같이 피해 입는 경우 적 한명씩도 공격 가능 자동차도 공격 가능(자동차가 부서지면 그 위에 탄 적들이 한 방에 날아감) 총알에 맞는 자동차의 ..

Placid Plastic Duck Simulator - 개발일지7

GameMain Script 작성 => 오리 여러 마리 내보내기 오리 여러마리들을 prefab으로 만들었다. 이제 요 아이들은 GameMain에서 관리하여 일정 시간이 지날 때마다 오리 한 마리씩 출현하도록 설정하였다. UI => 게이지 가득 차면 오리 내보내기 마침 게이지로 쓰기에 아주 적합하고 깜찍한 이미지를 발견했다. 위의 이미지는 frame으로 두고 밑에 이미지는 게이지를 채우는 용으로 사용하기로 했다. 또한 요 아이들을 관리하기 위한 UIMain 스크립트도 만들어놓고 UIMain을 GameMain이 관리하도록 설정하였다. GameMain.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public ..

Placid Plastic Duck Simulator - 개발일지6

post process 적용 https://learnandcreate.tistory.com/186 유니티에서 포스트 프로세싱(Post Processing V2) 설치 및 사용방법 유니티(unity)에서 포스트 프로세싱(Post Processing V2) 설치 및 사용방법유니티에서 배포하는 포스트 프로세싱( PostProcessing V2)은 package manager에서 설치할수있다(또는 아래 깃허브에서 프로젝트를 다 learnandcreate.tistory.com https://velog.io/@kimwonseop/Unity-Post-Processing 포스트 프로세싱 (Post-Processing) 포스트 프로세싱(Post Processing) - 포스트 프로세싱(Post-Processing)은 작..

Placid Plastic Duck Simulator - 개발일지5

얼추 물도 구현하고 부력도 그럭저럭 적용해보았으니 이제 환경을 좀 꾸며보도록 하쟈,, 먼저 오리가 노는 공간인 수영장을 마련해보았다. 수영장 관련 에셋을 찾던 중 꽤 괜찮은 무료 에셋을 발견하여 임포트해보았다. https://assetstore.unity.com/packages/3d/environments/exterior-swimming-pool-161671 Exterior Swimming Pool | 3D 주변환경 | Unity Asset Store Elevate your workflow with the Exterior Swimming Pool asset from IZaRTaX. Find this & other 주변환경 options on the Unity Asset Store. assetstore.u..

Placid Plastic Duck Simulator - 개발일지4

앞서 간단하게 물(같지 않은 물)을 구현하고 이제는 오리를 둥둥 띄울 차례 오리를 띄우기 위해 아래의 영상들을 참고해보았다. https://www.youtube.com/watch?v=eL_zHQEju8s https://www.youtube.com/watch?v=iasDPyC0QOg&t=404s 위의 영상들을 참고하여 피사체의 position.y 값이 wave의 position.y값보다 작을 경우 floatingPower를 AddForce하는 방식으로 구현해보았다. 물에 가라앉지 X, 물에 가라앉은 상태 두 가지로 구분하여 Drag값을 조절하였으며 피사체의 모양이 오리임을 감안하여 floating을 한 부분이 아닌 여러 부분에 두어 여러 방향으로 부력을 받을 수 있도록 설정하였다. 오리에 floating ..

Placid Plastic Duck Simulator - 개발일지3

이제 좀 더 물처럼 구현하기 위해 wave를 구현해보겠다. 먼저 잔물결을 표현해주고자 normal map을 입혀보았다. normal map을 입히기 위해 아래와 같은 사진을 다운로드하였다. normal map 다운로드 링크: https://www.cadhatch.com/seamless-water-textures Free Seamless Water Textures Normal Mapping Royalty Free seamless water texture patterns download, water Tileable patterns with matching normal map image www.cadhatch.com normal map 처리 부분 흐르는 모습을 구현하기 위해 normal map의 uv 좌표에 ..

Placid Plastic Duck Simulator - 개발일지2

water shader를 구현하기에 앞서 기본적인 세팅부터 작업. 물을 구현하는 방법은 기본적으로 plane에다 shader를 적용하여 plane의 vertex를 조절하는 것에서 출발한다. 보다 사실적인 물 표현을 하려면 엣지가 무수히 많은 plane을 생성하고 시작해야겠지만 아직 blender를 다뤄보지 못한 관계로 유니티 내에 있는 일반적인 plane을 사용해보았다. 그 다음 plane에 입힐 material과 material을 표현해줄 shader를 생성한다. 물 밖에서 바라보는 물과 물 안에서 바라보는 물은 다른 양상을 띠므로 두 가지의 경우로 생성해보았다. (실제로 waterBack까지는 구현할 수 있을지 미지수이다만,,,,) 먼저 색상과 specular를 구현해보았다. +투과 사진을 보고 매우..