Unity/Asset 분석 37

[RTS Engine] 공격에 반응하지 않게 하기 & 반응 후 처리

다른 짓은 해도 소용없고.. 1. 다른 유닛이 아예 타겟에 잡히지 않도록 하기 1번과정을 해도, 전체적인 AI 시스템에 의해서 유닛전체가 특정 명령을 받게 된다. 2. 복귀 지점 코드 NPCDefenceManager.cs /// /// Sends units back to their creator buildings if it exists, else send them back to their capital building or initial faction start position. /// /// IEnumerable instance of Unit instances to send back. public void SendBackUnits (IEnumerable units) { //go through the u..

Unity/Asset 분석 2022.06.18

[RTS Engine] 현재 Scene에 Spawn된 Unit Instance접근

FactionManager.cs public class FactionManager : MonoBehaviour { // ... //The lists below hold all different types of units. private List units = new List(); //list containing all the units that this faction owns. // ... FactionManager에 다 있음. CustomEvent에서 Unit이 Create되거나, Destroy될때 리스너를 받아서 자체적으로 업데이트. GameDataManager.cs private bool InitSinglePlayerGame() { // ... //This where we will set the N..

Unity/Asset 분석 2022.01.08

[RTS Engine] MainCamera와 MinimapCamera 비교

Camera Flags Solid Color : 배경을 단색으로 채움 Depth only : 빈공간 투명처리 Depth 값이 클수록 더 앞쪽 [Unity]UI 카메라와 메인 카메라 사용하기(UI Camera + Main Camera) -카메라를 하나 더 추가(UICamera) -캔버스와 버튼을 추가(Image는 구분을 해주려고 Background) UI를 왼쪽 Scene View를 오른쪽으로 둘 계획 MainCamera의 ViewPort Rect를 보면 X : 0.15 Y : 0 W : 0.85 H : 1.. guks-blog.tistory.com ClearFlag Unity - Scripting API: Camera.clearFlags Success! Thank you for helping us imp..

Unity/Asset 분석 2021.07.16

[RTS Engine] 코드로 Unit 움직이기

코드로 Unit 움직이기 사용자가 조작하는거 말고 [SerializeField] Unit unit; [SerializeField] GameManager gameMgr; [SerializeField] Transform target; void Start() { gameMgr.MvtMgr.Move(unit, target.position, 0.0f, null, InputMode.movement, false); } MovementManager의 Move method를 이용한다 MovementManager는 GameManager안에 들어있으므로 쟤를 쓸 때 GameManager를 통해 호출하는 것이 편리함. public ErrorMessage Move(Unit unit, Vector3 destination, flo..

Unity/Asset 분석 2021.07.15

[RTS Engine] 초기 카메라의 위치

[추가] 아래 내용들의 근본적인 원인은 CameraController에서 MainCamera의 Transiton을 제한하고 있기 때문 [SerializeField, Header("General"), Tooltip("The main camera in the scene.")] private Camera mainCamera = null; //the main RTS camera public void Init(GameManager gameMgr) { // ... } private void Update() { UpdatePanInput(); UpdateRotationInput(); UpdateZoomInput(); lastMousePosition = Input.mousePosition; } private void ..

Unity/Asset 분석 2021.07.06

[Stylelized Projectile] 주요 Method

발사체 발사 구현은 ECprojectileActor.cs의 Fire() Code public void Fire() { // 카메라 쉐이킹 if(CameraShake) { CameraShakeCaller.ShakeCamera(); } // 총구 화염 Instantiate(bombList[bombType].muzzleflare, spawnLocatorMuzzleFlare.position, spawnLocatorMuzzleFlare.rotation); // 탄피 if (bombList[bombType].hasShells) { Instantiate(bombList[bombType].shellPrefab, shellLocator.position, shellLocator.rotation); } // 발사체 Rigi..

Unity/Asset 분석 2021.06.20