분류 전체보기 613

Mobile에서 터치 드래그 구현

드래그를 하면 카메라가 이동하는 코드. RTS게임의 Top View에서 땅을 잡아 끌면 화면이 이동하는 효과를 위해 구현 ① TouchCount : 모바일 디바이스 디스플레이에 손꾸락이 몇개 올려져 있는가? ② Input.Touch(2) : 이거면 3번째로 올라온 손가락을 의미 예제 코드 using UnityEngine.UI; using UnityEngine; public class TouchInput : MonoBehaviour { private float Speed = 0.25f; private Vector2 nowPos, prePos; private Vector3 movePos; public Transform player; public Text text1; public Text text2; publ..

에셋 번들 (Asset bundle) & 어드레서블(Addressables)

Google Play console을 거치지 않고, 파일들을 업데이트 할 수 있는 방법 = Asset Bundle ① 에셋번들은 쪼개서 관리해야 빌드도 빠르고 다운로드도 빠르고 관리도 편함 ② 에셋번들을 개선한 어드레서블(Addressables) 이라는 것이 새로 나옴. 이걸 쓰자 어드레서블 에셋 시스템 - 개념: 등장 배경, vs 에셋번들 샘플 프로젝트 https://github.com/Unity-Technologies/Addressables-Sample bit.ly/AddressablesAssets 등장 배경 어드레서블은 에셋번들을 토대로 설계된 시스템이다. 완전히 새롭게 만들어진 것이 아니라 에셋.. planek.tistory.com 어드레서블 에셋 시스템 | Unity Blog 어드레서블의 주된 ..

[RTS Engine] 공격 사거리

당연히 있어야 될 것 같은 사정거리라는 변수가 없어서 어떤 구조인지 파악하기가 힘들었다. ① 상대편 유닛을 공격할때 사정거리를 설정하는 경우 (Unit Stopping Distance) Unit Stop Distance 값을 조정 Unit/Building Stopping Distance: When moving towards a target unit/building, this field is the minimum and maximum allowed stopping distance value for that movement. 일단 Max가 사정거리. 코드 보면.. (min=true) Max거리 밖에서 적을 마우스로 직접 찍으면 Min 거리에 가서 쏨 (min=false) 이외에는 Max거리까지 가서 쏘거나 ..

Unity/Asset 분석 2021.06.04

[RTS Engine] Unit Attack 공격 딜레이

Unit Attack (유닛에 넣는 컴포넌트)의 Range Use Reload: 재장전 허용할건가? Reload Time: 공격 스킬 쿨타임(1이 되어야 의미가 있음) http://soumidelrio.com/docs/unity-rts-engine/attack-behavior/unit-attack-range/ Unit Attack Range The Unit Attack Range is a field that allows different attack range parameters for an attack unit. This field can be found on the following components: Unit/Building Stopping Distance: When moving towards a..

UnityEvent 클래스

UnityEvent C#의 Delegate인데 Unity용으로 만든 것. MonoBehaviour를 상속받는 모든 클래스에서 사용할 수 있고, UnityEvent 변수를 선언하면 인스펙터에 표시되고 영구적 콜백을 추가할 수 있다. - 영구적 콜백(Persistant Callback)은 인스펙터(Inspector)에서 등록해준 콜백으로, 런타임에서는 수정(등록/제거)할 수 없다. - 비영구적 콜백은 코드에서 등록해준 것이며 런타임 중에 수정이 가능. using UnityEngine; using UnityEngine.Events; public class UnityEventTest : MonoBehaviour { public UnityEvent unityEvent; void Start() { // Callba..

[RTS Engine] AttackObject의 Mesh가 재생성 되지 않을 때

캐터펄트로 실험을 했는데, 첫 1회만 돌이 날아가고 그다음부터는 Particle Effect만 보이고 돌은 안날아감. 날아가는 물체는 Effect Obj, Attack Object 컴포넌트를 가져야 함. Effect Obj Pool 구성 요소는 맵에서 효과 및 공격 오브젝트에 대한 Pool 역할을합니다. RTS Engine 메뉴 편집기를 사용하여 새지도를 만들 때이 구성 요소는 "AttackManager"라는 개체에 연결됩니다. Code: Make sure that every effect object has a unique code so that the effect object pool can distinguish between different effect objects. Enable Life Time..

Unity/Asset 분석 2021.06.02

[RTS Engine] 유닛의 Select 범위

유닛이 너무 작거나 하여 선택하는게 잘 안될경우 SelectionObj -> BoxColider의 범위를 넓혀준다. UnitTargetPos 오브젝트의 역할 그룹 이동시 유닛들의 움직임을 정의할때 사용됨. 문서에서 못찾겠어서 인터넷에서 찾았더니 제작자가 남긴 글을 찾음. 문서에 있다는디 문서에 없는거같은데? Target Position Collider: A Collider Component that is attached to an empty object, child of the main unit object. The Collider must have "Is Trigger" enabled and its size must approximate the area that the unit occupies on t..

[RTS Engine] 유닛 공격(Attack)

투석기(Catapult)의 경우, 아래 경로에 유닛 정보가 있음. ① 유닛에다가 Unit Attack 컴포넌트를 넣는다. ② Sources에 날아가는 물체를 넣는다. ③ 날아가는 물체가 되려면, Attact Object 컴포넌트를 넣는다. ④ Hit Effect는 충돌시의 특수효과 ⑤ 특수효과과 되려면 Effect Obj가 있어야 함. 유닛에 들어있는 Unit Ragdoll Effect 공격을 하지 않을 때 CheckList ① Peace Time 확인 ② Unit Attack 컴포넌트의 Source에서 AttackObjSource를 확인

Unity/Asset 분석 2021.05.31

[RTS Engine] 편(Faction) 설정하기

이 에셋에서 Faction이라는 개념으로 편을 나눈다. (파벌이라는 뜻) ① Faction에 대한 전체적인 설정은 GameManager에서 함 ② Add 누를때마다 Element가 하나씩 생김 ③ 초기유닛을 설정 Game Manager The Game Manager is the component that handles the faction initialization in the map and some other general settings for the game. This is the main script that connects each component with each other. When creating a new map using the RTS Engine menu, thi soumidelri..

Unity/Asset 분석 2021.05.31

[RTS Engine] There's more than one faction labeled as player controlled.

[Game Manager]: There's more than one faction labeled as player controlled. UnityEngine.Debug:LogError (object) RTSEngine.GameManager:SetPlayerFaction () (at Assets/RTS Engine/Game Managers/Scripts/GameManager.cs:362) RTSEngine.GameManager:Awake () (at Assets/RTS Engine/Game Managers/Scripts/GameManager.cs:176) Solution GameManager에서 Player Controlled가 한 Element에만 적용되어 있어야 한다.

Unity/Unity 이슈 2021.05.31

[잡담] 유니티 공부를 하면서

처음 유니티를 접한 것은 대학교 4학년때. 디자인조형학부에서 진행중이던 프로젝트 때문이었다. 게임을 만들었었다. 뚜룬(dduroon):심쿵 고양이 음악 게임 - Google Play 앱 귀여운 고양이와 함께하는 1초 예능 음악 게임! play.google.com 당시 게임회사에 갈 생각은 전혀 없었기에 나중에 쓸 일도 없는 유니티를 공부하면서 결과물을 만들어야하는 현실에 스트레스를 받았었다. 유니티가 엄청 어려운건 아니지만 프로젝트의 볼륨이 꽤 컸기에 공부해야 할게 꽤 있었다. 어자피 이거 하고나서 이후에 쓸 일도 없을 거니까. 그리고 2년이 흘러.. 지금은 유니티를 사용하는 업무를 하고있다. 아마도 나의 파트 빼고는 회사전체에서 거의 쓰는 사람이 없을 것이다. 요즘은 취미로 게임을 만들고있다. 인생은 ..

Unity 2021.05.30

[Dynamic Water Physics] Lux Water에 적용하기

Dynamic Water Physics는 물에서의 움직임(운동)을 위한 패키지이고, Lux Water은 물 표면의 시각적효과를 위한 패키지. 둘을 함께 적용하는 방법 ① LuxWaterDataProvider.cs.txt 에서 txt제거. ② asmdef(assembly definition) 파일 수정 Due to inclusion of assembly definitions into this asset with v2.4 an additional step is required when setting up 3rd party water assets. The asset either needs to be referenced inside NWH.DWP2.asmdef or all the .asmdef (assembly..

Unity/Asset 분석 2021.05.30

리플렉션 프로브(Reflection Probe)

설명1 : 리플렉션 프로브 : 해당 오브젝트를 배치하여 구역 내에 주변 static오브젝트들을 캡처하여 큐브 맵 데이터로 활용하는 기능. 설명2 : 리플렉션 프로브(Reflection Probe)는 둘러싼 모든 방향의 구면 표시를 캡처하는 카메라와 같은 것으로 보면 됩니다. 캡처된 이미지는 Cubemap로 저장되어, 반사 재질을 가지는 객체에서 사용할 수 있습니다. [UNITY] 리플렉션 Reflection Reflection 반사를 구현하기 위해서는 여러 방법들이 있다. 큐브 맵을 쓴다거나 포스트 프로세싱을 쓴다거나 리플렉션 프로브를 쓴다거나 등등 이 방식들은 모두 실시간 반사가 아닌 그럴듯하게 bornsoul.tistory.com 유니티 - 매뉴얼: 리플렉션 프로브 리플렉션 프로브 A 리플렉션 프로브..