
[유니티(unity)/ARFoundation] ARCore/AR파운데이션 설치 Helloworld(헬로우월드) Unity 2021.1.3f1 기준으로 작성되었습니다. 1. 프로젝트 생성 2.프로젝트 빌드타입 [Android] 변경 3.Package Manager에서 ARCore XR Plugin, ARFoundation 설치 4.[File]-[Build Settings]-[Android]-[Player Settings]로 이동하여 Graphic APIs Vulkan 제거 Identification Minimum API Level [Android 7.0 'Nougat' (API level 24)] 선택 Configuration Scripting Backend [IL2CPP] 로 선택 Target Archi..

[유니티(unity)/Canvas Scaler] 화면 비율 유지, 반응형 디바이스 대응 유니티 Canvas는 기본적으로 Constant Pixel Size로 되어있어서 반응형에는 맞지 않게 되어있다, 그래서 UI작업시 반응형에 대응하려면 Scale With Screen으로 변경 후 작업을 진행해줘야한다. 위에 사진과 같이 [Scale With Screen Size]를 택하면 기본적으로 해상도에 있어서 반응형 다양한 디바이스 대응이 가능하다. 하지만 비율이 다르기때문에 기준이 필요하다 그렇기때문에 [Screen Math Mode]옵션에서 기준을 정할 수 있다. [Screen Math Mode] -Match Width or Height (가로 or 세로를 기준으로 정한다) -Expand (오브젝트를 기준으로..

유니티를 개발하다보면, 텍스트 영역을 고정해두지 않고, 입력할때마다 동적으로 변화하여 적용해야되는 경우가 많다. 그럴경우 [Content Size Fitter]를 추가해준 후 Horizontal Fit(가로 영역) / Vertical Fit(세로영역) 중에 원하는 영역에 [Preferred Size] 으로 선택하여 주면된다. #Content Size Fitter #유니티 #unity #resize #dynamic size #object resize #text dynamic size #텍스트 동적영역 #콘텐츠 사이즈 피터 #컨텐츠 사이즈 피터

[유니티(unity)] animation Controller 에서 되감기(rewind)하는 법 유니티에서 모델링을 하다보면, 재생 후, 되감기, 역재생, 리와인드를 해야하는 경우가 있다. 일일히 모델링을 분리하지 않고, 되감기를 통하여 유용하게 사용되고 리소스를 절약 할 수 있다. 그림에서 [Speed] 부분을 양수면 기본방향 음수면 되감기로 진행됩니다. #unity #rewind #되감기 #반대로재생 #역재생 #animation controller #animator #speed property
[SerializeField] CharacterController cc; float hAxis; float vAxis; Vector3 moveVec; void Start() { cc = GetComponent(); } void Update() { hAxis = Input.GetAxisRaw("Horizontal"); vAxis = Input.GetAxisRaw("Vertical"); moveVec = new Vector3(hAxis, 0, vAxis); cc.Move(moveVec * 5.0f * Time.deltaTime); } [요약] Input.GetAxisRaw 를 활용하여 벡터값 생성 후 Move 함수 호출 키보드값*speed*DeltaTime #unity #유니티 #CharacterContro..

[유니티(unity) / 프로그래스바] 가장 쉬운 프로그래스바 구현 Canvas에서 image 객체를 겹쳐서 2개 생성한다. 하위에 있는 이미지의 컬러를 변경 후 연결 된 스크립트를 생성한다. 스크립트에 public class progressbar : MonoBehaviour { //프로그래스 바 밸류(두번쨰 이미지) [SerializeField] RectTransform pb; //프로그래스 바 컨테이너 껍데기(첫번째 이미지) [SerializeField] RectTransform pbContainer; //프로그래스 값 float pbValue; void Update() { //시간 마다 값을 증가시킨다. pbValue += (Time.deltaTime*500); //값이 최대치에 이르면 초기화시킨다..
[유니티(unity)/C#] float 소수점 조절하기(Time.delta) 유니티에서 Time.delta값을 비교하기위해 소수점 자리를 조절하는 경우가 많다. 그럴경우는 소수점 자리까지 string으로 변환하여 다시 float으로 값을 리턴해주면서 사용해준다. float parsedot(float val) { var str = val.ToString("0.00"); return float.Parse(str); } val.ToString("0.0") - 소수점 첫째자리 val.ToString("0.00") - 소수점 둘째자리 이렇게 .(dot)뒤에 자리수에 따라 소수점 갯수가 결정된다. 다음과같은 함수를 만들어서 활용하면된다. #float #소수점 #조절하기 #소수점조절하기 #소수점버리기 #특정소수점만 ..
[유니티(unity)/캐릭터이동] CharacterController 이용한 캐릭터 이동 캐릭터의 이동은 유니티에서 제공되는 스크립트로 간단하고 유용하게 컨트롤된다. 희망하는 객체에 CharacterController를 추가한 후 [SerializeField] float moveSpeed = 5.0f; Vector3 moveDirection; private CharacterController characterController; private void Awake() { characterController = GetComponent(); } private void Update() { float x = Input.GetAxisRaw("Horizontal"); float z = Input.GetAxisRaw(..
유니티의 모든 rotation에 내부적으로는 Quaternion이 사용된다. 이를 Euler로 변환하여 사용하면된다. transform.rotation = Quaternion.Euler(x,y,z); x,y,z 각각 축에 맞는 회전을 넣으면된다. #transform.rotation #rotation #transform #Quaternion #Euler #Quaternion.Euler #회전 #객체회전 #객체 #오브젝트회전 #object rotation #
유니티에서 충돌처리 2가지가 있다. 콜라이더 이용방법 트리거 이용방법 콜라이더 이용방법 (isTrigger 비활성화 시) private void OnTriggerEnter(Collider other) { } private void OnTriggerStay(Collider other) { } private void OnTriggerExit(Collider other) { } 트리거(Trigger)이용 (isTrigger 활성화 시) private void OnTriggerEnter(Collider other) { } private void OnTriggerStay(Collider other) { } private void OnTriggerExit(Collider other) { } [유의할 점] is Tr..