Engine/UNITY2017.08.22 13:06

Object AfterImage Effect Description (캐릭터 잔상처리 제어법)

Simple explanation(간단설명)

RK_AfterImage.cs 컴포넌트를 추가하면 After Image Component가 항상 같이 따라옵니다.
DensityMesh Life Time을 조절하여 렌더되는 길이와 생명력을 조절할 수 있습니다.

Max Image Count는 최대 10이상 사용하지 않도록 하여 부하양을 조절해 줍니다.
- When you add the RK_AfterImage.cs component, After Image Component always comes along.
 - Adjust Density and Mesh Life Time to control the length and vitality of the rendered image.
 - Max Image Count adjusts the amount of load by not using more than 10 at maximum.


-detailed description(상세 설명)


(1) AfterImage.cs 컴포넌트를 추가하면 Component_After Image.cs 컴포넌트가 추가됩니다.

 - MaxLifeTime : MaxLifeTime이 짧을수록 잔상이 빨리 사라집니다.

(1) When you add the AfterImage.cs component, the Componenet_AfterImage.cs component is added.


(2) Component_AfterImage에서 잔상의 색상과 (_TintColor)와 Density/MaxImageCount등을 설정할 수 있습니다.

- Density : Density가 낮을수록 잔상이 촘촘하게 나옵니다.

Max ImageCount : 한화면에렌더되는 양을 조절합니다.

(2) You can set the color of the afterimage(_TintColor) and Density / MaximageCount in Component_AfterImage.


(3) Sorting Layer.cs 컴포넌트 추가

- 잔상의 소팅을 원래 모델보다 뒤로 가도록 설정하여 원 모델을 침범하지 않도록 합니다.

(3) Adding Sorting Layer.cs Component

- Set the afterimage sorting to be behind the original model to avoid invading the original model.


(4) AfterImageShader로 셰이더를 설정해 줍니다.

- Tint Color에 의해 잔상 색상이 달라집니다.

- MainTex의 텍스쳐가 덧입혀집니다.

- 각각 칼라를 이용하여 느낌을 맞춰갑니다.

(4) Set the shader with AfterimageShader.






AfterImageTest.unity 파일을 열어보시면 테스트 씬을 확인해보실수 있습니다.

Open the AfterImageTest.unity file to see the test scenes.


Unity Asset Store URL:


신고
Posted by tartist
Engine/UNITY2017.08.17 16:03

텍스쳐 임포트시 모바일 프로젝트에서는 기본적으로 Advanced로 사용하고 mipmap을 끄는게 통상적인 방식입니다.

하지만, 유니티 기본셋팅은 항상 Texture 타입으로 설정되어 mipmap도 무조건 켜지게 됩니다.

아래 코드를 편집하여 프로젝트에 넣어주시면 원하시는 셋팅값으로 텍스쳐 임포트를 설정할수 있습니다.


using UnityEngine;

using UnityEditor;


public class TexturePostProcessor : AssetPostprocessor

{

void OnPostprocessTexture(Texture2D texture)

{

TextureImporter importer = assetImporter as TextureImporter;

importer.textureType = TextureImporterType.Advanced;   // 기본 타입을 Advanced로..

importer.anisoLevel = 1;

importer.filterMode = FilterMode.Bilinear;

importer.mipmapEnabled = false;  // 기본 mipmap 해제

// 필요한 설정값을 이곳에 넣어주시면 됩니다.


Object asset = AssetDatabase.LoadAssetAtPath(importer.assetPath, typeof(Texture2D));

if (asset)

{

EditorUtility.SetDirty(asset);

}

else

{

texture.anisoLevel = 1;

texture.filterMode = FilterMode.Bilinear;          

}

}

신고
Posted by tartist
Engine/UNREAL2017.08.07 10:49

최근 리니지 레드나이츠 소스를 활용해서 언리얼로 한번 올려보고 있는데요,

그림자 격자현상이 발생하여 꾀 애를 먹었습니다.

해결할 수 있는 두가지 방법이 있어 공유 드립니다.

 

 

 

- 그림자 격자 현상 발생

 

-그림자 격자현상 수정

 

 

 

1. Dynamic Inset Shadow을 활성화시킵니다.

- 각 메쉬들의 Dynamic Inset Shadow 를 활성화 시켜주면 격자현상이 사라집니다.

- 단, 라이트 설정값이 달라 지므로 재 셋팅하셔야 합니다.

- 모든 메쉬들의 설정을 다 바꿔줘야 하는 단점이 있습니다.

 

 

2. Directional Light의 Shadow Bias값을 조절합니다.

- 라이트 설정만 바꾸면 되므로 모든 메쉬 설정을 바꿀 필요가 없습니다.

- Bias값이 달라지면 라이트 셋팅을 바꿔줘야 합니다.

 

 

 

 

신고
Posted by tartist