Fix : 로코코 옵티 스크립트 시스템 업데이트
This commit is contained in:
parent
fe8211693e
commit
63950e63d6
@ -1178,7 +1178,23 @@ void OptiTrackPluginDevices::ExampleDevice::ExampleGloveAdapterSingleton::Calcul
|
|||||||
sFingerNode wristRotation;
|
sFingerNode wristRotation;
|
||||||
GetWristRotation(body, handSide, wristRotation); // body 파라미터 사용
|
GetWristRotation(body, handSide, wristRotation); // body 파라미터 사용
|
||||||
sFingerNode parentRotation = wristRotation; // 첫 번째 손가락 관절의 부모는 손목
|
sFingerNode parentRotation = wristRotation; // 첫 번째 손가락 관절의 부모는 손목
|
||||||
|
|
||||||
|
// 🧪 테스트 O: 엄지손가락인 경우, 손목에 X축 -20도 오프셋 적용
|
||||||
|
bool isThumb = (startIndex == 0);
|
||||||
|
if (isThumb) {
|
||||||
|
// X축 기준 -20도 오프셋
|
||||||
|
// cos(10°) = 0.985, sin(-10°) = -0.174
|
||||||
|
sFingerNode thumbWristOffset;
|
||||||
|
thumbWristOffset.quat_w = 0.985f; // cos(20°/2) = cos(10°)
|
||||||
|
thumbWristOffset.quat_x = -0.174f; // X축 기준 -20도
|
||||||
|
thumbWristOffset.quat_y = 0.0f;
|
||||||
|
thumbWristOffset.quat_z = 0.0f;
|
||||||
|
|
||||||
|
sFingerNode adjustedWrist;
|
||||||
|
MultiplyQuaternions(wristRotation, thumbWristOffset, adjustedWrist);
|
||||||
|
parentRotation = adjustedWrist;
|
||||||
|
}
|
||||||
|
|
||||||
// 각 관절별로 부모 기준 로컬 로테이션 계산
|
// 각 관절별로 부모 기준 로컬 로테이션 계산
|
||||||
for (int i = 0; i < 3 && (startIndex + i) < outputNodes.size(); i++) {
|
for (int i = 0; i < 3 && (startIndex + i) < outputNodes.size(); i++) {
|
||||||
if (i < fingerJoints.size() && fingerJoints[i]) {
|
if (i < fingerJoints.size() && fingerJoints[i]) {
|
||||||
|
|||||||
@ -234,6 +234,14 @@ unsigned long OptiTrackPluginDevices::ExampleDevice::ExampleGloveDevice::DoColle
|
|||||||
GetProperty(kEnabledPropName, isDeviceEnabled);
|
GetProperty(kEnabledPropName, isDeviceEnabled);
|
||||||
if (!isDeviceEnabled) continue;
|
if (!isDeviceEnabled) continue;
|
||||||
|
|
||||||
|
// 🎬 Playback 모드일 때는 라이브 데이터 수집 건너뛰기
|
||||||
|
// Motive가 녹화된 프레임 데이터를 직접 사용함
|
||||||
|
AppRunMode runMode = DeviceManager()->HostRunMode();
|
||||||
|
if (runMode == AppRunMode::RunMode_Playback) {
|
||||||
|
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// Poll latest glove data from the adapter
|
// Poll latest glove data from the adapter
|
||||||
sGloveDeviceData t_data;
|
sGloveDeviceData t_data;
|
||||||
bool isGloveDataAvailable = gGloveAdapter->GetLatestData(mDeviceInfo.gloveId, t_data);
|
bool isGloveDataAvailable = gGloveAdapter->GetLatestData(mDeviceInfo.gloveId, t_data);
|
||||||
|
|||||||
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/ExampleGloveAdapterSingleton.obj
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/ExampleGloveAdapterSingleton.obj
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/ExampleGloveData.csv
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/ExampleGloveData.csv
(Stored with Git LFS)
Normal file
Binary file not shown.
|
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/ExampleGloveDevice.obj
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/ExampleGloveDevice.obj
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/GloveDeviceBase.obj
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/GloveDeviceBase.obj
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/LZ4Wrapper.obj
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/LZ4Wrapper.obj
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoDataConverter.obj
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoDataConverter.obj
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoDataParser.obj
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoDataParser.obj
(Stored with Git LFS)
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,2 @@
|
|||||||
|
^C:\USERS\USER\DOCUMENTS\STREAMINGLE_URP\OPTITRACK ROKOKO GLOVE\ROKOKOGLOVEDEVICE\EXAMPLEGLOVEDATA.CSV
|
||||||
|
c:\Users\user\Documents\Streamingle_URP\Optitrack Rokoko Glove\RokokoGloveDevice\x64\Release\ExampleGloveData.csv
|
||||||
@ -0,0 +1 @@
|
|||||||
|
^C:\USERS\USER\DOCUMENTS\STREAMINGLE_URP\OPTITRACK ROKOKO GLOVE\ROKOKOGLOVEDEVICE\EXAMPLEGLOVEDATA.CSV
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
^C:\USERS\USER\DOCUMENTS\STREAMINGLE_URP\OPTITRACK ROKOKO GLOVE\ROKOKOGLOVEDEVICE\EXAMPLEGLOVEDATA.CSV
|
||||||
|
C:\USERS\USER\DOCUMENTS\STREAMINGLE_URP\OPTITRACK ROKOKO GLOVE\ROKOKOGLOVEDEVICE\X64\RELEASE\EXAMPLEGLOVEDATA.CSV
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=8.1:
|
||||||
|
Release|x64|c:\Users\user\Documents\Streamingle_URP\Optitrack Rokoko Glove\RokokoGloveDevice\|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoGloveDevice.dll
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoGloveDevice.dll
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project>
|
||||||
|
<ProjectOutputs>
|
||||||
|
<ProjectOutput>
|
||||||
|
<FullPath>c:\Users\user\Documents\Streamingle_URP\Optitrack Rokoko Glove\RokokoGloveDevice\x64\Release\RokokoGloveDevice.dll</FullPath>
|
||||||
|
</ProjectOutput>
|
||||||
|
</ProjectOutputs>
|
||||||
|
<ContentFiles />
|
||||||
|
<SatelliteDlls />
|
||||||
|
<NonRecipeFileRefs />
|
||||||
|
</Project>
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoGloveDevice.vcxproj.FileListAbsolute.txt
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoGloveDevice.vcxproj.FileListAbsolute.txt
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoUDPReceiver.obj
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/RokokoUDPReceiver.obj
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/dllmain.obj
(Stored with Git LFS)
Normal file
BIN
Optitrack Rokoko Glove/RokokoGloveDevice/x64/Release/dllmain.obj
(Stored with Git LFS)
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user