전체 글 292

[복습] 동기/ 비동기

새프로젝트에서 안보고 복습 해봤는데 처음에 뭔가 App이 사라져서 DontDestroyOnLoad를 추가하지 않은걸 알게되었다. using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class App : MonoBehaviour { //동기 비동기 //App에 TestMain과 GameMain을 얻어온다. private void Awake() { DontDestroyOnLoad(this.gameObject); } private void Start() { this.ChangeScene(); } private void ChangeScene() { ..

HeroShooter - 오브젝트 풀링[총알], 비동기[씬 전환]

1. 총알 오브젝트 풀링 BulletPoolMain에 SetParent로 총알 SetActive(false) 상태로 해놓고 사용할 때 바깥으로 꺼내서 SetActive(true) 상태로 변경 몬스터한테 맞았을 때 SetActive(false) 변경하고 SetParent를 BulletPoolMain으로 변경 1-1. 총알 BulletPoolMain에 넣어두기 --> 총알을 알아야지 [완] 1-2. 총알 Destroy될 때 Release 해주기 2. 씬들 비동기 [완] 3. App, Title [완] 해야할 일 ㅡ> 플레이어가 총을 쏘는건 아니다 플레이어가 애니메이션으로 어택을 하면 메인에다가 알려줘서 총을 쏘고 메인은 Pool에서 총을 빌려온다. BulletPoolManager using System.Co..

유니티 심화 2023.08.30

절대강좌 유니티 - 라이트매핑 및 라이트 프로브, 씬 관리, 동기 비동기

Generate Lightmap UVs 옵션 Contribute GI 플래그 Ambient Occlusion - 어두운 곳은 더 어둡게 Lightmap Resolution - 라이트맵의 품질 설정 씬관리 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.SceneManagement; using UnityEngine.UI; public class UIManager : MonoBehaviour { [SerializeField] private Button btnStart; [SerializeField] private ..

유니티 심화 2023.08.30

[복습] HeroShooter - 스테이지1

스테이지 1 1. 마우스를 뗐을 때 총을 한발씩 딜레이 (0.5초) 주고 발사하기 [모르겠는데 발사는 함/ 애매한 완성] 2. 몬스터 피 설정하기 [완] 3. 몬스터 피격애니메이션 설정하기 [완] 4. 몬스터 피 0 이하면 2초뒤 죽기 [완] 5. 텍스트 변경 및 문 열기 [완] 6. 몬스터 밀치면 밀쳐지기 [미완] 7. 플레이어 죽으면 회색화면 및 죽어도 게임오버되지않고 살아남[미완] 8. 스킬 선택창 [미완] 9. 이동할 때 캐릭터 앞에 DrawArrow가 조그마한게 생기는거같음 [미완] --- 고민 --- 총알 나가는 방식을 오브젝트 풀링으로 바꿀지 고민이다. 총을 어떻게 딜레이 주고 발사하는지 잘 모르겠다. elapsedTime으로 하고있긴하지만 발사하기전에 마우스로 움직여버리면 elapsedTi..

[복습] SpaceShooter2D - 적 비행기 피격시 애니메이션, 총알 삭제

MonsterController using System.Collections; using System.Collections.Generic; using UnityEngine; public class MonsterController : MonoBehaviour { //애니메이션 가져오기 private Animator anim; //몬스터체력 private int hp = 3; public int Hp { get { return this.hp; } } //최대체력 private int maxHp; // Start is called before the first frame update void Start() { this.anim = this.GetComponent(); //최대체력넣기 this.maxHp = h..