본문 바로가기
728x90
반응형

PROGRAMING📚/Unity📑109

[유니티 Unity] 스크립트를 이용하여 Text Color 변경하는 방법 인스펙터 안에서 텍스트 Color값 변경하기 스크립트를 이용해서 UI Text의 색상을 변경하기 위해서는 인스펙터창 안에서 를 넣어서 다음과 같이 텍스트 색상을 변경 할 수도 있으나 해당 글은 스크립트를 사용해서 버튼을 눌렀을 때 원하는 색상으로 바꾸는 방법을 알려드리려고 합니다. 일단 새로운 스크립트를 하나 만들어서 버튼을 눌렀을 때 색상이 변해야 하기 때문에 그에 맞는 스크립트를 작성해 줍니다. Hex code를 이용해서 RGBA color값 변경하기 아래의 사이트에서 원하는 색상의 Hex code를 찾아서 newColor_code의 string에 적어주시고 버튼안에 적용해주면 됩니다. public Text btn_txt; Color newColor; string newColor_code; publi.. 2022. 5. 27.
[유니티 Unity] LineRenderer를 이용해서 선 긋기 LineRenderer를 이용해서 선 긋기 스크립트를 짜기 전에 먼저 빈 게임 오브젝트를 하나 만들어서 빈 오브젝트 안에 LineRenderer 와 Edge Collider 컴포넌트를 넣어줍니다. 그리고 Material을 새로 하나 생성해서 Line Renderer의 Materials에 넣어주세요. 그런 다음 빈 오브젝트를 프리팹화 시켜주시면 됩니다. 스크립트 생성하기 프리팹까지 해주었으면 이 프리팹을 생성해서 클릭할때마다 Line을 그려주어서 그림을 그려주는 형식이기 때문에 스크립트를 하나 생성해서 다음 코드를 입력해주세요. //그림 그리는 함수 public void DrawLine_Start() { StopCoroutine(_DrawLine_Start()); StartCoroutine(_DrawLin.. 2022. 5. 26.
[유니티 Unity] DateTime 선언/ 정의/ 속성 값 예제 정리 DateTime 구조체는 날짜와 시간을 표시하기 위해서 사용합니다. DateTime을 사용하기 위해서는 [ using System; ]을 선언 해주어야 합니다 . DateTime 요소(예: 연도, 월, 일 또는 틱 수) //생성자를 사용하여 특정 날짜를 만듬 var date1 = new DateTime(2008, 5, 1, 8, 30, 52); Console.WriteLine(date1); //현재 날짜를 가져옴 xxxx년 xx월 xx일 DateTime currentDate = DateTime.Now; string currentDate_str = currentDate.ToString("yyyy-MM-dd"); DateTime.Date 속성 동일한 날짜를 갖고 시간 값이 12:00:00 자정(00:00:0.. 2022. 4. 13.
[유니티 Unity] 유니티 Google Play Plugins 다운 사이트 요즘에는 구글 콘솔에서 앱을 출시하기 위해서는 apk를 뽑아서 업로드 하는 것이 아니라 .aab파일로 뽑아야지 업로드가 가능하다. abb파일을 뽑기위해서는 google-play-plugins-1.7.0.unitypackage 가 필요하다고 한다 https://github.com/google/play-unity-plugins/releases Releases · google/play-unity-plugins The Google Play Plugins for Unity provide C# APIs for accessing various Play services - google/play-unity-plugins github.com 위 사이트에 들어가면 해당 패키지를 다운받을 수 있다. 패키지를 다운받고 나면 이.. 2022. 3. 23.
[유니티 Unity] 비속어 리스트(.txt)파일을 이용해 비속어 필터 만들기 비속어 리스트(.txt)파일을 이용해 비속어 필터 만들기 새로운 유니티 프로젝트를 생성하여 다음과 같이 비속어가 들어가 있는 텍스트파일을 프로젝트 안에 넣어줍니다. 버튼을 클릭 했을 때 string path = Application.dataPath + @"\fword_list.txt"; 비속어가 들어가 있는 텍스트파일의 위치를 string path 안에 넣어주고 string[] textValue = System.IO.File.ReadAllLines(path); ReadAllLines을 사용하여 텍스트 파일의 텍스트를 String 배열안에 넣어준다. 비속어 리스트안에 있는것과 입력을 받은 텍스트를 비교해서 리스트에 해당하는 언어가 있는 경우 [사용 할 수 없음]을 표시하고 해당하는 언어가 없는 경우 [사용.. 2022. 3. 23.
[유니티 Unity] 유니티로 화면 캡쳐하기 <SimpleCapture> 유니티로 화면 캡쳐하기 유니티 화면 간단 캡쳐 도구 패키지를 다운 받으면 다음 처럼 창이 생깁니다. 클릭하면 스크린 샷을 사용할 수있는 속성창이 나옵니다. 캡처를 원하는 카메라를 컴포넌트에 넣어주고 캡처 버튼 눌러주면 끝! 저장된 스크린샷은 Asset/ScreenShot에 저장됩니다. 출처, https://twitter.com/_Curiss/status/1428319187387121668 2021. 12. 22.
[유니티 Unity] 디클태블릿(안드로이드 10)에서 영상 재생이 안되는 경우 안드로이드 10에서 비디오 영상 재생 안되는 경우, 기종: 디클태블릿 현재 유니티 버전 : 2019.4.26 다음과 같이 작성해주면 된다하는데... 제대로 되지않고 있음 .... public VideoPlayer video; void Start() { video.url=Application.streamingAssetsPath+"/[파일이름].mp4" } 출처 : https://validming99.tistory.com/94 저는 RawImage에 비디오를 재생시키는 형식으로 사용하고있는데... url형식으로 바꿨을 경우에 비디오가 끝나는 구간을 찾지못해서 해매고 있음... 다음과 같이 비디오 플레이어를 직접 선언해주면 해결된다는데..... 작성은 해보았으나.. 원하는 구현과 의도가 달라서 사용 못해봄 [.. 2021. 12. 14.
[유니티 Unity] Toggle 이용해서 선택 창 만들기 두개의 toggle 오브젝트를 만들어준다. 입금을 눌렀을 때, 기본 토글 버튼의 경우는 입금과 출금 모두 선택 되게 되어있다. 현재 내가 구현하려고 하는 기능은 입금을 눌렀을 경우, 입금 창이 뜨고 출금 창을 눌렸을 경우에는 출금만 가능한 기능을 구현하기 위해서 빈 게임 오브젝트 안에 Toggle Group 컴포넌트를 넣어주고 스크립트 안에 다음과 같이 작성해 주었다. public Toggle setupToggleCurrentSeletion { get { return setupToggleGroup.ActiveToggles().FirstOrDefault(); } } 'setupToggleGroup.ActiveToggles().FirstOrDefault(); 는 유니티 토글 그룹에서 선택된 토글을 가져오게 .. 2021. 12. 9.
[유니티 Unity] Build - error: gradle build failed 처음 생성한 유니티 버전 2020.3.23 을 사용하다 2020.1.14 로 버전을 다운그레이드 하였더니 다음과 같은 빌드에러가 생겼다 해결 방법은 다음과 같다. Custom Base Gradle Template 체크 체크하면 다음과 같이 Plugins폴더와 Android 폴더가 생기는 것을 볼수 있고 해당 폴더 안에 들어있는 [baseProjectTemplate]를 볼수 있다. [baseProjectTemplate]를 열어 classpath 'com.android.tools.build:gradle:4.0.1' 이부분을 classpath 'com.android.tools.build:gradle:3.4.0' 으로 수정하였더니 다음 빌드 에러가 사라졌다. 2021. 12. 9.
[유니티 Unity] Unity URP에서 Letterbox 사용하기 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering; ​ public class CameraResolution : MonoBehaviour { public void onSetting() { Camera camera = GetComponent(); Rect rect = camera.rect; float scaleheight = ((float)Screen.width / Screen.height) / ((float)9 / 16); // (가로 / 세로) float scalewidth = 1f / scaleheight; if (scaleheight < 1) { rect.he.. 2021. 11. 29.
[유니티 Unity] 유니티 빌드 파일, 설치 프로그램으로 만들기 ( Inno Script Studio ) [ Inno Script Studio 설치 방법 ] 설치 파일을 만들기 위해서 일단 다음 사이트에서 Inno Script Studio를 설치해주어야한다. Inno Setup 프로그램 다운로드 사이트 ▷ jrsoftware.org/isdl.php Inno Setup Downloads ISCrypt.dll Netherlands 1,279,772 2004-04-27 --> 2.5 KB Encryption module for Inno Setup.To install, simply place the file in your Inno Setup directory. jrsoftware.org 사이트를 들어가서 스크롤을 내려보면 다운로드 사이트가 있다. 여기서 하나를 설치해 주면된다. 설치가 끝나고 나면 밑에 파일을 다운.. 2021. 4. 7.
[유니티]쉐도우 / 라이팅 보호되어 있는 글 입니다. 2021. 4. 2.
[유니티 Unity] DontDestroyOnLoad 유니티에서 씬을 이동하여 장면을 변경하거나 공간을 변경하는 경우가 생기는데 씬을 이동할 경우, 기존 씬에 존재하는 데이터들이 모두 사라지고 정보를 가지고 올 수 없게 된다. 유니티 현재 씬에 존재하는 데이터를 다음 씬을 이동했을 때에도 사용하고 싶은 경우, [ DontDestroyOnLoad ] 를 사용하여 오브젝트가 사라지는것을 방지하고 다음 씬에서도 사용할 수 있도록한다. [사용법] private void Awake() { DontDestroyOnLoad(gameObject); } 2021. 2. 15.
[유니티 Unity] 오브젝트 회전(Quaternion(쿼터니언)/Euler angle(오일러 각)) Quaternion(쿼터니언) 게임 오브젝트의 방향 또는 회전을 나타내기 위해 사용할 수 있다. 내부적으로 4개의 값으로 이루어지며 각 성분은 축이나 각도를 의미하는 것이 아니라, 하나의 벡터(x,y,z)와 하나의 스칼라(w)를 의미하고 있다. Euler angle(오일러 각) 절차적으로 적용되는 x,y,z의 각도 값 3개로 표시 된다. 3차원 공간의 절대좌표를 기준으로 특정 게임 오브젝트에 오일러 회전을 측정하는 방식 이다. 2020. 10. 29.
[유니티 Unity] 오브젝트 거리 체크< Distance/Magnitude/SqrMagnitude > 오브젝트 간의 transform position 거리 체크 방법 1. Distance Vector3.Distance(a,b)는 a와 b 사이의 거리를 측정한 것이다. //(a-b).magnitude와 같은 역할을 한다 2. Magnitude Vector의 길이를 반환 하고 읽기 전용이다. 1번과 2번은 정확한 거리를 알고 싶을 때 사용된다. 3. SqrMagnitude Vector3.sqrMagnitude 또한 거리를 a,b사이의 거리를 체크한다. 루트 연산을 하지 않으므로, 연산속도가 빠르다. 하지만 정확한 거리가 측정되지 않기 때문에 정확한 거리는 몰라도 되고 거리를 비교할 때 사용된다. 2020. 10. 29.
[유니티 Unity] Unity Defines 전처리기 유니티는 하나의 프로젝트로 여러가지 플랫폼 빌드가 가능한 멀티 플랫폼이 가능하기 떄문에 각기 다른 플랫폼 적용이 쉽지 않다. 안드로이드, IOS, 윈도우 각각 플랫폼 마다 적용해야하는 코드가 다를 수 있다. 플랫폼이 바뀔때 마다 스크립트를 각각 별도로 만들어야하고 동적으로 플랫폼을 확인한 후에 컴포넌트를 추가 해야한다. 이럴 때 사용 하는 것이 전처리기이다. [유니티에서 지정해 놓은 전처리기] Define 기능 각 플랫폼 또는 특정 버전에 특화된 코드를 처리할 떄 매우 유용한 방법이다. 1. #if #elif #else #endif - #if(UNITY_ANDROID) : 안드로이드 플랫폼일경우 - #if(!UNITY_ANDROID) : 안드로이드 플랫폼이 아닐경우 - #if(UNITY_ANDR.. 2020. 10. 28.
[유니티 Unity] 해상도에 따른 화면 비율 유지하기(레터박스 생성하기) 보호되어 있는 글 입니다. 2020. 10. 28.
[유니티 Unity] Transform 선형 보간법 이란? 끝의 값이 주어졌을 때 그 사이에 위치한 값을 추정하기 위해서 직선 거리에 따라 선형적으로 계산하는 방법이다. 예를 들어, 두 끝점이 주어졌을 때, 두 점 사이의 값을 알기 위해 선형 보간법을 사용 할 수 있다. float a = 시작 값. float b = 끝 값.float value = 시작과 끝 사이의 값. Mathf.Lerp Vector3.Lerp(A,B,Value) -> Value(0~1)량 만큼 A와 B를 선형보간한다. (%으로 리턴)//일반적으로 위치 값을 보간할 때는 선형보간을 사용한다. Vector3.Slerp(A,B,Value) -> Value(0~1)량 만큼 A와 B를 구간보간한다. //일반적으로 방향 값을 보간할 때는 구면보간을 함 Mathf.InverseLerp.. 2020. 10. 28.
[유니티 Unity] 유니티 안드로이드 빌드 시, 라이트 문제 유니티로 작업을 하고 빌드를 했을 때 유니티 자체에서는 아무런 문제 없던 라이트가 안나오는 경우가 있습니다. 이럴 경우에는 상단 메뉴 Window >Lighting 속성창을 열어줍니다. 속성 창을 열어서 보면 Auto Generate라는 부분이 켜져있는 상태 일 경우, 체크를 해제 해주시고 Generate Lighting을 한번 눌러주시고 빌드를 다시 해보시길 바랍니다. 2020. 8. 21.
728x90
반응형