일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 인터페이스
- 깃허브
- raycast
- 병맛게임
- AR게임
- 델리게이트
- 게임개발
- callbyreference
- Euler
- ar
- C#
- 리듬게임에디터
- AR세팅
- 짐벌락
- 리듬게임
- 게임
- 로케트
- 게임제작
- Quaternion
- callbyvalue
- ARProgect
- 유니티
- github
- AR Foundation
- 소규모프로젝트
- ExtensionMethod
- 1인개발
- Unity
- 확장메서드
- 레이캐스트
- Today
- Total
목록전체 글 (118)
Ssssong += Dev
https://blog.fetchinist.com/?p=308 fetchinist blog 2013/05/31 Destroy와 DestroyImmediate 유니티 2버전부터 지금까지 쓰면서 설명 대충 보고 쓰다가 잘못 알고 있는 걸 이번에 제대로 알게 돼서 적어둡니다. 먼저 함수 설명을 봅시다. +2022.7.24 – 최신 내용 blog.fetchinist.com 유니티 Editor에서는 Destroy()를 사용할 수 없다. 이유는 Destroy()가 지연 파괴이기 때문이다. public static void Destroy(Object obj, float t = 0.0f); 에서 t에 시간을 넣을 시 해당 시간만큼 파괴가 지연되고 시간값을 설정하지 않더라도 Destroy()로 파괴 명령을 한 객체는 해..
객체가 완전히 생성되기 이전에 가상 함수를 호출하면 이상 동작을 일으킨다. 어떤 타입이든 생성자가 수행을 완료할 때 까지는 객체가 완전히 생성되었다고 할 수 없기 때문이다. class B { protected B() { VFunc(); } protected virtual void VFunc() { Console.WriteLine("VFunc in B"); } } class Derived : B { private readonly string msg = "Set by initializer"; public Derived(string msg) { this.msg = msg; } protected override void VFunc() { Console.Write(msg); } public static void ..
https://chulin28ho.tistory.com/622 Shader.PropertyToID docs.unity3d.com/kr/530/ScriptReference/Shader.PropertyToID.html Unity - 스크립팅 API: Shader.PropertyToID 프로퍼티 식별자들을 사용하것은 모든 메터리얼 프로퍼티 함수에 문자열을 전달하는 것보다 더 효율적입니 chulin28ho.tistory.com 유니티 머테리얼에서 shader property에 접근하는 방법으로는 Material.SetColor("_Color", color) 이런 식으로 접근할 수 있다. 그러나 SetColor를 자주 호출하거나 MaterialPropertyBlock(같은 머테리얼 쓴 값이 약간씩 다른 여러 오브..
GC(가비지 컬렉터)는 사용하지 않는 객체들을 효율적인 방식으로 제거한다. 하지만 이러한 작업이 아무리 효율적이라 하더라도 힙에서 새로운 객체를 생성하고 삭제하는 작업은 그러한 일을 하지 않는 것에 비한다면 상대적으로 많은 프로세서 시간을 사용한다. 따라서 너무 많은 객체를 생성하면 심각한 성능 문제를 일으킬 수도 있다. 가비지 컬렉터가 과도하게 동작하지 않도록 주의해야 한다. 1. 자주 사용되는 지역변수를 멤버 변수로 변경하는 것 protected override void OnPaint(PaintEventArgs e) { using (Font MyFont = new Font("Arial", 10.0f)) { e.Graphics.DrawString(DataTime.Now.ToString(), MyFont..
생성자 내에서 멤버 변수들을 초기화할 코드를 누락하는 경우가 있으므로 이러한 오류를 범하지 않으려면 생성자의 본문에서 멤버 변수 값을 할당하기보다 멤버 초기화 구문을 사용하는 것이 좋다. public class MyClass { //이렇게 선언과 동시에 초기화하는 것이 멤버 초기화 구문이다. private List labels = new List(); } C# 컴파일러는 생성자를 갖지 않는 타입을 선언한 경우에도 기본 생성자를 자동 생성하는데, 멤버 초기화 구문을 이용하면 컴파일러가 생성해 주는 기본 생성자의 앞쪽에도 초기화 구문이 포함된다. 멤버 초기화 구문에 의해 생성된 코드는 생성자 본문의 앞쪽에 덧붙여진다. 이는 생성하려는 타입이 다른 클래스를 상속하고 있는 경우 베이스 클래스의 생성자가 호출되기..
유니티 5.5버전 이전까지 Foreach문을 사용하면 가비지가 생기는 현상이 있었다. 하지만 이후 버전에서는 개선되었는데, 이 과정이 어땠는지 적힌 좋은 글이 있다. https://m.cafe.naver.com/ca-fe/web/cafes/indiedev/articles/13188?useCafeId=false&or=m.search.naver.com&query=foreach%2B%EA%B5%AC%EC%A1%B0%2B%EB%AC%B8%EC%A0%9C&buid=09ddb1ed-e3f0-43b1-a235-5f194b615103&art=ZXh0ZXJuYWwtc2VydmljZS1uYXZlci1ldGMtZm9yLWNvbW1lbnQ.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJjYWZlVHl..
https://docs.unity3d.com/kr/2018.4/Manual/BestPracticeUnderstandingPerformanceInUnity4-1.html 관리되는 힙에 대한 이해 - Unity 매뉴얼 많은 Unity 개발자들이 겪는 또 다른 일반적인 문제는 예기치 않은 관리되는 힙(managed heap)의 확장입니다. Unity에서 관리되는 힙은 축소되는 것보다 더 쉽게 확장됩니다. 이와 더불어, Unity의 가비 docs.unity3d.com (유니티 메뉴얼 본문 내용. enum 타입을 Dictionary의 키로 사용하면 박싱이 발생한다는 내용이 적혀 있다.) 딕셔너리 및 열거형 기본적으로 Dictionary.add(key, value)를 호출하면 Object.getHashCode(Ob..
https://blog.naver.com/PostView.nhn?blogId=seek316&logNo=222117711303&categoryNo=0&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView [IT정보] 메시지 큐(Message Queue, MQ) 개념 메시지 큐(Message Queue, MQ)란? 메시지 큐(MessageQueue: MQ)는 프로세스 또는 프로그램 인스턴... blog.naver.com