top of page

Master's Research Project

Pulmonary Arteriovenous Malformation

Final Work to be posted this Summer!

As part of my program's Master's Research Project, I will be creating a patient-education animation about pulmonary arteriovenous malformation, which will be used for individuals visiting Toronto Hospital's HHT Centre.

Work in Progress:

Shot 1.

Test-modeling an arteriole, venule, and capillary network in-between, with simple Camera movement.
 

Challenge: Create hollow capillaries that connect to the holes on the arteriole and venule.

Solution: The 'Bridge' tool is used to create capillaries, and then using 'extract' and 'extrude' to add thickness to the capillaries. The 'Target weld' tool was used to connect the free ends of the capillaries to the open holes on the arteriole and venule. Creating a 2D texture ramp node and adjusting the UV map led to the development of the gradient base colour of the vessels.

Created using Maya, Adobe After Effects, and Media Encoder.

Shot 2.

Test-modeling a blood flowing in the cross-section of the blood vessel model built in shot 1.
 

Challenge: Create multi-path blood flow that flows from the artery to the vein by traveling through the capillary network. 

Solution:

  • Method1: creating a NURB circle, then using RBC as instancer. This allows the dynamics where the RBCs not only collide with each other, but also collide with the vessel walls. Downside of this method was that unless a closed path is used, open paths create RBCs piling up at the end of the path. On the other hand, the closed, oversized path that penetrates through the vessels and loops around it in a way that it is not captured in the camera (either through a geometry with aiClipGeo shader that clips off the unwanted path, or simply a path that is big enough that even with camera movement the blood flow outside of the vessels are not captured) requires massive number of RBCs. The scene started to lag as the number of RBCs were increased, thus this method was disregarded.

  • Method2: creating a curve flow, and using RBC as the instancer. Although this method does not allow RBCs to collide with the capillaries (which will need to be visualized in the final animation), it allows the control of the width which the RBCs flow within, thus minimizing the overlap of the RBCs with the vessels. The blood flow in the arteriole and venule had been created using this method. However, complications arised when the same methodology was applied to the paths running in the capillaries: control circles were not properly being generated along the path. Rather, only the start of the path had the control circle which only allowed the omni of particles. Thus this method was disregarded as well (The reason behind this malfunctioning was later concluded as probably an unknown issue with the file I've been working with, therefore to troubleshoot this, I will need to build a new scene).

  • Method3: drawing multiple paths that run in different direction in the capillaries, and then applying motion path to manually animate the RBCs to run along the paths. This method is the least desired technique to use, especially when the speed at which RBCs run along the paths need to be adjusted for later scene in the animation. However, for the time-being this method was used to test and visualize how blood flow may look in the cross-sectioned vessels.

  • Minor conflict with cross-sectioning the vessels: boolean was initially used to make the cross-section, but it did not work for an unknown reason. Thus, a geometry (large cube) with aiClipGeo shader was used to make the cross-section.

Conclusion: there were many glitches and unknown factors that affected the animation of RBCs. Also, the large scale of the vessels with many capillaries also contributed to the size of the file and the render time. After consulting with the content supervisor, we concluded that such complex model is not needed for delivering the message to our audience. Thus, a new simpler model will be built later in time (to replace both shot1 and shot1).

Created using Maya, and Adobe After Effects.

(Method 1)

(Method 2)

Shot 3.

Test-modeling capillaries detach and unfold from alveoli.

Challenge: Create a portion of vessels that is detachable, unfoldable, as well as cross-sectionable to show the hollow interior for later shots.

Solution: A flat capillary bed model was initially constructed. Utilizing a method akin to shot 1, this capillary features a hollow interior. Subsequently, the model was "wrapped" onto a plane. This plane was then "shrink-wrapped" onto a sphere, intended to represent one of the sacs within an alveolus. This process facilitated the wrapping of the flat capillary model around the sphere. Eventually, the plane was animated with keyframes to detach from the sphere, thereby carrying the capillary along with it.

Following a similar approach, several additional capillary beds were generated, however without the hollow interiors. These beds were also wrapped and subsequently shrink-wrapped onto planes and spheres, respectively. These spheres were then arranged to form a cluster of sacs.

Employing the 'live mode', CV curves were drawn directly on the surfaces of these sacs. Subsequently, utilizing the 'shift-select face of a cube and curve to extrude' technique, additional arterioles and venules were formed.

bottom of page