[Unity 단락] 렌즈의 3D 모델 교체
9273 단어 Unity
https://raspberly.hateblo.jp/entry/UnityAdventCalendar2019_13
이 보도는 Unity Advent Calendar 2019, 13일째 보도입니다.
어제는 @Kan_Kikuchi 선생님의 "누구나 쉽게 사용할 수 있는 최고의 Audio(BGM, SE) Manager[Unity]"입니다.
qiita.com
이번에는 유니티 단락을 만들 거야.
주제는 "거울에 비친 3D 모델 교체"입니다.
작년 이벤트 캘린더의 파생.그리고 여기서부터 검사하는 사람!
raspberly.hateblo.jp
↑ 지난해 기사가 공개된 후 다음과 같은 반응이 나왔다.
(오래전 트윗이지만 이 기사 자체도 작년부터 썼어요)
거울에 비친 모습만 바꿨으면 좋겠어요.
- 감자젓갈(@Misojaga)December 3, 2018
재미있는 생각!
이것은 애니메이션 OP의 표현이다.이번에는 이것을 실현해 보려고 한다.
개발 환경
Unity 2019.3.0f
Magic Mirror Lite ver1.2.0
Unity2017.4.28f1
VRCSDK-2019.09.18.12.05_Public
※ 기타 2019.2f1, 2018.4.11f1 동작 확인
경로
이번에는 어떤 방법으로 할지
두 개의 층을 생성합니다: 실제 세계와 거울 세계.
Camera는 MirrorWorld, 거울은 RealWorld를 상영하지 않음
각 객체를 각 레이어에 지정합니다.
하는 일은 매우 간단해서 마우스를 몇 번만 누르면 된다.
장면 준비
일단 장면을 만들자.
역할 준비
계속해서 지난번에 SD Unity와 공포잼을 사용했습니다.둘 다 공짜 자산이야.
현실 세계에는 유니티가 있는데 거울 속에 괴물이 거꾸로 비치고 있다.
배역을 함께 놓아라.
공포장은 초기 상태에서 옆으로 향하기 때문에 수정하고 싶어요.
애니메이션을 하면 여느 때와 마찬가지로 그대로 두면 됩니다.
여기가 각자 좋아하는 캐릭터면 돼.
캐릭터를 준비할 수 없는 사람은 큐브를 써라.
계층화
레이어 생성
항목 설정 > 태그 및 레이어에서 레이어를 분리합니다.
이번에는'Real World'와'Mirror World'라는 두 개의 층을 새로 만들었다.
객체 도면층 설정
각 객체의 레이어를 설정합니다.
Unity는'Real World'로, 공포는'Mirror World'로 설정합니다.
참고로 대량의 대상을 철저히 분리하고 싶은 상황에서 노선을 만드는 대상
하위 객체의 경우 대량 변경도 쉽게 관리할 수 있으므로 권장합니다.
상위 레이어를 변경하면 하위 레이어도 함께 변경됩니다.
카메라에 나타나지 않도록
특정 층의 대상이 카메라에 나타나는 것을 방지하다.
이것은 쉽게 할 수 있다.
[카메라] 구성 요소의 [모판 잘라내기]에서 그릴 레이어를 설정할 수 있습니다.
표시하지 않으려는 도면층은 확인란을 취소합니다.
Everything은 모든 레이어를 선택하고 Nothing은 모든 레이어를 선택합니다.
이번에는 MirrorWorld 층을 카메라에 비추고 싶어서 MirrorWorld 선택을 취소합니다.
이렇게 하면 공포장이 카메라에 비치지 않는다.
참고로 이곳의 Culling Mask는 각종 조명에도 같은 파라미터가 있다
각 레이어에 평행 라이트 등을 생성하여 조명을 구분할 수도 있습니다.
거울을 보다
우리 거울 한 번 봅시다.유니티에서 거울을 만드는 방법은 다양하다.
지난번 Unity Advent Calendar 2019 #3 11일자 기사에서 소개한 무료 자산'Magic Mirror Lite'
세 개의 MirrorReflection VRCSDK 거울을 통해 동작을 확인하고 있습니다.
대칭복사된 도면층 제한
원형을 유지하면 거울이 모든 대상을 비춘다.
이를 제한하여'진실 세계'층의 대상을 볼 수 없게 한다.
방법은 Curring Mask 검사를 취소하는 것뿐입니다.(거울에 따라 매개 변수 이름이 다소 다를 수 있음)
Magic Mirror Lite로 거울을 만들 때
자산을 가져오면 Assets/MagicMirror/Pefab/Mirror가 표시됩니다.prefab를 설치합니다.
irror Script 구성 요소의 Refrect Layer에서 선택을 취소합니다.
미러 리플렉션으로 거울을 만들 때.
여기를 참고하여 재질과 스크립트를 준비하세요.복사만 할게요.
qiita.com
평면에 부착한 다음 대칭복사된 어셈블리의 반사 레이어에서
RealWorld 선택을 취소합니다.
VRCSDK 거울 사용 시
SDK의 unitypackage를 가져오면 **
Assets/VRCSDK/Prefabs/World/VRCMirror.prefab*를 장면에 배치합니다.
VRC_Mirrior_반사 어셈블리의 반사 레이어에서 RealWorld* 를 선택 취소합니다.
최종 품목
이게 완성이야.
거울에 비친 3차원 모형을 순조롭게 교체할 수 있다.
"안녕하세요, 유니티...아니요, 누구세요? 유니티가 아니에요!"
???"보글보글..."
이런 공연이 있을 수 있어요!
irrorReflection 및 VRCSDK에서도 동작을 확인했습니다.
↓ VRCSDK 거울입니다.
응용 기술: 세상을 바꾸다
위의 예에서 배역만 바뀌었지만 무대에서는
모든 것을 포함하는 세계 자체를 바꿀 수도 있다.스카이박스는 안돼
캐릭터와 마찬가지로 도면층을 전환하기만 하면 된다.
3차원 모형 이외의 입자도 마찬가지다.
현실 세계는 평범한 도시지만 거울 속에는 폐허다.
거울에만 비가 오거나 불바다가 있을 뿐이다.
너의 눈이 진실한 세계를 비추고 있니?
주의사항
캐릭터의 주의점
캐릭터의 위치는 말할 것도 없고 애니메이션도 동기화에 주의해야 한다.
RealWorld와 MirrorWorld의 캐릭터는 같은 애니메이션 제작이 가장 좋다.
드로잉 주의
전체 거울은 거대한 거울이 주의해야 한다고 말할 수 있다.
캐릭터만 있으면 괜찮지만 거대한 건물과 무대는 처리 부하가 높아진다.
경품: Scene 뷰에서 계층화
이제 카메라 및 미러의 도면층을 제한할 수 있습니다.
장면 뷰에서 도면층을 제한할 수도 있습니다.
Unity Editor 왼쪽 상단에 있는 Layers에서 눈 표시를 누르기만 하면 됩니다.
만약 장면이 난잡하다면 한번 시도해 봐도 된다.
tsubakit1.hateblo.jp
총결산
• 층을 나누어 카메라와 거울의 대상을 제한할 수 있다
· 현실 세계의 대상과 거울 세계의 대상으로 층을 나눈다.
• 카메라와 거울, 각각 표시되는 레이어를 변경합니다.
용도로,'진정한 몸짓을 비추다','자신만이 볼 수 있는 존재를 비추다'
"캐릭터의 감정표현(웃음이지만 실제로는 슬픈 것 같다)"등등.
참고로 RealWorld나 MirrorWorld*의 3D 모델 하나만 만들면
*거울만 보는 캐릭터와 거울만 보는 몬스터를 만들 수 있습니다**.
어쨌든 표현의 범위가 넓어지는 것은 좋은 일이다.
여기서 마치겠습니다.
내일 Unity Advent Calendar 2019 은 @monry 선생의 투고입니다.
이해하기 어려운 점이 있으면 메시지를 남겨주세요.
Reference
이 문제에 관하여([Unity 단락] 렌즈의 3D 모델 교체), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Raspberly/items/54556df00088d0db90e4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)