본문 바로가기

UDK57

UDK > IDE http://forums.epicgames.com/threads/891298-UDK-IDE-Released 대-_-박.. 드디어 나와버린 UDK 용 IDE .. .자세한 용도는 위의 링크에서 확인하시길... 위의 링크를 가시거나 아래 파일을 다운로드... 후 압축해제 하시고 안에 UDKEditor.exe 를 실행 시키고 Edit > Setting (-_-;;; 설정이 왜 Edit 밑으로 들어가있냐;;;; 아무튼 좋은 툴이니 감사하지만;;;) 아무튼 들어가서 UDK 설치 위치만 잡아줘도 자동으로 src 아랫쪽 클래스 정보와 컴파일 등 자동인식 수행 가능 합니다 이거만 잘 해주면 됩니다.. 윽.. 5월 판이 나왔는데 3월이라니 ㅋ 2012. 5. 23.
Achetype 의 사용과 정적 데이터 입력 외부에서 데이터를 입력 받아야 할 때 (텍스트의 모음이라던가 수치의 모음) 보통 ini 나 텍스트파일 등 사용을 하곤 하는데 최신의 언리얼3 게임들의 사례를 볼 때 그들은 모두 Achetype 을 이용해서 데이터를 입력하고 있었습니다... 기획자들도 정적데이터를 입력할 때 언리얼 에디터를 통해서 작업을 했을 것이다 라고 짐작 할 수 있죠... 상용의 엔진이라면 기획자들이 원하는 포맷의 파일을 언리얼 패키지로 바꿀 수 있는 콘솔 명령어 같은 것을 만들어 주는 것도 가능하겠죠 (예를 들면 엑셀이나 XML 데이터 모음을 콘솔 명령어 창에 명령어와 파일명을 입력함으로써 패키지가 생성이 되는...) :) 소스상에 클래스 구조만 잡아 줍니다.. 그냥 Object 로 부터 상속 받기만 해도 액터 클레스 뷰어에는 보여.. 2012. 5. 22.
레벨 스트리밍 (2) 레벨 스트리밍이라하면 기본적으로 심리스같이 내 주변의 맵들을 자동으로 로드해오는 것으로 인지하기 쉽지만 언리얼에서의 레벨 스트리밍은 맵 대 맵으로의 이동도 지원을 합니다 예를 들어 처음에 타이틀용 레벨을 읽어 왔다가 어떤 입력을 하면 로비 맵으로 넘어간다고 했을 때 어떻게 만들어야 할까- 지금은 애석하게 됐지만 라그나로크2 오베 당시 나름 신선했던 통짜레벨 타이틀/로그인 화면 상용 언리얼3 라면 별로 고민할 문제는 아니지만 UDK 에서 하려면 아직 분석이 부족해서 당장 쉽게 보이는건 레벨 스 트리밍을 사용하는게 가장 합리적으로 보이죠 레벨 스트리밍을 추가하려면 일단 컨텐츠 브라우저 창에서 Levels 탭을 선택하고 메뉴바에서 Level 을 고르고 Add Existing Level... 을 선택하면 기존에.. 2012. 4. 13.
Level Streaming 레벨 스트리밍이라하면 기본적으로 심리스같이 내 주변의 맵들을 자동으로 로드해오는 것으로 인지하기 쉽지만 언리얼에서의 레벨 스트리밍은 맵 대 맵으로의 이동도 지원을 합니다 예를 들어 처음에 타이틀용 레벨을 읽어 왔다가 어떤 입력을 하면 로비 맵으로 넘어간다고 했을 때 어떻게 만들어야 할까- 지금은 애석하게 됐지만 라그나로크2 오베 당시 나름 신선했던 통짜레벨 타이틀/로그인 화면 상용 언리얼3 라면 별로 고민할 문제는 아니지만 UDK 에서 하려면 아직 분석이 부족해서 당장 쉽게 보이는건 레벨 스 트리밍을 사용하는게 가장 합리적으로 보이죠 레벨 스트리밍을 추가하려면 일단 컨텐츠 브라우저 창에서 Levels 탭을 선택하고 메뉴바에서 Level 을 고르고 Add Existing Level... 을 선택하면 기존에.. 2012. 4. 2.
FootPlacement FootPlacement 를 알기 전에 실린더컬리전을 쓰고 있다면 먼저 컬리전부터 확인해야된다 FootPlacement 가 진행되기 전에 우선적으로 컬리전을 먼저 체크를 하기 때문에.. 웬만해서는 발바닥이 땅에 닳지도 않는다 이렇게 컬리전을 위로 올려서 다리만 보이게 하고 다니면서 체크를 해도 되지만- 실린더 컬리전에 대해서 인지를 했다면 이제 언리얼 사이트에 나온 FootPlacement 에 대한 내용이 이해가 될 듯 보면 공식이 이해가 되겠지요- Location 보다 진짜 FootSocket 으로 체크도 가능하지만, 애니메이션에 따라 너무 요동칠 수도 있으니 초기화 부분에서 예제에 나온 simulated function EnableLeftFootPlacement() 이랑 Right 둘다 호출을 해줘야.. 2012. 3. 23.
UDK > Unreal Frontend > Launch 실패 UDK 를 처음 받아서 사람들은 설래이는 마음으로 Unreal Frontend 를 실행시키고 가장 기본적인 DM-Deck 을 타겟으로 놓고 PC용으로 쿠킹 해보려 할 것이다 근데 웬걸? -_- 안된다.. 안된다고 언렬 이놈들아!;; (# 2012 3월 버전에는 수정된 것으로 보이네요 -_-ㅋㅋ) UDK 한글 게시판가서 적어주고 싶지만.. 가입하는게 너무 어렵다 (;; 정성 부족이겠죠) Launch 단계에서 대략 이 모양으로 끝난다.. 지겨운 BUILT WITH UDK 해결 방법은... UDKGame/CookedPC 에 들어가서 Startup.upk 라는 파일을 카피해서 하나 더 만들고 이름을 Startup_LOC.upk 로 만들어서 다시 쿠킹 한번 돌려주면 이번엔 된다... 이 _LOC 파일은 환경에 따.. 2012. 3. 15.
UDK > DX11 모드? DX11을 완벽하게 사용하고 있는 중일까? DX9 버전 110 fps DX11 버전 98 fps -_- 결론은 언리얼3 는 아직 DX11 의 필수 요소인 멀티쓰레디드 렌더링 적용되어있지 않다.. 3년전 이미 내가 구현해서 테스트해본바로는 멀티스레디드 렌더링으로 돌리면 프레임 엄청나게 좋아진다 오히려 프레임이 떨어진다는건 있을 수 없는 일.. 아마도 이번에 공개한다는 언리얼4 는 DX11 의 진정한 모든 기능을 사용하지 않을까 생각이 든다 2012. 3. 7.
간추린 Controller.uc 번역 Controller.uc 의 모든 주석을 번역하던 중 AI에 그럭저럭 쓸만한 몇 가지(?) 를 정리해서 공유합니다 많은 도움이 될거라 확신하며~ 좋은 의견 있으면 댓글 주세요 * 지정된 Pawn가 우리 주변 시력 내에서 볼 수있는 경우 true를 반환 * If the pawn is not our current * Pawn가 현재 적이 없다면 LineOfSightTo()를 대신 호출. native(533) final function bool CanSee(Pawn Other); * 검사 위치를 우리 주변 시력 내에서 볼 수있는 경우 true를 반환 * (from view location). native(537) final function bool CanSeeByPoints( Vector ViewLocatio.. 2012. 3. 7.
UDK > Wind Force UDK 새 버전을 보니 새로운 맵 샘플이 추가 된 것을 발견... 시원스럽게 바람이 부는 내용이었는데... 바로 이거다 싶어 바로 응용에 돌입... 음.. 시원하구먼 자~ 공격을 하면 충격파가 생기는 영역에 바람이 불게끔 응용해 개발해 보자 자세히 보면 1번째 스킬과 2번째 스킬의 영향력의 범위가 다른 걸 알 수 있다 2012. 3. 5.
UDK > 내 게임 만들기 (18) 전투 중 적 하나를 죽이고 자랑을 하는 NPC 어떤 행동을 하던 중이라도 2개의 Pawn 을 컷 인으로 잡아 대사를 처리 한다 모든 NPC들에게 일제히 공격 명령을 내려 다수의 적을 소탕한다 @_@ 리X지 이터X 등에서 나오는 대규모 전투씬 따위도 연출하는게 가능한데.. 물론 연출이 아니고 펙트다... 실제의 다 대 다... NPC 는 주인공 캐릭터가 쓰는 모든 스킬을 사실상 사용 가능하지만 한방 스킬 등이 발동하면 촬영에 지장이 있으니 검기만 쓸 수 있도록 제한~ 어느 지점까지 NPC와 동행해라, 혹은 다수의 적을 NPC 를 데려가 무찔러라 등의 퀘스트에 응용 할 수 있고.. 아아- 리소스가 없어 여러 종류의 NPC 를 못쓰는게 아쉬울 뿐.. 2012. 3. 2.
UDK > Class Name 을 이용한 직접적 참조 상용의 언리얼 엔진이라면 사용할 일 없는 방법이지만.. UDK 에서도 ini 에 때려 넣을 것이라면 사용할 일 없는 방법이지만... object 형 데이터를 담고 있는 정적 데이터들을 Class Name 만으로 직접 억세스 하는 방법을 알아 봅시다- 베이스 클레스 class CData extends Object; var array strList; defaultproperties { } 데이터 클레스 1 class CData_001 extends CData; defaultproperties { strList(0)="hello" strList(1)="hi" strList(2)="bye" } 데이터 클레스 2 class CData_002 extends CData; defaultproperties { strLi.. 2012. 2. 29.
UDK > 내 게임 만들기 (17) 지금까지의 모든 정수를 모아 다시 2개에 걸쳐서 모음집으로 구성했다 요즘 언론에서 한참 밀고 있는 시네마틱? ㅋㅋ 나의 컷 인 시스템이 있어야 진정한 시네마틱이 나온다.. 격렬히 전투하면서도 원하는 대상과 대화하 는 컷 인! 주변 정리된 상황에서 말 소리 나오고 정해진 프레임 안에서 대화 하는게 어찌 시네마틱이라 할 수 있단 말인가 @_@ 아아;; 아이비디오로 편집을 했는데 화질 완전 안좋다 ㅠㅠ 기능상으로는 전투중에서도 NPC 와 대화를 나눌 수 있는데- 다음에 도전해볼까.. 2012. 2. 26.
UDK > 내 게임 만들기 (16) 2012 / 2 / 25 NPC 와 대화도 넣은 김에 겸사겸사 용병으로 활동 할 수 있게 해줘봤다 따라만 다니는 민폐 NPC 는 이제 가라! 자체적으로 싸우고 다시 내게 돌아오는 스마트한 NPC -_- 초기에 Pawn 설계를 잘 해둔 탓에 간단히 확장이 가능했다... Pawn.. 체스의 쫄병... ㅠ_ㅠ 그러나 끝까지 살아서 이동을 하면 프로덕션을 통해 킹을 제외한 모든 병종으로의 변형이 가능하다는 룰이 있듯이.. 아마 언리얼의 엔지니어는 모든 것이 될 수 있는 것의 베이스라고 Pawn 이라고 지 었나보다 -_-;;; 2012. 2. 26.
UDK > 내 게임 만들기 (15) NPC와의 대화... 폰트도 만들었다... 네이버가 감사하게도 무료로 배포해준 나눔에서... 붓글씨체로 ㅡㅡ;; 이제 외부에서 인 풋을 받아 캐릭터의 대사별 애니메이션 컨트롤과 다양한 pawn 제어 모 화면 동영상 저장 프로그램 썼는데 30 프레임 밖에 안되서 망인 듯... 역시 걍 폰으로 찍는게 최고;; 2012. 2. 24.
UDK > 내 게임 만들기 (14) 2012 / 2 / 21 블러 추가 이후 더 다이나믹한 뭔가를 찾아 고민하다가 컷 인 시스템을 만들어 보기로 했다. 보통은 준비된 원화나 그런걸 화면 중앙에 그려주면서 빠샤 하는게 보통인데.. 원화로는 일일이 그리기도 힘들거니와 모처럼 커스터마이징된 나의 캐릭터가 충분히 반영되지 않는다는 아픔이 있다 그래서 동적 컷 인 시스템의 필요성을 생각해서 만들었다 -_-... 사용 용도는 스킬의 사용 시의 임펙트, NPC 와의 회화 혹은 독백시 캐릭터 얼굴 (혹은 상체) 표시와 대화 자막 처리 (좌는 NPC 혹은 몬스터) 우는 내 캐릭터 고정, 필요에 따라서는 컷 인의 중앙 배치, 화면 전체 배치도 옵션 처리하고 해서 이벤트용으로도 활용.. 헉.. 나왔네 우쭈쭈 언리얼의 수려한 그래픽으로 인해 그린것 못지 않게 .. 2012. 2. 21.
FootPlacement Prop 샘플 AT_CH_Crowd AnimTree 의 파라메터 2012. 2. 17.
UDK > Post Process Effects > RadialBlur 스킬을 사용하거나 경공술 따위로 이동을 할 때 좀 더 역동적으로 보이게 하기 위해 RadialBlur 를 사용해 봅시다.. 일단 기본적으로 언리얼에서 제공하는 RadialBlur (레디알 블러) 를 상속받아 시간 제한이 있는 녀석으로 바꿔줄 필요가 있지요... 예제 class CRadialBlur extends RadialBlurActor notplaceable; /** *Actor used to spawn radial screen blur */ /* http://udn.epicgames.com/Three/RadialBlurKR.html Material 지정된 머티리얼의 불투명 채널은 블러 벡터의 크기를 스케일 조절하는데 사용됩니다. DepthPriorityGroup 이 효과가 렌더해야 하는 곳의 씬 심.. 2012. 2. 15.
UDK > 내 게임 만들기 (13) 나름 이기어검술이라고 만든 것을 보고 '핀판넬이삼?' 이라고 평가해줬던 지인의 바람대로 각 이기어검들의 검 끝에서 발사체를 쏴서 적들을 격퇴해보기로 했습니다 가랏- 핀판넬- 2012. 2. 14.
AnimSet 교환 Pawn 의 Spawn 후 모델이나 이런 것은 교체가 간단한데 각 Pawn 마다 AnimSet 을 교체하고 싶을 경우엔 딱히 지원되고 있는 함수가 없다 직접 만들어야 되는데... 주의 할 점이 있다 윗쪽 3마리의 Pawn 들의 자세가 잡혀있지 않다 function bool SetAnimSet(string sFullPath, int n=0) { local AnimSet temp; if(sFullPath== "") return false; temp = AnimSet(DynamicLoadObject(sFullPath, class'AnimSet')); if(temp != None) { Mesh.AnimSets[n] = temp; Mesh.UpdateAnimations(); return true; } return.. 2012. 2. 14.
UDK > 내 게임 만들기 (12) 2012 / 2 / 10 몬스터 공격과 플레이어 리액션을 추가하면서 약간의 깨달음을 얻었다 -_- 뭔가 잘못된 Controller State 를 쓰고 있었던 것 같은데.. 한번 바꿔보고 맞는 것 같으면 싹 정리를 해야할 듯 뭔가 정신없어진 듯.. 2012 / 2 / 12 결국 Controller 관계를 정리했다.. PopState 와 PushState 동작에 착각을 하고 있었던 듯 PopState 나 PushState 는 대단히 편리하고 유용하지만 로직 짜는 것 이상으로 게임 동작과 흐름에 대한 짐승같은 감각이 필요한 듯;; 스피디한 난투와... 난투... 가 끝; 흠 거기에 Controller 의 FocalPoint 도 궁금해서 시각적 이펙트를 추가해놓고 지켜보니... 음.. 죽을 땐 자기 자리를 보이.. 2012. 2. 11.