AnyPortrait > 스크립트 > 메시, 메시 그룹 트랜스폼
메시의 색상이나 텍스쳐를 교체하거나 위치를 제어하는 등의 함수를 안내합니다.
에디터에서 메시와 메시 그룹의 데이터는 Bake후 apOptTransform으로 변환됩니다.
씬에서 apOptTransform을 참조하는 것은 메시나 메시 그룹을 참조하는 것과 동일합니다.
텍스쳐를 일괄적으로 변환하고 드로우콜 배치(Draw Call Batching)를 위한 함수도 제공됩니다.
이름으로 apOptTransform을 찾아서 리턴합니다.
apOptTransform의 이름은 메시나 메시 그룹의 이름입니다.
루트 유닛 인덱스를 지정하지 않는다면 먼저 현재 렌더링되는 루트 유닛부터 전체 검색을 합니다.
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조하고자 하는 apOptTransform의 이름 (에디터 상의 메시, 메시 그룹 이름)
apOptTransform : 검색된 apOptTransform. 없을 경우 null 리턴
apOptTransform의 소켓을 참조합니다.
소켓에 대해서는 관련 페이지를 참고하시길 바랍니다.
apOptTransform optTransform : 소켓을 포함하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조하고자 하는 apOptTransform의 이름 (에디터 상의 메시, 메시 그룹 이름)
Transform : apOptTransform의 소켓 트랜스 폼. 없을 경우 null 리턴
apOptTransform의 위치를 제어합니다.
가중치를 이용하여 보간할 수 있습니다.
apOptTransform optTransform : 제어하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 제어하고자 하는 apOptTransform의 이름 (에디터 상의 메시, 메시 그룹 이름)
Vector3 position : 옮기고자 하는 위치
Space space : 위치 매개변수의 좌표계. World는 씬의 좌표계를 의미하며, Self는 apPortrait의 좌표계를 의미합니다.
float weight : 원래 위치와의 보간 가중치
bool : 존재하지 않는 apOptTransform을 참조하고자 했다면 false 리턴
apOptTransform의 회전 각도를 제어합니다.
가중치를 이용하여 보간할 수 있습니다.
apOptTransform optTransform : 제어하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 제어하고자 하는 apOptTransform의 이름 (에디터 상의 메시, 메시 그룹 이름)
float angle : 회전 각도 (Degree)
Space space : 회전 매개변수의 좌표계. World는 씬의 좌표계를 의미하며, Self는 apPortrait의 좌표계를 의미합니다.
float weight : 원래 회전 각도와의 보간 가중치
bool : 존재하지 않는 apOptTransform을 참조하고자 했다면 false 리턴
apOptTransform의 크기를 제어합니다.
가중치를 이용하여 보간할 수 있습니다.
apOptTransform optTransform : 제어하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 제어하고자 하는 apOptTransform의 이름 (에디터 상의 메시, 메시 그룹 이름)
Vector3 scale : 크기 값
Space space : 크기 매개변수의 좌표계. World는 씬의 좌표계를 의미하며, Self는 apPortrait의 좌표계를 의미합니다.
float weight : 원래 크기와의 보간 가중치
bool : 존재하지 않는 apOptTransform을 참조하고자 했다면 false 리턴
apOptTransform의 텍스쳐를 교체합니다.
텍스쳐가 교체된 경우 드로우콜이 증가할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
Texture2D texture : 새로 지정될 텍스쳐
string imageName : AnyPortrait 에디터에 저장된 이미지로 교체할 경우, 해당 이미지의 이름
apOptTransform의 색상을 설정합니다.
색상은 2X Multiply 식으로 계산되므로 기본값은 회색(0.5, 0.5, 0.5, 1)입니다.
색상이 기본값이 아닌 경우 드로우콜이 증가할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
Color color2X : 새로 지정될 색상 (2X Multiply)
apOptTransform의 색상 중 알파(투명도)를 설정합니다.
기본값은 1이며, 그 외의 값을 지정한 경우 드로우콜이 증가할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
float alpha : 새로 지정될 투명도
apOptTransform의 텍스쳐를 교체합니다.
텍스쳐가 교체된 경우 드로우콜이 증가할 수 있습니다.
"_MainTex"를 대상으로 하는 경우 "SetMeshImage" 함수를 이용해주세요.
optTransform 대신, transformName과 rootUnitIndex를 입력해서 대상을 지정할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
Texture2D texture : 새로 지정될 텍스쳐
string propertyName : 텍스쳐가 적용될 쉐이더 속성 이름
int propertyNameID : 텍스쳐가 적용될 쉐이더의 속성 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
apOptTransform의 색상을 설정합니다.
색상이 기본값이 아닌 경우 드로우콜이 증가할 수 있습니다.
"_Color"를 대상으로 하는 경우 "SetMeshColor" 함수를 이용해주세요.
optTransform 대신, transformName과 rootUnitIndex를 입력해서 대상을 지정할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
Color color2X : 새로 지정될 색상 (2X Multiply)
string propertyName : 색상이 적용될 쉐이더 속성 이름
int propertyNameID : 색상이 적용될 쉐이더의 속성 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
apOptTransform의 색상 중 알파(투명도)를 설정합니다.
기본값은 1이며, 그 외의 값을 지정한 경우 드로우콜이 증가할 수 있습니다.
"_Color"를 대상으로 하는 경우 "SetMeshAlpha" 함수를 이용해주세요.
optTransform 대신, transformName과 rootUnitIndex를 입력해서 대상을 지정할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
float alpha : 새로 지정될 투명도
string propertyName : 색상이 적용될 쉐이더 속성 이름
int propertyNameID : 색상이 적용될 쉐이더의 속성 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
apOptTransform의 재질의 Float 속성의 값을 설정합니다.
이 함수가 호출 되면 드로우콜이 증가할 수 있습니다.
optTransform 대신, transformName과 rootUnitIndex를 입력해서 대상을 지정할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
float floatValue : Float 값
string propertyName : Float값이 적용될 쉐이더 속성 이름
int propertyNameID : Float값이 적용될 쉐이더의 속성 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
apOptTransform의 재질의 Int 속성의 값을 설정합니다.
이 함수가 호출 되면 드로우콜이 증가할 수 있습니다.
optTransform 대신, transformName과 rootUnitIndex를 입력해서 대상을 지정할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
int intValue : Int 값
string propertyName : Int값이 적용될 쉐이더 속성 이름
int propertyNameID : Int값이 적용될 쉐이더의 속성 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
apOptTransform의 재질의 Vector4 속성의 값을 설정합니다.
이 함수가 호출 되면 드로우콜이 증가할 수 있습니다.
optTransform 대신, transformName과 rootUnitIndex를 입력해서 대상을 지정할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
Vector4 vector4Value : Vector4 값
string propertyName : Vector4 값이 적용될 쉐이더 속성 이름
int propertyNameID : Vector4 값이 적용될 텍스쳐가 적용될 쉐이더의 속성 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
apOptTransform의 재질의 텍스쳐의 Offset 속성의 값을 설정합니다.
이 함수가 호출 되면 드로우콜이 증가할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
Vector2 textureOffsetValue : 텍스쳐 오프셋(Offset) 값
string propertyName : 대상이 되는 텍스쳐의 쉐이더 속성 이름
apOptTransform의 재질의 텍스쳐의 Scale 속성의 값을 설정합니다.
이 함수가 호출 되면 드로우콜이 증가할 수 있습니다.
apOptTransform optTransform : 참조하고자 하는 apOptTransform
Vector2 textureScaleValue : 텍스쳐 스케일(Scale) 값
string propertyName : 대상이 되는 텍스쳐의 쉐이더 속성 이름
메시가 포함된 apOptTransform이 렌더링되도록 합니다.
apOptTransform optTransform : 보이고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
메시가 포함된 apOptTransform이 렌더링 되지 않도록 숨깁니다.
apOptTransform optTransform : 숨기고자 하는 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
apOptTransform의 메시들이 동일한 텍스쳐를 사용한다면 apOptTextureData에서 일괄적으로 제어하는 것이 가능합니다.
apOptTextureData의 함수들을 이용하여 텍스쳐, 색상 등의 재질 프로퍼티를 수정하면,
자동으로 이 텍스쳐를 이용하는 모든 메시가 변경이 됩니다.
일괄 변경 함수들
- SetMeshTextureAll(Texture2D texture)
- SetCustomImageAll(Texture2D texture, string propertyName)
- SetCustomImageAll(Texture2D texture, int propertyNameID)
- SetMeshColorAll(Color color)
- SetCustomColorAll(Color color, string propertyName)
- SetCustomColorAll(Color color, int propertyNameID)
- SetCustomFloatAll(float floatValue, string propertyName)
- SetCustomFloatAll(float floatValue, int propertyNameID)
- SetCustomIntAll(int intValue, string propertyName)
- SetCustomIntAll(int intValue, int propertyNameID)
- SetCustomVector4All(Vector4 vector4Value, string propertyName)
- SetCustomVector4All(Vector4 vector4Value, int propertyNameID)
string optTextureName : 참조할 apOptTexture의 이름. 에디터의 이미지(Image)의 이름입니다.
apOptTextureData : 참조한 apOptTextureData. 없다면 null 리턴
apOptTextureData를 사용하는 모든 메시의 텍스쳐를 일괄적으로 교체합니다.
"_MainTex"를 대상으로 하는 경우 "SetMeshCustomImageAll" 함수 대신 "SetMeshImageAll" 함수를 이용해주세요.
string optTextureName : 대상이 되는 apOptTextureData의 이름. (에디터 상의 이미지 이름)
Texture2D texture : 교체할 텍스쳐
string propertyName : 적용하고자 하는 재질의 프로퍼티 이름
int propertyNameID : 재질의 프로퍼티 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
모든 메시의 색상을 일괄적으로 교체합니다.
optTextureName을 입력하면 해당 apOptTextureData를 사용하는 메시들을 대상으로 색상을 설정합니다.
mainColor를 수정하는 경우 기본적으로 2X Multiply 방식의 색상을 사용합니다.
"_Color"를 대상으로 경우 "SetMeshCustomColorAll" 함수 대신 "SetMeshColorAll" 함수를 이용해주세요.
string optTextureName : 대상이 되는 apOptTextureData의 이름. (에디터 상의 이미지 이름)
Color color : 설정할 색상
string propertyName : 적용하고자 하는 재질의 프로퍼티 이름
int propertyNameID : 재질의 프로퍼티 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
모든 메시의 알파(투명도)를 일괄적으로 교체합니다.
optTextureName을 입력하면 해당 apOptTextureData를 사용하는 메시들을 대상으로 알파를 설정합니다.
"_Color"를 대상으로 경우 "SetMeshCustomAlphaAll" 함수 대신 "SetMeshAlphaAll" 함수를 이용해주세요.
string optTextureName : 대상이 되는 apOptTextureData의 이름. (에디터 상의 이미지 이름)
float alpha : 설정할 투명도
string propertyName : 적용하고자 하는 재질의 프로퍼티 이름
int propertyNameID : 재질의 프로퍼티 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
모든 메시의 Float 타입의 프로퍼티 값을 일괄적으로 변경합니다.
optTextureName을 입력하면 해당 apOptTextureData를 사용하는 메시들을 대상으로 프로퍼티의 값을 설정합니다.
string optTextureName : 대상이 되는 apOptTextureData의 이름. (에디터 상의 이미지 이름)
float floatValue : Float 값
string propertyName : 적용하고자 하는 재질의 프로퍼티 이름
int propertyNameID : 재질의 프로퍼티 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
모든 메시의 Int 타입의 프로퍼티 값을 일괄적으로 변경합니다.
optTextureName을 입력하면 해당 apOptTextureData를 사용하는 메시들을 대상으로 프로퍼티의 값을 설정합니다.
string optTextureName : 대상이 되는 apOptTextureData의 이름. (에디터 상의 이미지 이름)
int intValue : Int 값
string propertyName : 적용하고자 하는 재질의 프로퍼티 이름
int propertyNameID : 재질의 프로퍼티 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
모든 메시의 Vector4 타입의 프로퍼티 값을 일괄적으로 변경합니다.
optTextureName을 입력하면 해당 apOptTextureData를 사용하는 메시들을 대상으로 프로퍼티의 값을 설정합니다.
string optTextureName : 대상이 되는 apOptTextureData의 이름. (에디터 상의 이미지 이름)
Vector4 vector4Value : Vector4 값
string propertyName : 적용하고자 하는 재질의 프로퍼티 이름
int propertyNameID : 재질의 프로퍼티 ID (Shader.PropertyToID 함수를 이용하여 ID 획득)
모든 메시의 임의의 텍스쳐 속성의 Offset 또는 Scale의 값을 변경합니다.
Vector2 textureOffsetValue : 텍스쳐 속성의 Offset
Vector2 textureScaleValue : 텍스쳐 속성의 Scale
string propertyName : 텍스쳐 속성의 이름
apOptTransform의 재질 속성을 Bake 상태의 값으로 돌려놓습니다.
드로우콜이 줄어들 수 있으므로 성능이 좋아질 수 있습니다.
apOptTransform optTransform : 대상 apOptTransform
int rootUnitIndex : 루트 유닛의 인덱스 (없을 경우 전체 검색)
string transformName : 참조 하는 apOptTransform의 이름 (에디터 상의 메시 이름)
모든 apOptTransform의 재질 속성을 Bake 상태의 값으로 돌려놓습니다.
드로우콜이 줄어들 수 있으므로 성능이 좋아질 수 있습니다.
요청된 텍스쳐를 사용하는 모든 재질 속성을 Bake 상태의 값으로 돌려놓습니다.
드로우콜이 줄어들 수 있으므로 성능이 좋아질 수 있습니다.
string optTextureName : 참조할 apOptTexture의 이름. 에디터의 이미지(Image)의 이름입니다.
이미지의 텍스쳐 변경 함수를 이용하여 Extra 옵션의 대상이 되는 이미지의 텍스쳐를 변경하였을 경우, 해당 이미지의 텍스쳐를 Bake 상태의 값으로 돌려놓습니다.
Extra 옵션 처리에만 영향을 주는 함수입니다.
string optTextureName : 참조할 apOptTexture의 이름. 에디터의 이미지(Image)의 이름입니다.
함수가 호출되는 캐릭터 및 인자로 입력되는 다른 캐릭터들을 포함하여 재질들을 병합하여 드로우콜을 줄입니다.
재질이 병합된 apPortrait들은 재질 일괄 변경 함수의 동작을 공유합니다.
재질이 병합된 상태에서는 재질의 속성을 변경하는 일부 함수들의 동작 방식이 변경됩니다.
이 함수가 호출되면 내부에서 "ResetMeshMaterialToBatchAll()" 함수가 실행됩니다.
자세한 내용은 관련 페이지를 참고해주세요.
params apPortrait[] otherPortraits : 다른 apPortrait들을 입력합니다. params 키워드에 의해서 1개 이상을 입력하거나 아무것도 입력하지 않을 수 있습니다.
재질 병합을 해제합니다.
이 apPortrait와 연결된 모든 apPortrait들에도 동일하게 처리가 되므로, 한번만 이 함수를 호출하면 됩니다.
이 함수가 호출되면 내부에서 "ResetMeshMaterialToBatchAll()" 함수가 실행됩니다.
GetOptTransform 함수를 이용하여 apOptTransform을 참조한 상태에서 일부 함수를 사용하는 것으로 효율적으로 스크립트를 작성할 수 있습니다.
apOptTransform의 많은 함수들은 AnyPortrait의 시스템에서 사용되는 것이므로, 여기서 소개하는 함수들만 사용하실 것을 권장합니다.
public int GetSortingOrder()
: 메시를 가진 경우, 메시 렌더러의 Sorting Order 값을 리턴합니다.
public void SetSortingOrder(int sortingOrder)
: 메시를 가진 경우, Sorting Order를 메시 렌더러에 할당합니다.