진우의 혼잣말하는 블로그
close
프로필 배경
프로필 로고

진우의 혼잣말하는 블로그

  • 분류 전체보기 (636)
    • Unity (450)
      • Study (224)
      • VR (75)
      • AR (6)
      • Assets (39)
      • Fusion2 (9)
      • Shader (22)
      • 디자인패턴 (7)
      • Animations (7)
      • Editor (9)
      • Attribute (7)
      • VContainer (8)
      • Netcode for GameObjects (21)
      • Relay (5)
      • Lobby (11)
    • 진우의 포트폴리오 (23)
    • 나만의 꿀팁 (37)
    • Git 사용방법 (22)
    • AI (23)
    • 게임후기 (16)
    • 블렌더 (9)
    • 홍보 및 리뷰 (8)
    • 웹 개발 (27)
    • 정리 안 됨 (16)
    • 뉴스레터 (0)
  • 홈
  • 태그
  • 방명록

Null 조건부 연산자

널 조건부 연산자는 C# 6.0에서 부터 도입된 기능이다 ?. 가 하는 일은 객체의 멤버에 접근하기 전에 해당 객체가 null인지 검사하여 그 결과가 null이면 그 결과로 null을 반환하고, 그렇지 않으면 . 뒤에 지정된 멤버를 반환한다 class Food { public int num; } Food food = null; int? bar; bar = food?.num; food가 null이 아니면 member 필드에 접근하게 해준다

  • format_list_bulleted Unity/Study
  • · 2023. 2. 9.
  • textsms
Unity MeshCollider와 Rigidbody를 함께 사용하려면

Unity MeshCollider와 Rigidbody를 함께 사용하려면

MeshCollider와 Rigidbody를 함께 사용하려면 Is Kinematic을 켜줘야 한다 + 많은 초보자들이 Mesh Collider 실수 하는 경우가 있는데 Convex를 키면 콜라이더의 꼭짓점 수가 줄어든다고 해야 하나? 약간 꼭짓점과 꼭짓점만 콜라이더를 이어주기 때문에 Collider 설정이 이상하게 되는 경우가 있다 오브젝트 모양 그대로 Collider를 덮어주고 싶으면 키면 안된다 약간 최적화 때문에 그런듯?

  • format_list_bulleted Unity/Study
  • · 2023. 2. 3.
  • textsms
Unity Gizmos 사용 방법

Unity Gizmos 사용 방법

기즈모를 사용하는 이유는 에디터에서 보이는 필요한 정보를 시각적으로 노출시키기 위함이다 기즈므를 사용하면 개발에 용이한 도움이 된다 또한, 에디터에서만 처리되기 때문에 플랫폼에서는 노출되지 않는다 OnDrawGizmosSelected 오브젝트를 선택할 때 기즈모가 나오게 한다 OnDrawGizmos 매 프레임마다 호출된다 Gizmos에 사용되는 옵션은 다음과 같다 .color 색 변경 .DrawCube 큐브 생성 .DrawGUITexture 텍스쳐 생성 .DrawIcon 아이콘 생성 .DrawLine A~B (From A to B)로 향하는 라인 생성 .DrawMesh 매쉬 생성 .DrawRay Origin 을 기준으로 Direction방향으로 Ray 생성 .DrawSphere 구체 생성 .DrawWir..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 28.
  • textsms
Unity null 확인 방법(약간의 최적화편)

Unity null 확인 방법(약간의 최적화편)

== 연산자Unity에서 ==  연산자를 사용하게 되면 C++(네이티브 객체)에서도  null 체크를 하게 되고 C#(유니티 객체)에서도  null을 체크하게 됩니다. 총 2번의 null을 체크하게 되는 것이므로 정확도는 올라가나 리소스를 잡아먹는 문제가 발생합니다.using System.Collections;using UnityEngine;public class TestNullCheck : MonoBehaviour{    public GameObject go;       private IEnumerator Start()    {        go = new GameObject();        Destroy(go);        yield return null;        CheckUnityObjec..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 27.
  • textsms
Unity IK기술을 이용한 촉수 제작

Unity IK기술을 이용한 촉수 제작

위 촉수는 뼈가 총 3개 심어져 있으며 블렌더를 이용해서 제작하였다 먼저 Package Management에서 Animation Rigging을 Import해준다 그러면 이제 상단에 Animation Rigging 탭이 생겨날 것이다 아까 만든 촉수를 클릭해서 Animation Rigging탭을 누르고 Bone Renderer Setup을 누르면 Bone Renderer라는 컴포넌트가 생겨날 것이고 왼쪽에 촉수를 보면 블렌더에서 심어논 뼈를 볼 수 있을 것이다 Bone Size, Shpae, Color 등은 입맛에 맞게 변경하면 된다 다음으로 Animation Rigging 탭에서 Rig Setup을 누르면 2개의 컴포넌트와 Rig1 이라고 자식 오브젝트가 하나 생긴다 다음으로 Rig1의 자식으로 빈오브..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 24.
  • textsms
Unity Package 안보이는거 보이게 하는 방법

Unity Package 안보이는거 보이게 하는 방법

프로젝트 세팅에 패키지 매니지먼트 들어가서 Enable Pre-release Packages를 체크해주면 된다 이렇게 미리볼 수 있음!

  • format_list_bulleted Unity/Study
  • · 2023. 1. 22.
  • textsms
Unity Inverse Kinematics 2D

Unity Inverse Kinematics 2D

IK관련 코드 using UnityEngine; public class IKManager : MonoBehaviour { public Joint root; public Joint end; public GameObject target; public float threshold = 0.05f; public float rate = 5f; public int step = 20; float CalculateSlope(Joint joint) { float delthTheta = 0.01f; float distacne1 = GetDistance(end.transform.position, target.transform.position); joint.Rotate(delthTheta); float distance2 = G..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 21.
  • textsms
Unity Particle System 심화 학습!

Unity Particle System 심화 학습!

1. Collision Particle 입자들도 Collision 이벤트를 호출시킬 수 있다는 사실을 여러분은 알고 계시는가?!!! 나는 해커톤때 처음 알게 된 사실인데 매우 놀랐다는 사실!! Visualize Bounds를 체크하면 Particle들의 콜라이더 범위가 보인다! 두둥!탁! Radius Scale을 조절해서 Particle의 콜라이더 범위를 컨트롤 할 수 있다! 두둥!탁! 이벤트 메세지를 호출하기 위해서는 Visualize Bounds 바로 위에 있는 Send Collision Messages를 체크해주면 된다! 두둥!탁 그 외에 Dampen, Bounce, Lifetime Loss등을 컨트롤 해서 입맛대로 구현하면 된다! 2. Texture Sheet Animation Mode에는 Gri..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 19.
  • textsms
Unity Light Probe에 대해서

Unity Light Probe에 대해서

light mapping은 장면의 실사 느낌을 향상시킬 수 있지만, 동적인 객체가 사실적으로 렌더링 되지 않는 단점이 있다. 동적인 물체에 대한 라이트맵핑을 실시간으로 계산하는 것은 불가능 하지만, Light Probe를 이용하면 비슷한 효과를 얻을 수 있다. 동적인 오브젝트의 조명과 정적인 라이트 맵핑된 물체 사이의 어색함을 방지하는 데 도움이 된다 그냥 Realtime Lighting쓰면 되는거 아니냐? 하는데 실시간 라이팅 그리고 그림자는 연산이 비싼 작업이다. Light Map의 특징과 Light Probe Light Map 특징은 다음과 같다. Static Object(Contribute GI이 적용된)에만 적용된다. Texture 2D형식으로 Data 저장된다(3번과 연관). 메모리 이슈 발생..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 17.
  • textsms
Unity Anti-aliasing 기법에 대하여

Unity Anti-aliasing 기법에 대하여

Anti-aliasing(안티에일리어싱)이란? 안티에일리어싱 기술은 계단 현상(에일리어싱, Aliasing)(디지털 샘플링에서 샘플링 주파수가 원본 신호의 최대 주파수의 2배 보다 낮은 경우, 인접한 스펙트럼이 겹쳐서 출력이 왜곡되는 현상)이 생길 때 사용하는 기술입니다.  계단 현상이란 렌더링된 컨텐츠를 재생할 때 출력되는 이미지의 픽셀조각이 튀거나, 선이나 도형의 가장자리가 울퉁불퉁해지고 날카로워지는 형상으로 나타나는 것을 뜻합니다. 안티에일리어싱기술은 계단 현상을 해결하기 위한 Anti 기술입니다.  안티에일리어싱 기술이 특히 빛을 발할 때는 같은 타일이 수 없이 반복되는 것을 멀리서 바라볼 때 좋습니다. Unity에서는 2가지 안티에일리어싱 기술을 기본적으로 제공하는데 첫 번째로 FXAA, 두 번..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 16.
  • textsms

파티클도 Collision & Trigger 역할을 할 수 있다?!

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnParticleCollision.html Unity - Scripting API: MonoBehaviour.OnParticleCollision(GameObject) docs.unity3d.com

  • format_list_bulleted Unity/Study
  • · 2023. 1. 13.
  • textsms
Unity 배열과 List의 Length와 Count차이

Unity 배열과 List의 Length와 Count차이

유니티 코딩을 하다보면 Array와 List를 자주 사용합니다.int[] arr = ~~;var arrCount = arr.Length;List list = ~~;var listCount = list.Count; 근데 자세히 보시면, 각각 개수를 사용할 때 사용하는 문법이 다른걸 보실 수 있습니다.Array의 경우 즉 Length(길이)로 하고, List의 경우 Count(개수)를 사용하고 있습니다.두 문법의 차이는 메모리에 저장되는 방식이 다르기 때문입니다. 배열은 순차적으로 메모리에 저장이 되므로 길이라는 표현이 맞고, 리스트는 마구잡이로 메모리에 저장되어 개수로 표현되는게 맞다배열은 크기가 고정적이지만 인덱스로 접근하기 편하다는 장점이 있지만, 리스트는 크기가 유연하게 변하지만 배열에 비해 느리다는..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 10.
  • textsms

Unity 현재 씬 Index 가져오는 방법

SceneManager.GetActiveScene().buildIndex

  • format_list_bulleted Unity/Study
  • · 2023. 1. 2.
  • textsms
Unity 타이머 분(Min), 초(Sec) XX:XX 로 표시하기

Unity 타이머 분(Min), 초(Sec) XX:XX 로 표시하기

타이머 분(Min), 초(Sec) XX:XX 로 표시(코드) / string.Format 이용하기 private void Update() { sec += Time.deltaTime; if (sec >= 60f) { min += 1; sec = 0; } gameTime.text = string.Format("{0:D2}:{1:D2}", min, (int)sec); } string.Format메서드를 사용하여 시간 값을 나타내는 형식이 지정된 문자열을 만들 수 있습니다. 위 코드에서 보시면 " {0:D2}:{1:D2}"가 형식 문자열입니다. 문자열에 값을 삽입할 때 값의 서식을 지정하는 방법을 정의할 수 있습니다. {0:D2} : {0}으로 표시되는 첫 번째 인수를 나타냅니다. {1:D2} : {1}로 표시..

  • format_list_bulleted Unity/Study
  • · 2023. 1. 2.
  • textsms

Unity Time을 멈추는 방법

게임을 제작하다보면 일시정지 기능이 필요할 때가 굉장히 많다 그럴 때 Time.timeScale = 0; 을 사용하면 시간을 멈출 수 있다 다시 돌릴려면 Time.timeScale = 1; 을 하면 된다 그럼 0~1사이의 값은 무엇이냐? 또는 0~1 벗어난 값은 어떻게 되냐? 1은 정상적인 시간의 흐름이다 0은 멈춰있는 시간의 흐름이다 그렇다면 0.5는 시간의 흐름이 0.5배속이고 2는 시간의 흐름이 2배속이라고 생각하면 된다

  • format_list_bulleted Unity/Study
  • · 2022. 12. 31.
  • textsms
  • navigate_before
  • 1
  • ···
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • navigate_next
진우의 혼잣말 하는 블로그👱‍♀️
📂전체 카테고리
  • 분류 전체보기 (636)
    • Unity (450)
      • Study (224)
      • VR (75)
      • AR (6)
      • Assets (39)
      • Fusion2 (9)
      • Shader (22)
      • 디자인패턴 (7)
      • Animations (7)
      • Editor (9)
      • Attribute (7)
      • VContainer (8)
      • Netcode for GameObjects (21)
      • Relay (5)
      • Lobby (11)
    • 진우의 포트폴리오 (23)
    • 나만의 꿀팁 (37)
    • Git 사용방법 (22)
    • AI (23)
    • 게임후기 (16)
    • 블렌더 (9)
    • 홍보 및 리뷰 (8)
    • 웹 개발 (27)
    • 정리 안 됨 (16)
    • 뉴스레터 (0)
인기 글
최근 글
태그
  • #Unity
  • #Meta SDK
  • #VR
  • #유니티 VR
  • #유니티
  • #웹 개발
  • #자바스크립트
  • #유니티 꿀팁
  • #오블완
  • #티스토리챌린지
10-16 06:58
전체 방문자
오늘
어제
전체
최근 댓글
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바