fn RotatePivotOnly obj rotation=
(
local rotValInv=inverse (rotation as quat)
animate off in coordsys local obj.rotation*=RotValInv
obj.objectoffsetrot*=RotValInv
obj.objectoffsetpos*=RotValInv
) -- 맥스 스크립트에 있는 예제임 .. 제머리로는 분석하기가 골치아파 그냥 인용했습니다.
obj=$
current_face=(getFaceSelection obj as array)[1]
newpivotpos=polyop.getFaceCenter obj current_face
-- 추가 부분 --
cf_normal=polyop.getfacenormal obj current_face -- 선택면의 노말방향 구하기
resetpivotangle=(quat 0 0 0 1)-(obj.transform as quat) -- 월드축과 오브젝트 피봇축과의 차이 구함
RotatePivotOnly obj resetpivotangle -- 현재 오브젝트 축을 월드축과 정렬 이렇게 해놓으면 다음에는 피봇의 회전값만 더해주면 되지요. ^^ 맥스 하이어라키 패널의 Align to world와 같은 기능이 되겠습니다.
첫댓글 animate off in coordsys local obj.rotation*=RotValInv 이부분이 중요한거 같더군요.. 이것을 제거하면 물체가 피봇 지정한 방향만큼 돌아가 있는게 나옵니다.
수고하셨습니다...잘되네요...피봇을 돌리는 메소드는 없고 오브젝트자체를 돌려야되서 좀 까다롭긴하네요...^^
우와 님들 정말 대단하시네요... 감사합니다... 요즘 3d그래픽 배경 작업을 하고 있어서 궁금한것만 늘고..머리는 안따르고... ㅋㅋ 너무너무 감사합니다..