목록Programing (133)
공부중
흔히 오른쪽에서 왼쪽으로 읽는다 이런 규칙이 있다라는것을 학부생때 들어보긴 했었는데 그렇게 많은 책을 읽어본것은 아니지만 책에서도 이러한 내용은 없었고 비슷한것은 연산자 우선순위 조립 방향?? 이정도? 그래서 찾아본 결과 모든 참고가 되었다는 링크는 캘리포니아 샌디에고 대학의 한 웹페이지로 링크가 다들 가고 있었다. cseweb.ucsd.edu/~ricko/rt_lt.rule.html 위의 내용을 그대로 해석해 보고 정리해서 이해해보려고 한다. *포인터 - 항상 왼쪽에 있다. []배열 - 항상 오른쪽에 있다. ()함수 반환 - 항상 오른쪽에 있다. 위의 규칙을 기억하자. 1. 제일 먼저 선언된 식별자 찾고 식별자(identifier, 변수명 또는 함수명)을 기준으로 시작합니다. 2. 식별자를 기준으로 오..
오늘은 const에 대해서 공부좀 해보려고한다. 매번 const에 대해서 공부하지만 머리가 안좋은 나는 매번 까먹는다. 그리고 이 블로그에 정리도 안되어있는걸보고 이번에 해봐야겠다고 생각했다. const 키워드는 객체 또는 데이터 수정을 할 수 없도록 상수화해주는 키워드이다. const int a = 100; static const int b = 200; const AAA aaa(20); 위와같이 사용이 가능하며 a와 b는 상수화가 되어서 각각 100, 200에서 변경이 불가능하다. 마지막 라인처럼 객체에 const 선언이 붙게 되면 이 객체는 const 멤버함수만 호출이 가능하다! -> 이 객체의 데이터 변경을 허용하지 않으므로 변경가능성이 없는 const 멤버함수만 호출이 가능하기 때문. 위의 내용까..
유니티 쉐이더 책을 좀 읽어보고 구현해보고 싶은것을 만들어 보려고 한다. 만들어 보고 싶은 효과는 위의 영상에서 Gold/Silver버전의 사이코키네시스의 효과를 만들어보고 싶었다. 일단 다음화면처럼 모델을 배치해 주었다. 그리고 그 앞에 굴절효과를 줄 Quad를 생성해 주었다. 이제 이 Quad에다가 쉐이더를 새로 만들어서 적용시켜주려고 한다. Shader "Custom/Refraction" { Properties { _MainTex("Albedo (RGB)", 2D) = "white" {} _RefStrength("Reflection Strength", Range(0,0.1)) = 0.05 } SubShader { // 다른 일반 오브젝트들보다 나중에 그려져야 배경캡쳐가 되므로 Transparent ..
기기(aos, ios device)에서까지 돌아가는지는 안써봤지만 일단 정리해보려고 한다. 2020/04/07 - [Programing/Unity3D] - [Unity]동일한 구조(?)의 코드를 생성해야 하는 경우 [Unity]동일한 구조(?)의 코드를 생성해야 하는 경우 음 뭐라고 제목을 정할까 하다가 실제로 저런 문제를 해결하려고 구현한것이라서 일단 저렇게 써봤다. 문제의 상황은 아래와 같다. Skill 이라는 클래스가 있고 Skill의 자식클래스로 각각의 스킬 구현을 할 예정.. hannom.tistory.com 위의 이전글에서 스킬명과 동일한 클래스 이름을 가진 여러 파일을 생성했었다. ex) 스킬명 : hyperbeam, 클래스명 : hyperbeam 이번에는 스킬이름을 가지고 해당 스킬명과 동..
음 뭐라고 제목을 정할까 하다가 실제로 저런 문제를 해결하려고 구현한것이라서 일단 저렇게 써봤다. 문제의 상황은 아래와 같다. Skill 이라는 클래스가 있고 Skill의 자식클래스로 각각의 스킬 구현을 할 예정이다. // Skill.cs using System.Collections; using System.Collections.Generic; using UnityEngine; using PokemonDefine; public abstract class Skill : MonoBehaviour { protected PokemonSkillInfoData skillInfo; public void Init(string skillName) { this.skillInfo = PokemonDataManager.Ins..
구글링을 해도 새로워진 스프라이트 아틀라스에 관련 내용이 거의 없길래 정리해보려고 한다. 언제 이 기능이 추가되었는지는 자세히 모르지만 아래의 유튜브 영상을 보니 18년도에 나온것 같다. https://www.youtube.com/watch?v=PEMsZDb3yPs 잘생기고 멋진 유니티 코리아 직원분께서 설명을 해주십니다. 어줍잖은 제 설명보다는 백배 나을껍니다. 하하.. 위의 영상을 보고 나중에 내가 다시 볼 목적으로 정리를 하려는 것이므로 머리속에 정리된 내용을 이 글에 주저리 주저리 적을예정입니다. 간단하게 아틀라스를 써서 얻게되는 장점은 드로우콜(Draw Call)을 줄일 수 있기 때문이다. 드로우콜(Draw Call)은 간단하게 이야기하면.. GPU에게 그림을 그려달라고 요청을 하는것이라고 보면..
만들어 놓았었던 프리팹에서 수정을 가할때 이와같은 경고 문구가 나오게 되었다. 예전 버전에는 이런것 없었지만 그나마 최신(?) 버전의 유니티를 사용하다가 이런 문구는 처음보게 되어서 살펴보게 되었다. Children of a Prefab instance cannot be deleted or moved, and components cannot be reordered. ->Prefab 인스턴스의 자식은 삭제하거나 이동할 수 없으며 구성 요소를 재정렬 할 수 없습니다. You can open the Prefab in Prefab Mode to restructure the Prefab Asset itself, or unpack the Prefab instance to remove its Prefab connec..
언리얼 엔진4에서 기본적으로 데미지 종류는 아래와 같이 되어있다. 간단하게 설명하자면 ApplyDamage는 그냥 특별한 처리 없이 데미지를 전달할때 쓰는것이고 ApplyPointDamage는 어떤 방향에서 Actor의 어디 부분에 맞았더니 데미지를 입었다 를 전달할때 쓰는것이고 ApplyRadialDamage는 특정 지역에 발생한 폭발때문에 데미지를 입었다 를 전달할때 쓴다. 위의 스크린샷처럼 BluePrint에서는 노드 만들고 가져다 쓰면 끝이지만 C++코드에서는 TakeDamage 하나만 존재하는것을 확인 할 수 있다. virtual float TakeDamage(float DamageAmount, struct FDamageEvent const& DamageEvent, class AControlle..