It bothered me for a long time.

I must tween the CFrame value to the model group. Because physical system cant Solve some problems.

So the cframe value blend position and rotation together. I cant tween single one .

for example , I need move my tank from A to B point. And in the same time I need my tank rotate to

aim something.

How to solve this problem?

What does your current code look like? If it’s for a thing like a tank turret it will be easier to use welds to seperate the prices and tween the C0 or C1

If it’s for the entire body then you will need to tween the orientation seperately like:

```
--in an CFrame instance value changed event
Tank.CFrame = tankOrientationCF + Tank.CFrame.Position
```

Then tween the CFrame value instance, which triggers the new formula.

```
local model = script.Parent
local primaryPart = model.PrimaryPart
local ts = game:GetService("TweenService")
local tween = ts:Create(primaryPart, TweenInfo.new(1), {["CFrame"] = primaryPart.CFrame * CFrame.Angles(0, math.rad(180), 0)})
tween:Play()
```

This will work providing the model has a PrimaryPart specified.

Yes, this method is effective. But CFrame Value still complicates the simple problem.

Now I must Calculate each of the postition or rotate at every change point , even to calculate the lerp value which is not reach the tween target?