UDN
Search public documentation:
DevelopmentKitGemsAddingSpritesMeshesParticleEffectsKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
스프라이트, 메시, 파티클 이펙트를 액터에 추가하는 법
문서 변경내역: James Tan 작성. 홍성진 번역.
UDK 2011년 3월 버전으로 최종 테스팅, PC 와 iOS 호환
개요
관련 토픽
언리얼스크립트 방법
Default properties
언리얼스크립트 내의 default properties 내에 스태틱 메시 서브 오브젝트를 추가하는 방법입니다. 먼저 클래스 전역 변수 목록 내에 스태틱 메시 컴포넌트 변수부터 선언합니다. 이를 통해 클래스가 default properties 내에 정의된 스태틱 메시 컴포넌트로의 참조를 담을 수 있도록 합니다. default properties 내에 서브 오브젝트를 만듭니다. default properties 내에 서브 오브젝트가 생성된 이후, 액터 내의 컴포넌트 배열에 추가됩니다. 모든 컴포넌트 서브 오브젝트는 컴포넌트 배열에 추가되어야 하며, 안그러고서는 사용되지 않습니다.class MyActor extends Actor; // 언리얼스크립트 및 언리얼 에디터로 노출 var() StaticMeshComponent StaticMesh; defaultproperties { // 서브 오브젝트 선언 Begin Object Class=StaticMeshComponent Name=MyStaticMeshComponent StaticMesh=StaticMesh'EditorMeshes.TexPropPlane' End Object StaticMesh=MyStaticMeshComponent Components.Add(MyStaticMeshComponent) }
class MySubActor extends MyActor; defaultproperties { // 서브 오브젝트 재정의 Begin Object Name=MyStaticMeshComponent StaticMesh=StaticMesh'EngineMeshes.Cube' End Object StaticMesh=MyStaticMeshComponent Components.Add(MyStaticMeshComponent) }
class MySubActor extends MyActor; defaultproperties { Components.Remove(MyStaticMeshComponent) // Remove a specific actor component Components.Empty // Remove all actor components }
런타임
런타임 도중 언리얼스크립트에 스태틱 메시 컴포넌트를 추가하는 법입니다. 이는 PostBeginPlay 뿐만이 아닌 어느 함수에도 추가시킬 수 있습니다. 액터 컴포넌트를 초기화(initialize)시키거나 다른 속성을 약간 구성(set up)해야 할 수도 있습니다.class MyActor extends Actor; var() StaticMeshComponent StaticMesh; function PostBeginPlay() { Super.PostBeginPlay(); StaticMesh = new () class'StaticMeshComponent'; if (StaticMesh != None) { StaticMesh.SetStaticMesh(StaticMesh'EngineMeshes.Cube'); AttachComponent(StaticMesh); } } defaultproperties { }
관련 토픽
언리얼 에디터 방법
class DynamicActorComponent extends Actor ClassGroup(Common) AutoExpandCategories(DynamicActorComponent) placeable; // 언리얼스크립트 및 언리얼 에디터로 노출 var() const EditInline Instanced array<PrimitiveComponent> PrimitiveComponents; function PostBeginPlay() { local int i; // 컴포넌트 배열 속에 컴포넌트를 추가시킬 필요가 있는지 확인하기 위해 프리미티브 컴포넌트 배열을 검사. if (PrimitiveComponents.Length > 0) { for (i = 0; i < PrimitiveComponents.Length; ++i) { if (PrimitiveComponents[i] != None) { AttachComponent(PrimitiveComponents[i]); } } } Super.PostBeginPlay(); } defaultproperties { Begin Object Class=SpriteComponent Name=Sprite Sprite=Texture2D'EditorResources.S_Actor' HiddenGame=True AlwaysLoadOnClient=False AlwaysLoadOnServer=False End Object Components.Add(Sprite) }
DynamicActorComponent 배열 사용하기
콘텐츠 브라우저를 열고 액터 클래스 탭을 클릭합니다. Common 그룹 내에 DynamicActorComponent 가 있을 것입니다. 선택하시고요. 월드 내에 단순 BSP 바닥을 만듭니다. 월드에 라이트 액트럴 추가하지 않으면 씬이 제대로 라이팅되지 않는다는 점 잊지 마시고요. 다이내믹 액터 컴포넌트를 놓고자 하는 월드 뷰포트 내에 우클릭하면 맥락 메뉴가 열립니다. "Add DynamicActorComponent Here" 를 선택합니다. 생성되면 자동으로 선택되어 있을 것입니다. F4 키를 눌러 속성 창을 엽니다. 또는, 선택되지 않았다면 거의 액터 목록 내에서 그 액터를 찾을 수 있습니다. "Primitive Components" 배열 내의 녹색 + 아이콘을 클릭합니다. 배열 내에 새 항목이 생성됩니다. 그런 다음 파랑 아래 배열을 클릭하고 StaticMeshComponent 를 선택하여 새로운 StaticMeshComponent 오브젝트를 만듭니다. 콘텐츠 브라우저 내에서 재미있는 스태틱 메시를 찾아 선택합니다. 새 오브젝트 정의를 확장합니다. 그리고 Static Mesh Component 탭도요. 작은 녹색 화살표를 눌러 스태틱 메시를 설정합니다. PIE 를 시작하여 액터를 시각화시킵니다.다운로드
- DynamicActorComponents.zip 다운로드: 위의 예제에 사용된 콘텐츠입니다.