Hi @lhx0901, welcome to the community!
I think most of what you are describing is possible with CesiumJS. Have you seen the articles on our Learning Center? One that may be relevant is Styling and Filtering 3D Tiles.
I am not quite sure what you mean by steps 3 and 4. Can you help me understand by giving a little more background about what these features would be used for?
Thank you for the response.
My project is to calculate some interactions between a structure and surrounding vegetations. In step 3, I am thinking to create some 3D tiles to represent the trees or bushes. Step 4 is to divide the structure into small cubes or just divide the surface into small squares. Suppose the vegetation is on fire, based on the relative locations, each square will receive a different heat flux. Step 5 is doing the calculation, mostly about the distance and angles between each square on the structure and the vegetation tile.