AU Class
AU Class
class - AU

Build the Matrix City of Machines Using USD Across the Maya Tool Sets

Share this class
Search for keywords in videos, presentation slides and handouts:

Description

Learn how to use USD across the Maya tool set to help solve the problem of being able to store, edit, and export complex asset data like modeling, materials, lighting, and shading variations in a single USD container. This also allows users to transport and share these data across different software products along various stages of a pipeline non-destructively and without any loss of fidelity. Create, edit, and share complex USD prototypes with multiple variants, purposes, and so on, using only the Maya tool sets. Finally, use the power of Maya Bifrost to procedurally create an entire city of pods from one unique module by creating complex prototypes and USD Point Instancer that can be rendered easily with the Arnold MtoA plug-in.

Key Learnings

  • Learn about store modeling, animation, lighting, and shading data with multiple variants in a single USD container.
  • Learn how to create, edit, and share complex USD prototypes using only the Maya tool set.
  • Learn how to purpose USD data easily with Maya, Arnold, and Bifrost as “proxy and render” data for better viewport performance.
  • Learn about building Modify and Edit USD content procedurally with Bifrost and rendering trillions of polys with Arnold fast and efficiently.

Speakers

Video Player is loading.
Current Time 0:00
Duration 41:20
Loaded: 0.40%
Stream Type LIVE
Remaining Time 41:20
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected
Transcript

SEBASTIAN ORTEGA: Hello, and welcome to this Autodesk University session. Today we'll show how to use USD inside of Maya in order to create and render complex scenes using the Maya tool set, so Maya USD Bifrost USD, and Arnold. I'm Sebastian, I work in the Arnold team at Autodesk. And on my side, I will start by doing first a technical overview of how all these different plug-ins work inside of Maya, how they interact together. And after that, you will see practical examples, more detailed use cases, and about how to get the images that you want.

So most of what we will show today is done with software that was already released, but we will also be showing some tools that haven't been released in Maya yet, so for that, please read this Safe Harbor Statement. Be aware that all this is work in progress, and do not make any purchasing decisions based on it.

OK. Most of you must already know that USD is the scene description format meant for content creation, and that has been developed by Pixar. It is meant to handle complex production scenes. In collaborative workflows, it's designed to be extensible. And so how do we support USD in Arnold, it's all exposed in the project called Arnold-USD, which is open sourced on GitHub at this address that you can see. Everything is public, so the source code the tickets, the triage, the roadmaps, so I welcome everyone to take a look, post the features requests, report bugs and so on. And if you look at it, you will see that USD has been a very, very active area of development in the Arnold team in the last few years.

So in the list of things that Arnold USD can do, an important one that we'll cover here is that it makes USD a file format for Arnold which means that everything that can be represented in Arnold, or everything that can be rendered in Arnold, can also be represented in the USD description. So for that, we've needed to do some extensions to USD to represent all the Arnold-specific nodes and that happens to what USD calls schemas. So we declare all the Arnold schemas in USD, all the Arnold shaders, and that allows us to have exactly what we need for USD.

We can then load the USD files and, for example, render them in Arnold. And we can also save them, and so we can offer USD files with exactly all the Arnold data that we want and then we can even render them in standalone. So the standalone command line for Arnold is called kick, and so kicking the USD file will really give you the final rendered image.

OK. So another open source project is Maya USD. We also welcome you to participate to this project. And what Maya USD allows you to do, for example, is to take a Maya scene with Maya native objects and export this as USD. So you will have a USD file with all the Maya nodes and you can then either reuse it in Maya or use it in other 3D applications that support USD. And what is interesting is that the Maya USD export framework is extensible, so we can customize it to add what we need for it.

Then, this USD file, you can either import it back to Maya and, which will recreate all the objects inside of Maya, but this is not what we want to show here. We want to stay as much as possible in the USD framework and so we're going to use something called the USD Proxy Shape, which is a single node in Maya, but inside of it, you will have the whole contents of the USD scene. So you can go in the outliner, you will see everything from the USD scene, you can select them, see them being highlighted in the viewport, see the attributes in the Attribute Editor, edit what you want. You can also have the Arnold manipulators to move and hide objects, et cetera.

And so it really feels like all these are Maya objects, but it's actually just one single node inside of Maya which makes it more lightweight. You can create USD primitives at any point of the hierarchy through the outliner, and that also works with custom schemas, and you have this window called the USD Layer Editor that you can see at the right. That shows all the layers in the current scene, so the USD scene is typically made of lots of different files, which is called the layer in the USD lingo.

And so five, four different assets are for different stages of the pipeline, one for modeling, one for Lookdev one for lighting. And this window really shows you all the files and allows you to, for example, disable, enable some of them so that you can change what you want to see. And also, when you do your edits, you can choose in which of these layers the edits are going to go. So here, for example, you select one specific layer. You move objects or hide them, and then if you want to save back your USD scenes, all these edits are going to go in this specific file.

So how does Maya USD work with Arnold? Well, we say that Maya USD can export USD files and that Arnold USD also can export USD files. So now, in Maya USD, you have this option called Plug-in Configuration that is meant to customize the export, and when you set it to Arnold, you will have all the Arnold data that you need on top of what Maya USD has exported. So you have the Arnold nodes like aiSkydome Light, aiStandin, et cetera. You have all the Arnold shaders that are going to be saved in the Arnold-rendered context, and you will also have Arnold attributes on top of built-in nodes. Because, in Maya, when you have meshes or lights, et cetera, you always have an Arnold section with specific attributes for Arnold which are really important in production scenes.

And finally, also, you have the Arnold render settings, which are needed if you want to render your scene in standalone using kick. We also expose the Arnold schemas so that Maya USD can find them and so that you can create any Arnold primitive at any point of the stage. And the most important one, probably, is that if you load a USD scene in the Proxy Shape and click Render, it's going to render your scene in Arnold as it is in Maya USD as it shows in the viewport. And that happens because the USD scene is shared in memory between Maya USD and Arnold, so whatever you do in Maya USD, if you hide objects, move stuff, et cetera, it will be reflected in the Arnold rendering because it's really the same data that is seen by both. So that's really important to have a good fidelity of the render, and also it's efficient this way because the scene is all in memory.

So far, we have a workflow where you can have traditional scenes in Maya with the modeling, with the Lookdev done in Maya Hypershade. You can save out your assets as USD. You can assemble them and create your shots, your layouts, do overrides, do your lighting. So you can already do a lot of different things, but in production scene, one thing that is really interesting in particular these days is to create data procedurally, and that's where Bifrost comes into play.

So you probably know that Bifrost is a tool for visual programming. Yeah, it's a tool for visual programming to create simulation, fluids, instancing, everything in a procedural way. And so you have a Bifrost graph, you have all your nodes, and you can create very complex things with that. It's all integrated in Maya, it renders in Arnold, and it's extensible through what we call compounds.

So you can create a compound that is going to include a more complex Bifrost graph inside. And using these compounds, and a bit more, Bifrost was extended to become Bifrost USD. So this time, it's the same graph but the nodes are actually representing USD data and they kind of expose the USD API. So you can use two nodes to create USD nodes geometries or you can load the USD file in to edit, assemble your scenes, and you can do all this procedurally, and all this is integrated with Maya USD. So it will create a USD Proxy Shape and you will see in the outliner the exact hierarchy of what you have created, because once again, the memory is shared between Bifrost USD and Maya USD. And as you can guess, if you render it, it's going to render the same way in Arnold because it's, once again, the same USD data that is shared in memory across the three different tools.

And yeah, so now you really have a framework where you can either create your scenes in Maya in a traditional way or create them procedurally. You can do instances, you have a lot of very interesting tools to assemble your scene, as you will see later. And for Look-dev, currently, the best way is to create your shading trees in Maya Hypershade and then export them to USD.

But then you can edit the shader attributes, as I've shown before, or if you really want to do big changes, you would have to re-import the shaders back to Maya and re-modify them in Hypershade, which is not ideal, which is why we have been working on a new tool to be shaped in Maya in the future that hasn't been released yet, which is called Lookdev X, where you can really load shading trees in USD, edit them, save them out, et cetera, as a complement to everything else that I've shown.

You can create Arnold shaders, Arnold-specific shaders, but you can also create material X shaders that will render in Arnold but that could also render in other renderers that supports the material X. And that's all for the theoretical part, now I will leave it to John Paul who's going to show all this in more practical workflows.

JEAN PAUL GIANCARLO: Well thank you, Sebastian, for that great technical overview. My name is Jean Paul Giancarlo. I'm going to be presenting how I built a matrix city of machines, as a use case, and that was built procedurally using all the USD tools available inside of Maya.

This example, again, we're going to be showing how to create procedurally a city. We're going to also see how to create modular USD prototypes and get some composition arc like variants, also in a non-destructive workflow. And it's also using the opinion-based layer system, so this is really one of the advantages of USD. It's just a non-destructive way of work.

OK, so just the agenda. As you may see, we have the technical overview, and now we're going to see a little bit of how you can create, edit, load and work with USD inside of Maya, so we're going to be assembling layout, show some assembling layout workflows. I'm going to show you very quickly how that Maya USD plug-in works, and then finally, we're going to procedurally build that city using Bifrost.

So in order to create a USD model, Maya USD, the import/export workflows, that really let artists import USD data as intrinsic metadata or export intrinsic metadata as USD data, so artists really can use Maya's tools and workflows to create and export models for the USD pipeline so they can then re-import it to make further edits if necessary.

So with this assembly layout workflow, I'm going to break it into three tasks. First, we're going to be creating a model, which is pretty much stats, data translation, so the import of data. And we're going to take the USD data on disk and make it Maya data in memory, and vice-versa. So from there, we were just going to generate use the asset. And really, it's just going to be a bunch of assets created in USD which then you can pull from. To define different variants, we create a set. Then, when we create the set procedurally, using that USD data that we created on disk. And those are the three tasks that we need to do in order to create a layout workflow, and this one we're going to be seeing today.

So first, I'm just going to click Play on this video that I prerecorded where we're going to be seeing the export, import and work, how to work with USD inside of Maya.

[VIDEO PLAYBACK]

- In order to export an object that's USD, all you need to do is select and go to File, Export Selection. Now you see you have File Type, USD. I assume I see there's a few options, to keep, include options. You can also set the plugin configuration to Arnold and you have the ability to export as ASCII or binary. You just give it a name of the [INAUDIBLE] scope. They have different motions like subdivision methods to keep geometry information; Color sets, UV sets, skeletons. skin clusters, length shapes, display colors. You can also say if this USD Preview surface or material x preview surface. Set to save animation data and all this stuff. I'm going to export selection, replace that one, and done.

There are different ways you can bring in a USD file from Maya. You can either go to Create, Universal Scene Description, Stage from File. Let's go find out. So you see, you have a prim path, low pay loads, et cetera, and I'm going to go find that specific file. So, let's save it here, USD, and that gives us this particular object, as you might see, with the actual name as a layer. So that works pretty quickly, as you might see.

Another way you can bring in information, you can delete this now, is via Bifrost graph. So for that, you can create a new graph. I'm going to delete that input because I don't need it, and I'm going to create an add to stage node. That add to stage node gives us the ability to basically bring the USD file in.

So you see, you have some inputs and some information on this side here that you can use. For this time, I'm going to pretty much just bring up prim definition. When I create a node, you will see, by right-clicking on that, it gives me this particular dev or X form. If I go here, you will see in here, it's actually seen. Make sure you have shapes enabled as Bifrost graph shape.

So if I now create an output, you will see it will give me a USD proxy 1. So if I expand that, you will see that it's seen as translate. It's foreign data, but it's a translate. So now, all I need to do is, go back here and change that and give it a name. This one's going to say kill pod, and that will be renamed automatically here. Now, next thing is to create a reference definition. So I can create a reference and then a layer. Now all I need to do is go find my object again. USD. See, it's back to the same thing. As you see, this here now is a unshareable layer, so you are doing everything inside of Bifrost.

OK. All right. So last thing, I'm going to delete all this stuff, collapse that, and we're going to unhide the pod. Now, we can also have the ability to create a scene stage with new layer. That creates an anonymous layer and it gives us this stage, Shape 1. So now what we can do is, we can grab all the subjects and duplicate two as my US data to stage one.

Now you see that appears here. I can isolate that. That comes in USD form. All I need to do now is repeat the steps, just creating that, add in my cables, and the rest of the geometry. OK. Now that that's done, I can hide that object. And you will see, the information here is kept, all that information is here, and now I have a few options.

You can see that the Maya data leaves in gray alongside with the USD foreign data. Now, what I can do, I can select all the objects in the screen. I have the ability to change things, like rotations here. I can do all these operations in USD format. But say I wanted to edit. I wanted to match this transform to that other transform, all I need to do, in this case, is grab that and edit as Maya data. Same with this one, going to find it and edit it as Maya data.

As you can see, I have now the ability to edit it. So now I can do or perform any changes, like for example, modify faces, and do whatever I want. But I also have the ability now to match, say, transforms like, say, modify and match rotations. Once that's done, I can just merge to USD, and that goes back into this part. So that's some of the operations that you can do inside of Maya as USD as you work normally.

You also have the ability to snap a line. So if you want to snap to a specific object, say I want to bring this sphere and snap it here somewhere, I have the ability to do so. So you can see, it's quite fast. See that there? So snap two points, it works quite nicely. It is quite fast.

So one last step, once you're finished editing, is just to save the session layer. So at the moment, it's an anonymous layer. So what you're going to do is, click in here, and just go find where we want to save that. In this case, I'm going to save it right over here. As you see, I have a pod USD. I can either save on top of that or just give it another name, say Pod version 02, save that. That replaces that in here, so I can save the stage. Now the stage is saved, and I can start bringing it in a different object or in a different scene.

So another way to bring in USD data is through Arnold as a stand-in. So you can click in here, go find your USD, and that will bring it in as a stand-in USD. So you have the ability to change view draw mode, viewport draw mode. You can see the different types. You see Shaded, that's going to give you the actual pod in there. Now you have the ability to work Arnold procedurals, so alembic settings, if you do have certain alembic settings. And you can also add different looks, create a new look, for example. You can see the contents of the file over here, and you can also add specific assignments like a new shader or add an operator like this. And if you show the graph, you will see everything in here.

So regardless of how you import your data as USD, or you how do you bring in your USD data into Maya, you can, as long as you use the Arnold render, Arnold plug-in configuration when exporting, you should be able to see every single texture from Arnold. So again, if you use this, it's going to support all of your textures and all your lighting information, and you will be able to see it. So just a quick render just to show how accurate that looks, and it doesn't matter if you bring it through Arnold or if you bring it through the Bifrost graph or Maya directly. You're always going to get your results and for every single variant, you'll be able to see your render.

[END PLAYBACK]

JEAN PAUL GIANCARLO: OK. So that was covering the export/import work with USD. Now we're going to see how to assemble an asset variance and define the model view per purpose, so proxy and render. These are also composition arcs, or variants, and we're going to get an asset ready so we can then later procedurally build an entire environment.

[VIDEO PLAYBACK]

- OK. So one of the advantages of USD is it gives you the ability to create and purpose an asset for specific uses. In this case, composition arcs, we're going to be using in order to create different variants of the model. For that, first thing I want to do is create a stage, Add to Stage. See, I created a proxy shape, shape 1. Now I'm going to create a new definition, this one I'm going to call it Pod Asset in this case, because it's going to have different types of variants, different type of things.

One thing you want to make sure, it's set to default, but this one's going to be the one we're going to be using for rendering. So by default, it's set to proxy, so you want to check both for the moment so you see everything, otherwise you won't see the result on screen. So now that we have done that, we're going to create a new variant set.

The variant set, we're going to call it Pod_Vars for variants, and then I'm going to select my Pod_Off which is the one by default. Now from here, I'm going to create a new children, and this children is going to be my very first pod. So Pod_Off is the name of this one, and I'm going to copy this information from the variant set back into the variant set name. Then again, the selection is just going back to here.

So now that you've seen this, basically that you set this up, you now can see in the outliner that it has a new icon as a V4 composition act variant. If I right-click, you see it appears right over here. Now it's a new variant set, so now what we need to do is start bringing in a reference, or a reference definition. Why we're using a reference definition? Because we want to be able to change without breaking anything, so non-destructively.

So now that we've done this, now we can pretty much make sure. Let's go find that asset. See, it's over here. So we see some textures, in this case. So now what we can do is just bring the rest of the variants in. You either can copy and paste this for your convenience, and then just change these, for example, to On.

Go find that On pod, and pipe it in. So now I have the ability, again, to see different variants, for on or off. You see, there was a slight change. Let's go back again. A slight change, a different object. Yeah, and finally I can bring one more variant, and you can store as many as you will, if you want. In this case, it's going to be an open version of the pod. And again, all I need to do is go into the layer.

I think I broke that, so let me fix it.

OK. And now, you will see, I have the three variants, Off, On, Open, with the open version, on and off. OK, so one last thing now. I'm going to bring in another children from the pod asset, in this case, for the USD prim, and I'm going to call this Pod_Proxy. In this case, instead of default, I'm going to set it to Proxy. No variant sets, no need for that, so I'm going to create another reference definition. It goes back to the top, another layer. Then I'm going to go find that proxy file. OK.

OK, now that I have done this, I can go back into the outliner, select this guy here. If I go to the Attribute Editor, you will see I have to uncheck that, and see just a proxy version of it. So now I have my full versions, which I can see in different versions, and I also have to be able to see just a proxy shape on the screen.

Now let's have a closer look at the anatomy of this particular asset set-up inside of Bifrost. So you can see, recapping, you have the pod asset that we created first. Then we could have variant sets, one children for proxy, and one children for renders. The proxy, we created another X form where we reference in the proxy. Then for this one, we created a Pod Open, the X form we referenced it in, so on and so forth. That, in order for us to see again or have the ability to see this version or that other version. So we could also access different types of variants on screen. We're doing this so we can optimize the way we work and make it more memory efficient as we start adding more and more instances of this specific module of a pod.

[END PLAYBACK]

JEAN PAUL GIANCARLO: OK, now that you've seen how to assemble an asset and add variants and define the purpose, I'm just going to start showing you how to build an entire environment procedurally with Bifrost. So how we're going to go now, we're going to build construct points using the USD Point Instancer, and we're going to set prototype definitions using an existing prim path.

[VIDEO PLAYBACK]

- So next step, I'm going to show you how to build a full tower or a building out of just this one particular module, procedurally using Bifrost techniques. So let's start by adding an add to stage node. As I want this to have to coexist, we leave in a separate structure over here. So I'm going to cut this, going to connect that to that, and then back to add to stage.

OK. So next step, I'm just going to add a new prim definition. This one here, I'm going to call Pod_Tower, which is what we are going to build right now. And from here, I'm going to create a new children, and the new children, I'm going to create a point instancer. A point instancer node. And for the points, I'm going to be using a compound that was already pre-built by a colleague of mine, [INAUDIBLE] and I'll explain how that works in a little bit, and I use that to connect to my points.

Now, next is to build the prototype definitions. So for that, I'm going to create another USD Prim, and this one I'm going to call it just Tower. Good. And from here, now I can start creating a reference definition. So this time around, what I want to do, instead of using the USD that I might have exported before, I want to use a specific prim path. So for the prim path, let me bring this up here. What I want to use is this pod asset, which is over here. So I'm going to just copy that, and I'm going to input that into the value over here. So now you have seen, now that I've done this, let me adjust my camera clip settings. Basically, I just created a full tower out of just that one particular module, which I can now just, say, pretty much a radial count, you can see here. Oh, the vertical count. You can add more or less, say, stories to that particular build.

Now, let's kind of dissect these construct points pretty quickly, how that works. So all this is doing here is finding out the distance between that first pod module and the origin, then it's putting them all into different arrays and adding a pi node in order to kind of figure out the circumference, and pretty much starting to multiply. So then, you can obviously start adding different amounts.

So let's say, if I set that to zero, I only have at the moment. Actually, let me do just one. So you see, and I'm going to set this to one. So now I have just 1 over here, so if I adjust a radial count to two, see it goes right on the other side, that's because it's finding out the distance between this and here and it's multiplying it, and it's just going in the other side. So, say, instead of three, six, and as you can see, it's just multiplied around that. So I know, by fact, that it's 27 sites, so I can complete a full tower over here.

So last step, I'm going to show you how now I can create a full city out of this one particular building. And it goes the same way, now, let's inspect the outliner. As you can see, I first created in pod asset, then I created a pod tower as a separate group, and now also another separate group I'm going to bring all the city. So it's pretty much the same thing, I'm going to do another add to stage, which is over here. I'm going to connect that to that, this to this.

OK, and let's, I guess, move it over here, just go up. And I'm going to create another prim definition, or actually, I can create just a point instancer, go directly to a point instancer now. So I create these instancers here, and so for the points, I'm going to create a scatter.

Scatter points, and then connect that to the points. And let's create, pretty quickly, a plane. So let's have a plane, as big as we can. Let's expand these again, it's a big city. OK. Let's pull the shape. Let's make that a little bit bigger. And now if I right-click and hold, bring that over here, now I can simply connect that as my geometry.

And for the prototype definitions, I'm going to create a new USD Prim. I'm going to do the same thing we did before. These, we're going to call it City. We're going to create a reference definition, and then we're going to specify a prim path. Before we do, I'm going to take that amount from 1,000, which is the default, to, say, just 10 just to start, so it's not too crazy over there.

And what we want to do now, is the same thing, just copy the pod tower that we created before, and just going to put it into the value here. Hit Enter, and you see now we have procedurally built kind of a city. So we pretty much just scatter across the plane, which then can now be modified, a change and whatever, because it's all built procedurally. We can change things like blue noise, we can add more buildings, we can have 20 building, or as many as we can. And because this is all built procedurally, we can still adjust. See the vertical Cam, if we want to have smaller ones or bigger ones, and we could even bigger, add taller buildings.

And yeah, I think you get the idea how you can build a full city procedurally with USD, Bifrost, Maya, and Arnold. OK, so now that we're finished assembling the scene procedurally with Bifrost, last step is just to save these. It's a whole package. So there's a node called Save USD. Add stage. All we need to do is connect that to there and these to there, and now all I need to do is just, first, go save where I'm going to go, and place it or find a place where I'm going to save this. This one's going to be called Matrix City EMV, for environment, save that. And all I need to do now is save here, save in Maya file, and we are good to go.

Now, as you might see, it's being saved as a relative path. I can uncheck this now, and I'm good to load it in a separate scene. Now, let's just go ahead and do that. So I'm going to create a new scene, and save everything, and now we can simply go and create stage from file. City environment.

That is huge. Sorry. Ten. There you go, now we've successfully loaded all those buildings into a new scene. So next step is going to be then, maybe bring in new layers where we can create maybe some passes for animation, some passes for VFX, et cetera, so on and so forth.

[END PLAYBACK]

JEAN PAUL GIANCARLO: All right. So that completed the full use case. I know it's a little bit simple, but you get the idea. I know there's a lot that you can do with USD and Bifrost procedurally. So, yeah, thank you everybody for attending this Autodesk University talk. I hope you enjoyed it, and thanks again.

Downloads

______
icon-svg-close-thick

Cookie preferences

Your privacy is important to us and so is an optimal experience. To help us customize information and build applications, we collect data about your use of this site.

May we collect and use your data?

Learn more about the Third Party Services we use and our Privacy Statement.

Strictly necessary – required for our site to work and to provide services to you

These cookies allow us to record your preferences or login information, respond to your requests or fulfill items in your shopping cart.

Improve your experience – allows us to show you what is relevant to you

These cookies enable us to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we use to deliver information and experiences tailored to you. If you do not allow these cookies, some or all of these services may not be available for you.

Customize your advertising – permits us to offer targeted advertising to you

These cookies collect data about you based on your activities and interests in order to show you relevant ads and to track effectiveness. By collecting this data, the ads you see will be more tailored to your interests. If you do not allow these cookies, you will experience less targeted advertising.

icon-svg-close-thick

THIRD PARTY SERVICES

Learn more about the Third-Party Services we use in each category, and how we use the data we collect from you online.

icon-svg-hide-thick

icon-svg-show-thick

Strictly necessary – required for our site to work and to provide services to you

Qualtrics
We use Qualtrics to let you give us feedback via surveys or online forms. You may be randomly selected to participate in a survey, or you can actively decide to give us feedback. We collect data to better understand what actions you took before filling out a survey. This helps us troubleshoot issues you may have experienced. Qualtrics Privacy Policy
Akamai mPulse
We use Akamai mPulse to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Akamai mPulse Privacy Policy
Digital River
We use Digital River to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Digital River Privacy Policy
Dynatrace
We use Dynatrace to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Dynatrace Privacy Policy
Khoros
We use Khoros to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Khoros Privacy Policy
Launch Darkly
We use Launch Darkly to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Launch Darkly Privacy Policy
New Relic
We use New Relic to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. New Relic Privacy Policy
Salesforce Live Agent
We use Salesforce Live Agent to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Salesforce Live Agent Privacy Policy
Wistia
We use Wistia to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Wistia Privacy Policy
Tealium
We use Tealium to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Tealium Privacy Policy
Upsellit
We use Upsellit to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Upsellit Privacy Policy
CJ Affiliates
We use CJ Affiliates to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. CJ Affiliates Privacy Policy
Commission Factory
We use Commission Factory to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Commission Factory Privacy Policy
Google Analytics (Strictly Necessary)
We use Google Analytics (Strictly Necessary) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Strictly Necessary) Privacy Policy
Typepad Stats
We use Typepad Stats to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. Typepad Stats Privacy Policy
Geo Targetly
We use Geo Targetly to direct website visitors to the most appropriate web page and/or serve tailored content based on their location. Geo Targetly uses the IP address of a website visitor to determine the approximate location of the visitor’s device. This helps ensure that the visitor views content in their (most likely) local language.Geo Targetly Privacy Policy
SpeedCurve
We use SpeedCurve to monitor and measure the performance of your website experience by measuring web page load times as well as the responsiveness of subsequent elements such as images, scripts, and text.SpeedCurve Privacy Policy
Qualified
Qualified is the Autodesk Live Chat agent platform. This platform provides services to allow our customers to communicate in real-time with Autodesk support. We may collect unique ID for specific browser sessions during a chat. Qualified Privacy Policy

icon-svg-hide-thick

icon-svg-show-thick

Improve your experience – allows us to show you what is relevant to you

Google Optimize
We use Google Optimize to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Google Optimize Privacy Policy
ClickTale
We use ClickTale to better understand where you may encounter difficulties with our sites. We use session recording to help us see how you interact with our sites, including any elements on our pages. Your Personally Identifiable Information is masked and is not collected. ClickTale Privacy Policy
OneSignal
We use OneSignal to deploy digital advertising on sites supported by OneSignal. Ads are based on both OneSignal data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that OneSignal has collected from you. We use the data that we provide to OneSignal to better customize your digital advertising experience and present you with more relevant ads. OneSignal Privacy Policy
Optimizely
We use Optimizely to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Optimizely Privacy Policy
Amplitude
We use Amplitude to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Amplitude Privacy Policy
Snowplow
We use Snowplow to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Snowplow Privacy Policy
UserVoice
We use UserVoice to collect data about your behaviour on our sites. This may include pages you’ve visited. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our platform to provide the most relevant content. This allows us to enhance your overall user experience. UserVoice Privacy Policy
Clearbit
Clearbit allows real-time data enrichment to provide a personalized and relevant experience to our customers. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID.Clearbit Privacy Policy
YouTube
YouTube is a video sharing platform which allows users to view and share embedded videos on our websites. YouTube provides viewership metrics on video performance. YouTube Privacy Policy

icon-svg-hide-thick

icon-svg-show-thick

Customize your advertising – permits us to offer targeted advertising to you

Adobe Analytics
We use Adobe Analytics to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, and your Autodesk ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Adobe Analytics Privacy Policy
Google Analytics (Web Analytics)
We use Google Analytics (Web Analytics) to collect data about your behavior on our sites. This may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. We use this data to measure our site performance and evaluate the ease of your online experience, so we can enhance our features. We also use advanced analytics methods to optimize your experience with email, customer support, and sales. Google Analytics (Web Analytics) Privacy Policy
AdWords
We use AdWords to deploy digital advertising on sites supported by AdWords. Ads are based on both AdWords data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that AdWords has collected from you. We use the data that we provide to AdWords to better customize your digital advertising experience and present you with more relevant ads. AdWords Privacy Policy
Marketo
We use Marketo to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. We may combine this data with data collected from other sources to offer you improved sales or customer service experiences, as well as more relevant content based on advanced analytics processing. Marketo Privacy Policy
Doubleclick
We use Doubleclick to deploy digital advertising on sites supported by Doubleclick. Ads are based on both Doubleclick data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Doubleclick has collected from you. We use the data that we provide to Doubleclick to better customize your digital advertising experience and present you with more relevant ads. Doubleclick Privacy Policy
HubSpot
We use HubSpot to send you more timely and relevant email content. To do this, we collect data about your online behavior and your interaction with the emails we send. Data collected may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, email open rates, links clicked, and others. HubSpot Privacy Policy
Twitter
We use Twitter to deploy digital advertising on sites supported by Twitter. Ads are based on both Twitter data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Twitter has collected from you. We use the data that we provide to Twitter to better customize your digital advertising experience and present you with more relevant ads. Twitter Privacy Policy
Facebook
We use Facebook to deploy digital advertising on sites supported by Facebook. Ads are based on both Facebook data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Facebook has collected from you. We use the data that we provide to Facebook to better customize your digital advertising experience and present you with more relevant ads. Facebook Privacy Policy
LinkedIn
We use LinkedIn to deploy digital advertising on sites supported by LinkedIn. Ads are based on both LinkedIn data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that LinkedIn has collected from you. We use the data that we provide to LinkedIn to better customize your digital advertising experience and present you with more relevant ads. LinkedIn Privacy Policy
Yahoo! Japan
We use Yahoo! Japan to deploy digital advertising on sites supported by Yahoo! Japan. Ads are based on both Yahoo! Japan data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Yahoo! Japan has collected from you. We use the data that we provide to Yahoo! Japan to better customize your digital advertising experience and present you with more relevant ads. Yahoo! Japan Privacy Policy
Naver
We use Naver to deploy digital advertising on sites supported by Naver. Ads are based on both Naver data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Naver has collected from you. We use the data that we provide to Naver to better customize your digital advertising experience and present you with more relevant ads. Naver Privacy Policy
Quantcast
We use Quantcast to deploy digital advertising on sites supported by Quantcast. Ads are based on both Quantcast data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Quantcast has collected from you. We use the data that we provide to Quantcast to better customize your digital advertising experience and present you with more relevant ads. Quantcast Privacy Policy
Call Tracking
We use Call Tracking to provide customized phone numbers for our campaigns. This gives you faster access to our agents and helps us more accurately evaluate our performance. We may collect data about your behavior on our sites based on the phone number provided. Call Tracking Privacy Policy
Wunderkind
We use Wunderkind to deploy digital advertising on sites supported by Wunderkind. Ads are based on both Wunderkind data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Wunderkind has collected from you. We use the data that we provide to Wunderkind to better customize your digital advertising experience and present you with more relevant ads. Wunderkind Privacy Policy
ADC Media
We use ADC Media to deploy digital advertising on sites supported by ADC Media. Ads are based on both ADC Media data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that ADC Media has collected from you. We use the data that we provide to ADC Media to better customize your digital advertising experience and present you with more relevant ads. ADC Media Privacy Policy
AgrantSEM
We use AgrantSEM to deploy digital advertising on sites supported by AgrantSEM. Ads are based on both AgrantSEM data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that AgrantSEM has collected from you. We use the data that we provide to AgrantSEM to better customize your digital advertising experience and present you with more relevant ads. AgrantSEM Privacy Policy
Bidtellect
We use Bidtellect to deploy digital advertising on sites supported by Bidtellect. Ads are based on both Bidtellect data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Bidtellect has collected from you. We use the data that we provide to Bidtellect to better customize your digital advertising experience and present you with more relevant ads. Bidtellect Privacy Policy
Bing
We use Bing to deploy digital advertising on sites supported by Bing. Ads are based on both Bing data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Bing has collected from you. We use the data that we provide to Bing to better customize your digital advertising experience and present you with more relevant ads. Bing Privacy Policy
G2Crowd
We use G2Crowd to deploy digital advertising on sites supported by G2Crowd. Ads are based on both G2Crowd data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that G2Crowd has collected from you. We use the data that we provide to G2Crowd to better customize your digital advertising experience and present you with more relevant ads. G2Crowd Privacy Policy
NMPI Display
We use NMPI Display to deploy digital advertising on sites supported by NMPI Display. Ads are based on both NMPI Display data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that NMPI Display has collected from you. We use the data that we provide to NMPI Display to better customize your digital advertising experience and present you with more relevant ads. NMPI Display Privacy Policy
VK
We use VK to deploy digital advertising on sites supported by VK. Ads are based on both VK data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that VK has collected from you. We use the data that we provide to VK to better customize your digital advertising experience and present you with more relevant ads. VK Privacy Policy
Adobe Target
We use Adobe Target to test new features on our sites and customize your experience of these features. To do this, we collect behavioral data while you’re on our sites. This data may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, your IP address or device ID, your Autodesk ID, and others. You may experience a different version of our sites based on feature testing, or view personalized content based on your visitor attributes. Adobe Target Privacy Policy
Google Analytics (Advertising)
We use Google Analytics (Advertising) to deploy digital advertising on sites supported by Google Analytics (Advertising). Ads are based on both Google Analytics (Advertising) data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Google Analytics (Advertising) has collected from you. We use the data that we provide to Google Analytics (Advertising) to better customize your digital advertising experience and present you with more relevant ads. Google Analytics (Advertising) Privacy Policy
Trendkite
We use Trendkite to deploy digital advertising on sites supported by Trendkite. Ads are based on both Trendkite data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Trendkite has collected from you. We use the data that we provide to Trendkite to better customize your digital advertising experience and present you with more relevant ads. Trendkite Privacy Policy
Hotjar
We use Hotjar to deploy digital advertising on sites supported by Hotjar. Ads are based on both Hotjar data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Hotjar has collected from you. We use the data that we provide to Hotjar to better customize your digital advertising experience and present you with more relevant ads. Hotjar Privacy Policy
6 Sense
We use 6 Sense to deploy digital advertising on sites supported by 6 Sense. Ads are based on both 6 Sense data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that 6 Sense has collected from you. We use the data that we provide to 6 Sense to better customize your digital advertising experience and present you with more relevant ads. 6 Sense Privacy Policy
Terminus
We use Terminus to deploy digital advertising on sites supported by Terminus. Ads are based on both Terminus data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that Terminus has collected from you. We use the data that we provide to Terminus to better customize your digital advertising experience and present you with more relevant ads. Terminus Privacy Policy
StackAdapt
We use StackAdapt to deploy digital advertising on sites supported by StackAdapt. Ads are based on both StackAdapt data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that StackAdapt has collected from you. We use the data that we provide to StackAdapt to better customize your digital advertising experience and present you with more relevant ads. StackAdapt Privacy Policy
The Trade Desk
We use The Trade Desk to deploy digital advertising on sites supported by The Trade Desk. Ads are based on both The Trade Desk data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that The Trade Desk has collected from you. We use the data that we provide to The Trade Desk to better customize your digital advertising experience and present you with more relevant ads. The Trade Desk Privacy Policy
RollWorks
We use RollWorks to deploy digital advertising on sites supported by RollWorks. Ads are based on both RollWorks data and behavioral data that we collect while you’re on our sites. The data we collect may include pages you’ve visited, trials you’ve initiated, videos you’ve played, purchases you’ve made, and your IP address or device ID. This information may be combined with data that RollWorks has collected from you. We use the data that we provide to RollWorks to better customize your digital advertising experience and present you with more relevant ads. RollWorks Privacy Policy

Are you sure you want a less customized experience?

We can access your data only if you select "yes" for the categories on the previous screen. This lets us tailor our marketing so that it's more relevant for you. You can change your settings at any time by visiting our privacy statement

Your experience. Your choice.

We care about your privacy. The data we collect helps us understand how you use our products, what information you might be interested in, and what we can improve to make your engagement with Autodesk more rewarding.

May we collect and use your data to tailor your experience?

Explore the benefits of a customized experience by managing your privacy settings for this site or visit our Privacy Statement to learn more about your options.