refine scene update, add particle