본문 바로가기

Unity47

ML-Agents : 에이전트, 브레인, 아카데미 Unity Scene 울타리가 유니티 내부, 그 외부에는 파이썬 프로그램이 유니티와 독립적으로 이루어짐 유니티는 강화학습을 하기 위한 환경을 마련 즉, 학습을 위한 환경과 학습에서 무언가 실제로 실행하는 Agent들을 유니티에서 제공하고 그 Agent가 무엇을 해야할지 결정하는 것은 유니티 밖에 있음. 유니티 내부의 Agent들은 관측된 정보를 Brain, Academy를 통해서 외부에 있는 파이썬 프로그램으로 보내고 외부에 있는 파이썬 프로그램은 모델, 관측된 환경에서 무엇을 선택해야할지에 대한 정보를 Academy를 거쳐 Brain으로 보냄. 그럼 Brain에서 다시 Agent로 보냄 에피소드는 드라마 한편이나 게임의 한 라운드로 비유할 수 있고, 환경이 리셋되는 분기이기도 함. 유니티 머신러닝 ML.. 2021. 8. 10.
코루틴 WaitUntil yield return new WaitUntil(() => 조건); 괄호 안의 조건이 true가 되면 구문 실행 https://docs.unity3d.com/ScriptReference/WaitUntil.html Unity - Scripting API: WaitUntil docs.unity3d.com - Suspends the coroutine execution until the supplied delegate evaluates to true. - WaitUntil can only be used with a yield statement in coroutines. - Supplied delegate will be executed each frame after script MonoBehaviour.Updat.. 2021. 8. 5.
오디오 믹싱 + 최종 빌드 BGM을 만들자 BGM 때문에 효과음이 묻힌다. 효과음이 나올 때는 배경음을 줄이고 싶다! 그게 바로 오디오 믹싱 오디오 믹싱이란, 여러가지 사운드가 있을 때 그 사운드를 서로 적절히 조화시키는 것을 말함. 1. Window - Audio Mixer 2. + 버튼 눌러서 MainMix 파일 만들어줌 Group은 여러가지 채널을 나누는 것. 즉 Group은 오디오가 출력되는 통로! 해당 통로에 effect를 적용해주면 그 effect가 적용된 채로 최종 통합이 됨 3. Group에 + 버튼 눌러서 두개 채널 만들어줌 1) BGM 2) SFX 이 두개는 오디오들이 출력되는 통로가 됨 즉 오디오들이 나올 때 그냥 나오는 것이 아니라 BGM, SFX를 거쳐서 나옴 4. BGM으로 들어가서 Audio Source.. 2021. 7. 22.
게임 매니저, PlayerPrefs * UI Canvas 만들기 (EventSystem은 지우기) Canvas Scalar - Mode, Pixel Size 수정 Constant Pixel Size: 해상도가 아무리 변해도 UI 크기 변하지 않음, 해상도가 너무 크면 UI가 작게 보임 Scale With Screen Size: 기준 해상도에 맞춰 UI 배치하면 됨. 그 이후에 다른 해상도 나오면 유니티가 알아서 Scale Up, Down해줌, 그래서 UI 요소들이 흐릿하게 깨지는 일 발생하지 않음 Canvas의 자식으로 UI - Panel 추가후 Rect tool 사용해서 사이즈 조절 : 정보 띄워주는 용도 : Panel 이름 info Bar로 수정 info Bar 자식으로 text 2개 만들어주기 + info Bar에 Add Compon.. 2021. 7. 22.
카메라 추적 Main Camera - Projection - Orthographic Perspective: 소실점이 존재, 하얀색 실선이 뷰의 투영선인데 이 투영선이 한 점으로 모임 소실점이 존재해서 멀리 있는건 작게보이고 가까이 있는 건 크게 보임 Orthographic: 소실점이 존재하지 않음, 카메라의 모든 선들이 평행하게 들어옴 가까이 있는 물체나 멀리 있는 물체나 크기가 똑같이 보이고 2d 게임에서 사용하는 방법. 원근감이 없음. 3d 게임에서 Orthographic을 사용하면 원근감이 없어보여서 독특한 아트가 나옴. 카메라 위치 조정 카메라 스크립트 역할: 자기자신의 위치를 원하는 위치로 갖다 붙여버림. 이렇게 되면 문제점이 카메라가 어떤 물체랑 딱 붙어있으면 그 물체가 안보임. 즉, 카메라를 어떤 오브젝.. 2021. 7. 22.
랜덤 오브젝트 생성기 만들어야 할 것: 라운드가 시작될 때 마다 프롭이 정해진 범위 내에서 랜덤하게 정해진 갯수만큼 찍어나오는 것 1. 빈 게임 오브젝트로 SpawnGenerator 만들기 2. 범위를 지정하기 위해서 Box Collider 사용 여기서 Box Collider의 역할은 충돌체로써의 역할이 아니라 그저 시각적으로 볼 수 있는 초록색 바운더리(Spawn 범위)를 만들어주기 위해 사용하는 것 3. SpawnGenerator 사이즈 늘려서 스폰 범위 만들어주기 4. Box Collider의 is Trigger 체크해서 Spawn 한 오브젝트들이 서로 밀어내지 않기 위해 (Trigger한 오브젝트는 다른 물체가 뚫고 지나갈 수 있어서) 브젝트들을 강제로 밀어내지 않게 해줌 5. SpawnGenerator에 새로운 스크.. 2021. 7. 22.