SE 확장
개요
SE 확장(SA_A2XL_R18.prefab)은 Modular Avatar를 통해 비파괴적으로 추가하는 R18 확장 파츠입니다. 본체 아바타에 추가하는 것만으로 다음 기능이 활성화됩니다.
메뉴 구조
MA Menu Installer에 의해 최상위 메뉴에 자동으로 통합됩니다.
R18 Menu
├─ PubicHair(ON/OFF)
├─ Clitoris(라디얼)
├─ Nipple_L(라디얼)
├─ Nipple_R(라디얼)
└─ Pussy_Open(라디얼)
| PubicHair | 음모의 표시·비표시를 전환합니다. 설정이 저장됩니다(saved: true). | |
| Clitoris | 클리토리스에 대한 접촉 강도를 실시간으로 표시합니다. 세션 중에만 동기화됩니다(saved: false). | |
| Nipple_L | 왼쪽 유두에 대한 접촉 강도를 실시간으로 표시합니다. 세션 중에만 동기화됩니다(saved: false). | |
| Nipple_R | 오른쪽 유두에 대한 접촉 강도를 실시간으로 표시합니다. 세션 중에만 동기화됩니다(saved: false). | |
| Pussy_Open | 개폐 상태를 수동으로 조정합니다. 세션 중에만 동기화됩니다(saved: false). |
접촉 감지 시스템(ContactReceiver)
VRChat의 ContactReceiver 컴포넌트를 통해 다른 플레이어나 자신의 아바타로부터의 접촉을 감지합니다.
| 센서 | 감지 부위 | 대응 태그 | 감지 반경 |
|---|---|---|---|
| Sen_Clit | 클리토리스 | Foot / Finger | 0.02m |
| L_Sen_Nipple | 왼쪽 유두 | Foot / Finger | 0.025m |
| R_Sen_Nipple | 오른쪽 유두 | Foot / Finger | 0.025m |
전체 센서 공통 설정:
allowSelf: true— 자기 자신의 접촉도 감지allowOthers: true— 다른 플레이어의 접촉도 감지minVelocity: 0.05— 최저 속도 필터(오감지 방지)
파라미터 구조
접촉 감지 시스템은 Bool과 Float 두 종류의 파라미터를 조합하여 동작합니다.
| 파라미터 | 타입 | 역할 |
|---|---|---|
Clitoris_Contact | Bool | 현재 접촉 중인지 여부(ContactReceiver가 직접 씀) |
Nipple_L_Contact | Bool | 왼쪽 유두 접촉 중 플래그 |
Nipple_R_Contact | Bool | 오른쪽 유두 접촉 중 플래그 |
Clitoris | Float | 클리토리스 누적 접촉 강도(0.0〜1.0) |
Nipple_L | Float | 왼쪽 유두 누적 접촉 강도(0.0〜1.0) |
Nipple_R | Float | 오른쪽 유두 누적 접촉 강도(0.0〜1.0) |
_Contact 계열의 Bool은 실시간으로 '지금 닿고 있는가'를 나타내며, Float 계열은 접촉 이력의 누적값으로 쌓입니다. Float 파라미터는 synced: true / saved: false — 세션 중에만 동기화되며, 로그아웃하면 초기화됩니다.
값의 증감 로직
접촉 중(_Contact = true)에는 대응하는 Float 값이 +0.02/tick으로 상승합니다. 접촉이 끊기면 SYS_NSFW_Contact_Subtract 레이어가 가동되어, 값이 0.2 이상인 한 -0.02/tick으로 서서히 감쇠합니다. 이를 통해 접촉의 여운이 자연스럽게 남는 동작이 구현됩니다.
Float 값이 0.99를 초과하면 특수 상태로 전환됩니다:
| 부위 | 임곗값 | 전환 대상 상태 |
|---|---|---|
| 클리토리스 | Clitoris > 0.99 | CLITORIS_ORGASM |
| 왼쪽 유두 | Nipple_L > 0.99 | LACTATION_L |
| 오른쪽 유두 | Nipple_R > 0.99 | LACTATION_R |
애니메이터 레이어 구성
R18FX Controller는 역할별로 독립된 레이어로 구성되어 있습니다.
| 레이어 | 역할 |
|---|---|
SYS_NSFW_Contact_Subtract | 접촉이 끊겼을 때 Float 값을 자동으로 감쇠시키는 시스템 |
FX_CLITORIS_CONTACT | 클리토리스 접촉 중에 Clitoris를 가산하고, 상한에서 오르가즘으로 전환 |
FX_NIPPLE_L_CONTACT | 왼쪽 유두 접촉 중에 Nipple_L을 가산하고, 상한에서 사출로 전환 |
FX_NIPPLE_R_CONTACT | 오른쪽 유두 접촉 중에 Nipple_R을 가산하고, 상한에서 사출로 전환 |
FX_CLITORIS_ERECTION | Clitoris 값으로 Clit 본의 LocalScale을 드라이브 |
FX_NIPPLE_L_ERECTION | Nipple_L 값으로 Nipple.L 본의 LocalPosition을 드라이브 |
FX_NIPPLE_R_ERECTION | Nipple_R 값으로 Nipple.R 본의 LocalPosition을 드라이브 |
FX_PUSSY_OPEN | Pussy_Open으로 SPS act_(i)_open과 배뇨 에미터를 제어 |
FX_PUSSY_OPEN 레이어의 IDLE 상태에는 CostumeBody = 2(탈의 상태)의 전환 조건이 설정되어 있습니다. 기본 의상을 삭제한 경우 이 조건이 충족되지 않아 PUSSY_OPEN이 작동하지 않습니다.
대처법:
SA_A2XL_SE R18FX의CostumeBody파라미터를 삭제하고,FX_PUSSY_OPEN레이어의 IDLE 상태 조건도 삭제한다.- 또는 자체 제작 의상의 탈의 상태에
CostumeBody = 2를 할당한다.
애니메이션의 드라이브 방법
ERECTION 계열 레이어는 m_TimeParameterActive: true를 사용하여, 애니메이션의 재생 위치(Time)를 Float 파라미터의 값으로 직접 제어합니다. 이를 통해 '값 0.0 = 기본 형상 / 값 1.0 = 최대 변형'이 Float 값에 비례하여 실시간으로 반영됩니다.
| 애니메이션 | 제어 대상 | 방법 |
|---|---|---|
| CLITORIS_ERECTION | Armature/Hips/Clit | 본의 LocalScale을 변화 |
| NIPPLE_L_ERECTION | Armature/.../Nipple.L | 본의 LocalPosition을 변화 |
| NIPPLE_R_ERECTION | Armature/.../Nipple.R | 본의 LocalPosition을 변화 |
| PUSSY_OPEN | Basebody / Peeing_System | SPS act_(i)_open + 배뇨 에미터의 IsActive |
SPS(VRCFury Sexual Penetration System)
VRCFury v1.1174.0을 이용한 침투 깊이 감지 시스템입니다. ContactReceiver와는 독립적으로 동작합니다.
| 오브젝트 | SPS 명칭 | 대응 BlendShape |
|---|---|---|
| Pussy | おまんこ | act_(i)_push / open_half1 / open_half2 |
| Anus | あなる | act_*_push / open_half1 / open_half2 |
침투 깊이에 따라 BlendShape가 자동으로 구동됩니다. enableAuto: true로 자동 감지가 활성화되어 있습니다.
ArmatureLink(linkMode: 4)를 통해 베이스 아바타의 본 계층에 비파괴적으로 통합됩니다.
PhysBone(물리 연산)
| 부위 | immobile | limitType | maxAngleX | maxAngleZ |
|---|---|---|---|---|
| Clitoris | 1.0 | Angle | 10° | 45° |
| Labia ×2 | 1.0 | Angle | 10° | 45° |
파라미터 목록
| 파라미터 | 타입 | saved | synced | 설명 |
|---|---|---|---|---|
PubicHair | Bool | ✓ | ✓ | 음모 표시 |
Clitoris | Float | ✗ | ✓ | 클리토리스 접촉 강도 |
Nipple_L | Float | ✗ | ✓ | 왼쪽 유두 접촉 강도 |
Nipple_R | Float | ✗ | ✓ | 오른쪽 유두 접촉 강도 |
Pussy_Open | Float | ✗ | ✓ | 개폐 상태 |