I am using Part.CFrame.LookVector to cast bullet and raycast using LookVector then i saw it raycast through part.
It works like this: create bullet => raycast (using lookvector) => if false => cframe bullet forward
How to fix it?

Does this work?
local raycastParams = RaycastParams.new()
raycastParams.FilterDescendantsInstances = {}
raycastParams.FilterType = Enum.RaycastFilterType.Blacklist --Will concider every part in game except for those on the list
local raycast = game.Workspace:Raycast(origin, direction, raycastParams) --Add paramaters to raycast
Edit:
Multiply the direction times 100 in the ray cast, and tween it to the hit position.
Try doing (RayCast.Position + RayCast.Normal)