-
$interval을 사용하여 오브젝트 scale 변환PTC/Vuforia 2022. 6. 10. 10:13
var unityScale = $scope.app.params['UnityScale']; var getScale = 0; $scope.modelScale = function(){ $interval(function(){ if(unityScale > parseFloat($scope.view.wdg['model-1']['scale']) && (unityScale - parseFloat($scope.view.wdg['model-1']['scale']))>0.01) { getScale = parseFloat($scope.view.wdg['model-1']['scale']) + 0.01; $scope.view.wdg['model-1']['scale'] = String(getScale); //control.log($scope.view.wdg['model-1']['scale']); //console.log(getScale); } else if(unityScale < parseFloat($scope.view.wdg['model-1']['scale']) && (parseFloat($scope.view.wdg['model-1']['scale']) - unityScale)>0.01) { getScale = parseFloat($scope.view.wdg['model-1']['scale']) - 0.01; $scope.view.wdg['model-1']['scale'] = String(getScale); //control.log($scope.view.wdg['model-1']['scale']); } },5); }
Thingworx를 이용하여 유니티에서 scale 값을 전달받고 해당 값을 파라미터에 저장하여 현재 model의 scale값과 비교하여 값을 더해주고 빼주는 방식
파라미터 값과 scale값만 비교하는 조건문을 넣었을 때, model 떨림 현상이 발생했다.
소수점차이로 증감하는 조건문을 계속 실행하여 scale값의 증감이 멈추지 않고 계속 변하기 때문에 떨리는 것처럼 보인 것으로 판단
그래서 scale값과 파라미터 값의 차가 0.01보다 크다라는 조건을 추가하여 0.01보다 작을 시 조건문을 실행하지 않도록 조건을 세분화 함.
'PTC > Vuforia' 카테고리의 다른 글
[PipingModel] 2D UI추가 및 기능 구현 (0) 2022.06.29 [GasTurbine]색상 변경하기 (0) 2022.06.28 [PipingModel] 3D 모델추가 및 기능구현 (0) 2022.05.18 [PipingModel] Resources Upload, Setting (0) 2022.05.18 [PipingModel] app.scss 작성 (0) 2022.05.17