- 제 목
- 일반 UDON 노드 기본
- 글쓴이
- ITOAR
- 추천
- 9
- 댓글
- 5
- 원본 글 주소
- https://gall.dcinside.com/vr/394486
- 2020-04-10 05:27:14
- 218.158
우동 그래프, 노드만 다룹니다
C, U, 비주얼, 파이썬은 뒤로가기
전문가나 개발자가 아니기 때문에, 어려운단어 전부 빼고 기초적인것만 설명하겠습니다
우동 노드는 기본적으로
뭔가 일이 벌어져야 하는 대상들을 저장하는 뱅크블럭
어떤 행위를 해야 일이 벌어질지 결정하는 조건블럭
위 뱅크중 누구에게 일이 벌어질지 결정하는 대상블럭
어떤 일이 벌어질지 결정하는 액션블럭
정도로 나뉨
가장 기본적인 것 부터 보자
먼저 지금 내가 하고싶은건
1. 하이어라키에 있는 [Quad (udon)]을 눌렀을 때 [quad (1)]을 활성화시키고 싶어요. feat. true 스위치
가장 먼저 버튼이 되는 [Quad (udon)] 오브젝트에 udon behavior를 만들고 그래프를 생성해주자. 아래서 부터는 요 과정은 생략할게
내가 활성화시키고 싶은 오브젝트는 1개 뿐이기 때문에
뱅크는 1개만 생성할게, 가장 왼쪽에있는 [Game object]블럭이야. target은 임의로 작성한 명칭이고 이 명칭은 우동 노드 안에서만 다루게 됨
조건은 [Quad (udon)]을 눌렀을 때 발동시키고 싶은거니까 [Interact]블럭을 만들자
대상은 [Get Variable]블럭으로, 아까 저장했던 뱅크중에 어떤걸 작동시키고 싶은지 선택하게 해줘. 지금은 한개뿐이겠지
액션은 [Game Object Set Action]블럭이고 무슨 일이 벌어질지 결정하지. 나는 오브젝트를 활성화 하고싶으니까 value에 체크를 해주자
이상태로 우동그래프를 벗어나게 되면 가장 위에 사진처럼 뱅크에 지정된 [target]오브젝트를 지정하라고 칸이 생겼을거야
우리가 실제로 활성화시키고 싶은 오브젝트인 [quad (1)]을 하이어라키에서 넣어주면 되겠지.
2. 버튼을 눌러서 거울을 껏다 켰다 하고싶어요. feat. toggle 스위치
마찬가지로
뱅크는 [game object]블럭 생성
조건도 눌러야 작동하는거니까 [Interact]블럭 생성
대상도 마찬가지로 [Get variable]생성 후 뱅크에서 선택
액션인데, 우리가 지금 하고싶은건 무조건 켜지거나 무조건 꺼지는게 아니라, 눌렀을 때 반대되는 상태로 변환하는 토글스위치를 만들고 싶은것이기 때문에
[game object set active]를 생성하고 그 아래로 [Op unary negation], [game object get active self]를 만들어주자
각각 위의 사진에 나와있는 것 처럼 서로 상반된 상태로 리턴시키고, 상태가 중복되지 않게끔 함수를 통제해줄거야
요건 사진의 설명이 좀 애매한 부분이라 다시 적자면 아래에서 부터 오브젝트를 활성화 하고 들어온 bool값을 unary negation을 통해서 뒤집어주게 됨.
[bool]은 기본적으로 '맞나 틀리나를 구분하는 친구' 정도로 해석하면 괜찮을 것 같음.
결국엔
꺼져있다면 반대 상태인 켜지는거로, 켜져있다면 반대 상태인 꺼지는거로 만드는 토글 스위치가 만들어짐
3. 일정 구역 내로 진입하면 꺼지는 오브젝트를 만들고 싶어요. feat. 건물 안으로 들어가면 꺼지는 건물 밖의 거울
거울2개, 버튼 2개를 동시에 비활성화 할거야
뱅크는 오브젝트 4개를 다루니까 [game object]를 4개 박아주자
조건은 건물 안으로 들어가면 이기 때문에 건물쪽에 콜라이더를 박아주고, [on trigger enter]를 쓰자. 조건이 밖으로 나갈 경우라면 반대로 [on trigger exit]를 쓰면 되겠지?
대상은 오브젝트가 4개이기 때문에 [get variable]도 4개를 만들어주자 그리고 뱅크에서 각각 하나씩 꺼내서 박아주고
액션은 단순히 오브젝트를 비활성화 하고싶은 것 뿐이기 때문에 [game object set active]를 4개 만들어서 대상블럭 하나씩 연결해주고, value의 체크를 해제해주자. 반대로 켜고싶은거라면 체크를 해주면 되겠지. 2개 켜고, 2개 끄고 하는식으로 선별적인 활성화를 하고싶다면 마찬가지로 거기에 연결된 대상블럭에 맞춰서 value의 체크를 조정해주면 됨.
4. 월드에 달리기, 점프를 넣고싶어요. feat. VRC_playermods
뱅크는 요번엔 [float]을 사용해. 오브젝트가 아니라, 수치 값을 저장해줄거야. 각각 알아보기 편하게 만들어주자. gravity는 솔직히 필요 없을거야
뱅크에 추가로, [VRCplayer API]를 추가했는데, 개개인 유저들에게 각각 적용한다 라는 내용이 들어있는 뱅크 정도로 이해하면 될듯
조건은 월드에 접속하면 바로 실행되어야 하기 때문에 [start]를 작성, 플레이어가 월드에 들어오면 모두 활성화되어야 하니 [networking get local player]를 같이 박아줄게
대상은 뱅크 종류별로 한개씩, 모든 액션이 유저들에게 각각 적용되어야 하니 요것도 한개씩
액션은 위에서부터 각각 [걷기][달리기][점프][중력]이고, 왼쪽과 위의 api 뱅크에서 연결한 대상블럭을 각각 연결해주자
우동 노드의 좋은점이 있는데, 텍스트를 통해서 서로 만든 노드를 공유할 수 있다는 거야
아래 코드들을 그대로 복사해서 우동그래프창에 붙여넣기 하면 위의 예시를 그대로 가져와서 사용할 수 있어
그리고 위의 예시들은 모두 말그대로 예시들이고, 같은 효과를 보기위해서 더 다양한 방법으로 노드를 구성할 수 있을거야
그건 취향껏, 실력껏 하면 될거같다.
1. 하이어라키에 있는 [Quad (udon)]을 눌렀을 때 [quad (1)]을 활성화시키고 싶어요. feat. true 스위치
AM2U32rbMBTGXyXo2gqS/yuQi3btShhsg7S5GSEcSUfBmyMPW84W0jzZLvpIe4Up/0bbhBJoC0G+0JGM9Duf/X1//zwsyRzKFknv25KYtiw/w8wX5AbdZAR1AbJEEpC20H4RE8ZS1Ak1mUYaR4JRGWmguQklT0CoNI39yz+rpnBFZUlvSX6THg1j1mUBWfhplMddtgqIrTTeDa4afy0h44CYsvq1q8fb3dGaqtlgtbZwiy/yOyo32rIuSWEbB1bh4Ir01gc2ri7sdLdNhovG4aw73CwGnVmjqrosZNAZYd14sr6nWI+g86EtXVtj32LraiiDztdWloX6hIvb6gfavswySFSSchHFyHJxr3LOQAlJQyNzGosspyIESbnQERqdcR0BWY1XwRM591JO7ta9XNtpYfHGb227+i/wSYcfCpyE+V7ghKeHAgePnrcXm6x7Patv5KCeonsd12VVlQj2bcFua3/F+WF9hLJ5Jde7WC3LTSrShHIufNwolVChY0Glt0IOaWhELg+tdj1H6yYD67CGR9biKCLOkohqBiGNc8l9dnFJo9AAMyGPueZHrBWF8QvWemomIlEbprhnZSnQGMDfkWBKwds3g8wIGWXkueWe8x9NiO5kMkR3oVwxRz/daL77FfblqPJ97rs9ieTFpD4WJKfk/z07x5R5RzeP/fgH
2. 버튼을 눌러서 거울을 껏다 켰다 하고싶어요. feat. toggle 스위치
AM2V207bQBCGXyXaa2+0tvcYiYu2UIQq0UqB3FSRtbuejdyaNfKBNgp5sl7wSH2Fbg4EkQQUCVCRfeHD7njmm/8f//1zN0M3uuwADb7PkOvK8lxfhRs0nDYtXH2sqhK072dZdZ1del1Pz2Gi26LyWfZoxdYtilBX5CFM6lJwuaA4tpRgmgjAhnOC84Q7KriQoGRYfF01xSIqGszQbzTAMeN9EqFpuEw56ZN5hHyVw+XZcRMSRdKBgpxQLKUCTCkDLFkcY0c1k8TmueHxLUHjCLmy+rXeNV7FGC2qbZbldr5op1/ND7DtaMVghgrftNpbODtGg8Vnm7Yu/GT9GqH5eB494nS5iHHiJ4WH0/BkFS3wmkCbadsWNzCE0j2F55BCnseTCL6DR3Eicq1z7DjLMU3THBtGGeYpT5VhjoYF/xnPENoPSzpP6GhUBT73lIQFLSBRmFptMRUixyqWBMtYC61E4mJjnqdE5a6IDqQUHaThN8IZvU4XTm7At9mZb6EOmtxwdcQwSTXHaQw8qC+NsVEmCVwlS51QPGX71JdIuTGnSLa5PsZwWO+2YW3nP9J1oU0J2V45beqxQjquOMNxvHCTtQyrnCpsQvuk5olTcp9OluJY6yTdqQeFHQ/nu2nyyib94fJh1LtqbFWXhYl6I6ibUNwR7ZPFEfU+dWXb1XDkoWtrXUa9b50pC/sFphfVT/BHRgjNLOOxSikQqW5bXYfp9bK81nZ+3cQu6vCJ95fWZ102L8zrLdp4kBt2RsVp+G/d221jrENG5T5j8YdBQXYH8BuY6R3gHM//AQ==
3. 일정 구역 내로 진입하면 꺼지는 오브젝트를 만들고 싶어요. feat. 건물 안으로 들어가면 꺼지는 건물 밖의 거울
AO1Z227bRhD9FWOfucLeLwL80DZuEBRoisbRS2EIe5l12dBkQVJuDcdf1od+Un+hS1/SICJYwpFRpRZ0AS/a3eGZOWd2Rn/98ec1unTVBtDyp2uUNlX1vbvIJ+htXfZXJ/V5WcPLfOW1/wVCv1iv30D/VejLS8iHV10PF183TQWufjhdNWVEBdrk7yXyIkHgnGDmpMciKIONIwpzrgnnykXvef7xr01X9mVTo+U1+h0tMRNkQQp0lQ+FZQtyU6C6ifD21Ysum4k8yaOtUDjGoPKsXmBHtRoWYT5aG03y70meF50VKFXNbw8DhSMGuAastGJYGJmwUcFg6y2YpKwUBoYxw2KrAZTuFpXNAMUdAKs7qK5RWXe9qwO8eoGWg31d35b1+f1thG6Kxw07GwZ+5IWX0K9Xri2dr+AfVGc8/zSqXJEtVD8Baxcw3EXE4s3txeLoogtNW5W+OFpB22XLjsWCDK/i6JtN1W9aOK5h07euKo5+2PiqDN/B1WnzDupjr7WTQSpquQBi7PscF8RRFzD33GFBPMfemoAFZclpo4iSeiacEEErn8MgMJKjgoDEPhmOueOcClDRC7sNpxH/HzDzh0GKFmvGeKZcgEwJwbFLWhvQNlHDtsHciUJYHVLSELGixuZYpnlVSx2WSXKbaaqcZlPgj+nDHIeO6cNeMX8n6M4SvAl0lVVb6GopPKWW4GCZxCKqiL0SCVPDjQhWWMfH1XeWq/fKB6NyMef5pzCVSnzhckETcTo7DTvpYuaXzgjE7NKUErFEcWm52gbzAcj1aGR/gHeWFm0nN0XZJMDFR++9Yf0T+ii1Td2HnyG8+zzb7tVlt8adtnmJ/TPrW1d1n2nXU7gy6EGqlcRZdSDrZpDYRmGxzzQxTrFkjX803WbtoybpNpYjnh3dfgTXHth2YNu/sG1W5txmmyHTu4fnxrbb5HZRtm3T7mFgH/j29Hw7uYS6X7+uT9vy/Bzak7qH9gPLQiaZpbnqC8n6nMmEwp5yhZVhVCSgRJuxrpNgZCKnfVLMKMNB2KixkSbnTU11NntgclAkJq41OLFVzMyqL5gzNFoTsdO5OBKMAnYiBQyaEyct+KDddHfny68wTMqVOgiBGU0i11iaYU+izEVAsiTZGHS0jxbhWZNPivBhy3O/5Tlo8DPW4J10qGbp6KTajZFxjoaO9qhm/WHxH/eozm7+Bg==
4. 월드에 달리기, 점프를 넣고싶어요. feat. VRC_playermods
AO1a224bNxD9FWOfRYOX4c1AHpqkDdIUaRGl7kNhCLwMXSXrlSGtkhqOv6wP/aT+QmflOEkjdb1N7VZKDOlBXAm7w8NzhmeG+uO338+rV6FeYnXw83lVlnX9NJzQoHqE7eQwzKch1liNquU008USQamCjunsPAOfCwsid0PriizS6Zzox6ezxbSdzprq4Lz6tTpgUst9PqrO6KPh+/xiVDWzjD8+frigp1bV0agq9ez12/HR5beHXVCLVVTLZtqefR9fYGoPL0M9r6bNog1NwscPq4Puhot2Pm2O335djc8WLZ7sj1cXR3snizSb19M42jvE+YICuwf7vHuN9h4s63Y5x3sNLtt5qEd7PyxjPU1P8Oz57CU296K1QSdthFeA3Pk3qLBwIzXjJREEPCsWVFFMQpQilphQY3VxdDG6Hk0BCcDaxAymTGhGxRzdlaGIOksOGmTsRVPIHQfTZwXAwTLU0RKYnjOnAzB0zkiO0dEvB4KZvJMhKM68t4GB8pJFbgqTotjobeFSqn5qgtx1bnqMUSICMxaQMDCBOQF8pdEYgrOx6IFwKpN59IKziCAZCEIySiK8QCWKwiwwhn44pTU7DqfkJmjMhpkgSZ/BI2EgJCshCgGEhFF8qNRLETHmTFLvbkWJgjmwRFbkhqegIblrEqdQuy52IVPggQNTHZHAE09dsoIZ70QGKZFAWIfzCsrJZWRjCusDXAclkHVcAeAKVwfrsI4+eN8exKuZ3DDEVYfeVq368Ty8onD+XWD3Z7MaQ3OzkT2f0yO2L6xvQr341LgGZiMk+8Yhe6YiGRmghM6CpuxWRAFyMCqJbK9J7nyDbHYqG92gjzOGK16MZ9pS/gEBwELgyDjZDpW4ddrIfjgVuDs4r+AMSkddQmI5C6BbacfIiSDLqdjEo7HOXGM9wO/6XvlpcI43it1oLshesEAmmIEzmgVHe28uLmZdosAk1uEU7yu2TVXGqFKFQzK6sJSsog3VaRYtDcnfuGx4EdzEN/wj1CtLYpC5AEuq0LwCheUC0LyiBZdiEkaH6rNYmxvK3+/sz+GzB+OHT+6HBdKnH+pwhvOvTqfvV3lIUP2Vud/g12/XCW2fW6lnKdSnK3Q/M2uwrXH9U8c/qIrodfzqvyf6LVp+2D4RvVienG4hS78Iv98vnkEdjV7xSLnBqe6sePT2iWe+bBaniHkLmXonoGpQh7VXQFpvtNM7KiC1fQJ6HeqXdwr6PxW0sVLZn0yoPH102Q2kdcfmuP1l8heVXY0OZ6S1d4pTVO9LH1ghr0d+zzvaspxg2kke0eQExfeWr+uHOkNOMd90++CQA7q1GncLCqNbEPqGg46+dX62bMadBgcssOYuiGA4E5hogYshQ28wswjadn2ELGFDC1/09s6GdORWKzzkmGu9i5FTV1HbyIzqWipIvIhW0gxUKcbmgEGbG+li7DwPfqJkPJQIg3pDPUTY1PUb0ktcEWHI8fE6EQZx944IRIRvqSZ8fHK6pI1mABUGCayHCpuOJ4Ycelxm/QFntetUGLRPfYFUeIrt69n8JT2WiHCM7eS7rsV2yY7JdV3NIU3m/q6mNmtM6N+uP57J16+waSfjNszbd2FxRzuDjEDVsO6qAOtZSDwxHyQIj8DDxj9HdFbkb3vqH9FpUNd+Pfajiz8B
정말모르겠다 | 고생하셨습니다. - dc App | 2020.04.10 05:33:34 |
epimehyun | 2020.04.10 05:38:01 | |
Byanka | 빨리 추천 박아 - dc App | 2020.04.10 05:57:49 |
조개껍데기 | 강좌탭으로 옮겨줘 | 2020.04.10 06:00:18 |
꿀뚤 | 2020.04.10 06:28:34 |