Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- apk
- Android
- android app bundle
- RenderStreaming
- 유니티
- 커스텀쉐이더
- DS4
- webview
- Environment Reflections
- Unity
- AssetBundle
- Depth camera
- 역직렬화 오류
- muilt controller
- 반응형레이아웃
- TextMeshPro
- Rewired
- web3D
- 구글플레이스토어
- AR
- unityhub
- 듀얼쇼크4
- WebGL
- TextMeshPro 한글
- 랜더스트리밍
- untiy
- kinect v2
- Unity VisualStudio
- Specular Highlights
- 에셋번들
Archives
- Today
- Total
기억저장고
Unity "Rewired"에셋으로 컨트롤러 2개이상 연결하기 본문
*나는 듀얼쇼크4(DS4)의 자이로센서와 버튼값을 받아와서 오브젝트에 적용해야했다
1. 듀얼쇼크4 1개만 연결하기(에셋사용 x)
https://blog.sg4yk.com/dual_shock_motion_in_unity_en.html
2. 듀얼쇼크4 2개 이상 연결하기 (rewired 에셋사용)
**참고영상
https://youtu.be/PVVvf6J9LRo
**Rewired 도큐먼트
https://guavaman.com/projects/rewired/docs/Documentation.html
*Rewired 버튼세팅 방법
1. Window-Rewired-Create-InputManager(in Scene) 클릭해서 씬에 추가
2. Rewired Input Manager-Launch Rewired Editor 클릭
3. Rewired Editor - Players 에서 "New"를 클릭해서 적용하려는 컨트롤러 개수만큼 Player 추가
(나는 2개를 사용할것이므로 2개를 추가했다)
4. Rewired Editor - Action 에서 "New"를 클릭해서 하려고하는 기능의 이름 작성
5. Rewired Editor - Joystick Maps에서 Sony DualShock 4 클릭 후 "CreateMap"클릭(입력가능한 모든키를 보고싶다면 "CreateDefaults"클릭)
6. 키를 선택 후 4번에서 만들었던 Action클릭
* 앞에서 설정한 세팅을 스크립트에서 적용시키기
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Rewired.ControllerExtensions;
public class Ds4InputManager : MonoBehaviour
{
//
public int playerId;
public Transform controllerTrf;
private Rewired.Player player { get { return Rewired.ReInput.players.GetPlayer(playerId); } }
private void Update()
{
if (!Rewired.ReInput.isReady) return;
var ds4 = GetFirstDS4(player);//적용할 Player를 playerID값으로 찾기
if (player.GetButtonDown("PosReset"))
{
ds4.ResetOrientation();//자이로센서 리셋
}
if (ds4!=null)
{
controllerTrf.rotation = ds4.GetOrientation(); //자이로센서값 오브젝트적용
}
}
private IDualShock4Extension GetFirstDS4(Rewired.Player player)
{
foreach (Rewired.Joystick j in player.controllers.Joysticks)
{
// Use the interface because it works for both PS4 and desktop platforms
IDualShock4Extension ds4 = j.GetExtension<IDualShock4Extension>();
if (ds4 == null) continue;
return ds4;
}
return null;
}
}
'Unity' 카테고리의 다른 글
Unity WebGL 반응형레이아웃 만들기 (0) | 2022.02.18 |
---|---|
[Unity TextMeshPro] 폰트 교체 스크립트 없이 현지화(한국어,일본어,영어) (0) | 2022.02.17 |
UnityHub에서 프로젝트가 안 열릴때... 해결방법 (0) | 2022.01.07 |
unity APK 파일 스마트폰에 수동설치 안될때.. (1) | 2021.11.09 |
구글스토어 aab (150Mb이상)파일 업로드방법 (0) | 2021.09.02 |
Comments