일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- --watch
- Camera Movement
- screencapture
- MySQL
- nodejs
- draganddrop
- mongoDB
- Spring Boot
- Unity Editor
- linux
- Unity IAP
- Google Developer API
- Packet Network
- Git
- OverTheWire
- Google Refund
- Digital Ocean
- java
- server
- Camera Zoom
- rpg server
- docker
- unity
- critical rendering path
- SDK upgrade
- react
- spread 연산자
- springboot
- express
- css framework
- Today
- Total
목록Unity (26)
우당탕탕 개발일지
GPGS 2.0.0 을 넣고 빌드는 잘 되는데, 로그인 시도 시 아래 에러가 발생했다. 2025-06-13 10:26:51.144 5646 5687 Error Unity AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.PlayGames2025-06-13 10:26:51.144 5646 5687 Error Unity java.lang.ClassNotFoundException: com.google.android.gms.games.PlayGames2025-06-13 10:26:51.144 5646 5687 Error Unity at java.lang.Class.classForName(Native Meth..
커스텀 에디터를 사용하다보면, 리스트를 생성할때가 굉장히 많다. 리스트를 제작할때마다 필요하다고 느낀 기능들이 있다. ReorderableList는 UnityEditorInternal 네임스페이스에 포함되어 있는 강력한 유틸리티로, 리스트를 깔끔하고 편리하게 표시할 수 있게 해준다.+, - 버튼으로 삭제/추가하기드래그를 이용해 리스트 순서 변경하기using UnityEditorInternal; // 필수✅ 기본 사용법 예제SerializedProperty listProperty;ReorderableList reorderableList;void OnEnable(){ listProperty = serializedObject.FindProperty("myList"); reorderableList =..
핸드폰 전면에 있는 상단 카메라 , 그리고 아이폰의 경우 하단 막대기 부분 영역에 게임요소가 들어가지 않게 처리하는 방법에 대해 알아보자그리고, 노치영역이 이쁘게 나왔으면 좋겠으니까 데코이미지로 꾸미는 방법도 알아보자.참고로 , 이 노치 영역 처리는 메인 캔버스가 ScreenSpace - Camera일때 사용한다.. 왜냐하면 이 스크립트는 Camera의 영역을 조절하는 방법을 사용하기 때문이다노치영역 제외하기사용하는 메인 카메라에 다음 스크립트를 붙여넣는다.카메라가 노치영역을 아예 보여주지 않도록 설정하는 함수이다. using UnityEngine;[ExecuteAlways]public class SafeAreaCameraCrop : MonoBehaviour{ void Start() { ..
IOS 빌드하려는데 다음 에러가 발생했다. Building Library/Bee/artifacts/iOS/ManagedStripped failed with output:/Applications/Unity/Hub/Editor/2022.3.20f1/Unity.app/Contents/il2cpp/build/deploy/UnityLinker Unity Linker 에서뭔가 오류가 있는데, 상세한 로그는 찍어주지않는다.. 유니티 버전때문인지 SDK때문인지 이것저것 많이 해봤는데 해결되지 않았다. 해결방법유니티에서 콘솔창 오른쪽 클릭 > Editor.log 를 연 뒤 error 라는 키워드로 검색한 후 빌드를 해보면, 특정 스크립트에서 오류가 났다고 알려준다. 나의 경우 Player.cs 였다알고보니 Assert..

목표파일이름을 1_이름 포맷으로 저장하면, ID = 1로 자동으로 설정한다. 파일 이름을 수정할 경우 ID도 그에 맞게 변경된다.새로운 ScriptableObject를 생성할 때, 현재 정의되어있는ID들중 가장 큰 id + 1로 id를 새로 설정한다. GoldStatData에 적용을 해볼것이다. 원래 ScripatbleObject에 CreateAssetMenu라는 키워드를 붙여서 새로운 오브젝트를 생성할 수 있게 했었는데, 이부분을 제거해야한다. CustoemEditor 부분에서 구현해줄 예정이다.public class GoldStatData : ScriptableObject{ public int id;} GoldStatDataEditor 주요 코드using System;using System.Co..
enum 인 SkillElement 와, Class인 ElementBonus에 대해 다음과같이 dictionary로 선언된 변수를 커스텀에디터에서 설정하고싶었다. 그러나 딕셔너리는 커스텀에디터에서 자동으로 직렬화를 해주지 않으므로, 직접 직렬화를 해줘야 한다. private Dictionary> skillBonuses = new Dictionary>(); [System.Serializable]public class ElementBonus{ public int skillCount; public float bonus;}오늘은 이 dictionary를 커스텀에디터에서 수정하고, 직렬화/역직렬화 함수를 통해 데이터가 손실되지 않는 방법을 알아보겠다. 1. 두 개의 List 생성하기 에디터는 dict..
여러가지 성장 시스템에서 강화할 수 있는 내용을 다음처럼 BattleUpgradeEnum으로 한곳에 통합관리하도록 만들었다. public enum BattleUpgradeEnum{ //스탯강화 HpUp_Basic = 101, //... //스킬강화 SkillDamageIncrease = 1001, //스킬 데미지증가 DecreaseCoolTs = 1002, //쿨타임 감소 IncreaseBuffValue = 1003, //버프랑증가 //버프스킬 종류 Buff_PowerUp = 2001, //최종 공격력 증가} 커스텀에디터에서 강화내용을 선택할 수 있게 하는데, 각 분야에 맞는 타입으로 제한하도록 구현해보자.우선은 제한을 두기 위해 Descriptio..
scriptableObject를 사용하면서, SkillData를 상속받은 여러 종류의 스킬들을 정의했다(strikeSkill , rangeSkill, buffSkill등등..)나는 addressable을 로드하기때문에 각 scriptableObject의 addressable을 활성화하고 라벨을 설정해야하는데, 이걸 자동으로 설정하게끔 만들어보았다. OnEnable() 과 OnInspectorGUI() 호출시, addressable이 활성화되지않았다면 활성화 후 , 내가원하는 label을 지정해준다.라벨 설정할때, entry.label.clear()을 해주는데, 종종 동일한라벨이 여러개 설정되는 버그가 있어서 clear후 새로 넣어주는 방법으로 변경했다. using System;using System.Co..