Mapping images onto 3D objects

I used to use Kinemac to map an image onto 3D objects (which could then be animated). For example, I would take images of each side of a DVD cover, book, etc and map them onto a 3D cube that I put into the appropriate dimensions. (Example below)


I'm trying to figure out if this can be done with USDZ in Motion. Alternately, is there something easy like Kinemac (or easy to learn the basics of quickly) that would be a good fit? I haven't gone into Blender and other options yet, so I'm not sure if this would take a deep dive to figure out.


Thanks y'all!


Posted on Sep 21, 2021 10:27 AM

Reply
Question marked as Top-ranking reply

Posted on Sep 21, 2021 12:30 PM

To reiterate and expand on what Luis said, Motion does not do 3D Modeling or Texturing of 3D objects like Maya, Blender or other 3D apps, it simply renders USDZ models and animations in the motion scene.


Depending on what you need to do with models, this could actually be relatively easy. First, I'd bet you could find some basic Blender tutorials for things like books, or DVD cases, those are really just slightly modified geometric primitives. A simple web search should turn up tens of tutorial videos. If you are interested in USDZ, it will definitely be worth your time and Blender is free. :)


A second option is check sketchfab for some pre-made models (check the licensing of course). Once you have the model you can actually modify simple textures for things like a DVD pretty easily with an image editor. For example, I found a model for a DVD case on sketchfab and downloaded it. I then duplicated the original file and changed the extension from .usdz to .zip. I then opened the .zip version and found the texture for the cover. After making a copy of the texture I was able to open it in a photo editor (Photoshop, Pixelmator, Affinity Photo, etc.) and replace the image. I then saved this as a .jpg for the next part


Finally, I downloaded Reality Converter and added the orginal USDZ model. In the Materials tab, I located the cover texture and replaced the "Base Color" with my new image and exported it as a new model.


Like I said, if you are really serious about integrating more 3D elements or USDZ into your projects it will be well worth your time to start to learn Blender.

9 replies
Question marked as Top-ranking reply

Sep 21, 2021 12:30 PM in response to Luis Sequeira1

To reiterate and expand on what Luis said, Motion does not do 3D Modeling or Texturing of 3D objects like Maya, Blender or other 3D apps, it simply renders USDZ models and animations in the motion scene.


Depending on what you need to do with models, this could actually be relatively easy. First, I'd bet you could find some basic Blender tutorials for things like books, or DVD cases, those are really just slightly modified geometric primitives. A simple web search should turn up tens of tutorial videos. If you are interested in USDZ, it will definitely be worth your time and Blender is free. :)


A second option is check sketchfab for some pre-made models (check the licensing of course). Once you have the model you can actually modify simple textures for things like a DVD pretty easily with an image editor. For example, I found a model for a DVD case on sketchfab and downloaded it. I then duplicated the original file and changed the extension from .usdz to .zip. I then opened the .zip version and found the texture for the cover. After making a copy of the texture I was able to open it in a photo editor (Photoshop, Pixelmator, Affinity Photo, etc.) and replace the image. I then saved this as a .jpg for the next part


Finally, I downloaded Reality Converter and added the orginal USDZ model. In the Materials tab, I located the cover texture and replaced the "Base Color" with my new image and exported it as a new model.


Like I said, if you are really serious about integrating more 3D elements or USDZ into your projects it will be well worth your time to start to learn Blender.

Oct 1, 2021 8:00 PM in response to Adam F

This is one shape (vertical video aspect rectangle) that is duplicated, and scaled on X for one (back: long wall) and X and Y ("floor") on the other:

The checkerboard is the "texture". The checkerboard pattern is stretched when scaling is involved, but easily "fixed".


One of the most important parameters for applying textures is buried in a "Placement" disclosure panel:



Get used to also dialing down the Scale section and TURN OFF Scale with Font Size, adjust the scaling and if you want, you can turn the Scale with Font Size *back on* (this will not change your settings, but allow your settings to scale automatically when you change the font size — remember also that this is an **option** — most of the time you'll leave it off — it actually annoys me that this is on by default).


So the vertical aspect rectangle is scaled horizontally for the "back wall" and the texture is scaled down (X) to compensate for the stretching. Likewise for the floor. It's not hard to do and it works/turns out really well.


Textures need to be Fixed Resolution. If you're building a texture inside Motion, using multiple "parts" (layers), you will need to set the parent group to 2D Fixed Resolution and use the group as the Image Source. Otherwise, Images and Generators are generally figured to be fixed resolution. If you use filters like blurs, you should set any Crop option available in the filter or generator or use a fixed res 2D group. [You can make fixed res 2D groups any size and sometimes it helps to make them much larger than your project settings.]


As long as you provide fixed resolution status, you can publish any title with a drop zone to create your textures inside FCPX. I recommend creating custom drop zone images larger than an HD project (it doesn't make any difference to make 4K or higher projects, so keep it simple). Enclose the drop zone in a 2D FR group and publish it that way. Also publish the Position Scale Rotation controls for the texture so they can be updated inside FCPX. If you use Distress > Custom Bumps (and generally, any other feature that uses the same source image), make sure the position, scale and rotation parameters exactly match (linked) to the Surface Image settings.


Bottom line: if you can — create the exact shapes you need. It's just easier. You can fall back on scaling if you have to make do. There's a way to make rounded rectangles (or rounded shapes) rather easily (increase Weight and use Inside Corners > Round) and other techniques. The rounding trick does not affect texture mapping!


Here's another "trick" — using sequence text to extend Edge Shapes: https://fcp.co/motion/tutorials-for-apple-motion/1829-free-tutorial-the-third-dimension-in-apple-s-motion-and-beyond



BTW (you might be interested in this) - Core Melt released a new 3D Object USDZ editor for FCPX today (or, I just got the email today):

https://coremelt.com/products/modelx-next-gen-3d-models-with-pbr-materials-and-lighting-for-final-cut-pro

If you decide to buy it - make sure you use the coupon code (modelx1week) and get $20 off. It's expensive, and you still get stuck hunting down already made models (most of which you have to pay for). I'm not going to buy it (not interested/can't afford going down that rabbit hole).

Sep 21, 2021 10:46 AM in response to Adam F

No, you can't do that in Motion.

You can import usdz files, move them, place them but you can't edit them in any meaningful way.


You can create some usdz files, and edit them, in Reality Composer, but I don't think there is a way to do what you are showing. I could be wrong.


Blender is tremendously powerful, and also very hard to master, and with a user interface that is somewhat different from what I am used to. It probably can do it, but I just don't know enough about it.



Sep 21, 2021 7:53 PM in response to Adam F

What you want to be able to do CAN be done in Motion with 3D Text (there are some limitations!) You have to be able to build the shapes you need into a font. There are free sources for creating fonts online (glyphter, icomoon.io/app/). There is also FontForge, an open source font creation tool/editor. I believe there are still free apps in which you can create SVG paths to be used in compiling a font with these online resources (Inkscape for sure).


I've been building 3D models in Motion for over 6 years now. I find the USDZ 3D object model a complete bust (I have a *litany* of complaints — starting with: you have to go elsewhere to find models). Due to the tools I use being orphaned by MacOS, I'm staying in Mojave for the time being. Reality Composer is **out of my reach** (way to go Apple!) But that really doesn't matter because I have not seen one (*free*) USDZ model that looks better than the models I've been able to make out of 3D Text.



It took me longer to reply to this post than it did to make the model (I am extremely well-practiced). I've been having to keep my opinions in check.


———————————————

Making a case for 3D Text modelling:


First 3D animation (April 16, 2015 - 3 days after Motion 2.0 released): https://youtu.be/r-BEqBaYJ9k

Portfolio: https://fcpxtemplates.com/portfolio1/

Educational use (?): https://youtu.be/PDEpEA0Lgwk


"Fan Fiction": https://youtu.be/ySpV_yMbFwg

https://youtu.be/vxxafmXfYz4

https://youtu.be/8N2h6DGXosI


Sep 22, 2021 3:18 PM in response to Adam F

SVG is just a type of file that handles "Illustrator" path types like Béziers. Those online font makers accept SVG files to make the character paths.


A "Font" is just an ordered collection of (related) paths (for those that don't get why fonts are being used for 3D).


Since you've created a font, I have some tips for building model sets.


1) Use the highest Em Square allowed (TTF prefers 2048, but allows 8196 - use 8196 — if you have Fontographer, it only allows a max of 8000). Motion renders much lower resolution (w/r/t the shape's edge) with lower em-square settings.


2) use Zero-Width characters!! expecially when you need to have shapes align to each other at a specific point.


3) Set the Ascent and Descent to be equal!


4) Set leading to 0


5) Design your characters, where necessary, so that they "fit" each other in the font making application where you have parts that need to "mesh" in Motion. As an example: a sword. One shape will be the grip, one shape a "guard", and a blade shape. When you design them in the font app, and you type the three characters to preview, they should show the assembled sword shape.


6) DO NOT DESIGN CHARACTERS in the character spaces for A-Za-z!!! All Mac Apps use the font characters when listing the font name in menus. You can use everything else. It helps to use the numbers 1,2,3,... then Shift numbers !,@,#,... then Option numbers ¡,™,£,... then option-shift numbers ⁄,€,‹,... for organization! You can also use any other unicode space you want (but stay with the "reserved" spaces like 0x900 to 0xa00, etc...)

------ this rule is not hard and fast. You may have legitimate reason to use A-Za-z —just be aware that the font menus will be affected.


If you can't create zero-width characters, set the "side-bearings" to 0 so that the character goes "edge to edge" in its character space and you can use center alignment with the font.


Keep in mind, as you design shapes, that the "anchor point" is the "Base Point" (where the starting cursor point meets that baseline). If you're designing a book model, you may want to create the rectangle shape to align to the left edge of the character space — rotating on the Y-axis will facilitate the "opening" effect without having to set an anchor point in Motion.


In general, you will use one character per shape in a model. You can duplicate the text objects and change the shape character to keep alignments consistent.


Motion's handling of 3D text is exceptional. You have access to all kind of things: materials, textures, specular lighting, regular lighting, camera effects, etc... (about 100 times more fun and customizable stuff than exists for USDZ models.) There are a few limitations in 3D Text. For one - no actual spheres (you have to work with extrusions). No revolves. Textures are weirdly and unevenly wrapped around "Sides". There's kind of a work around, but it's not easy. The point being, you cannot wrap an image all the way around a cicle's sides (cylinder). You can break up the circle into quarters and try to match the image mapping that way. There may be a few other oddities you'll run into, but if you're one of those that don't take "can't" for an answer, you'll probably do okay, there is still a ton of things you can do in Motion. And ALL of Motion' animation capabilities apply to all things 3D Text just like anything else in Motion.




Sep 21, 2021 4:32 PM in response to Luis Sequeira1

Thank you very much, Luis. This saves me a bunch more time searching for a non-existing solution within Motion. Hopefully, it's part of the future plan.


It doesn't make sense that the old Kinemac app doesn't have a competitor for the example I've posted. There must be something out there. Perhaps someone else will have an idea on that one. I will take another look at blender though.


Thanx again!

Adam

Sep 22, 2021 11:04 AM in response to fox_m

OK...that's EXTREMELY cool, @fox_m. I was in the middle of figuring out mapping in blender last night when your reply came in. I managed to get my example DVD case exported and into Motion as a USDZ file (although textures didn't stick - had to re-apply in Reality Converter). However, it may be far too complex of tool for what I need, rendering it inefficient. ([not] Sorry for the pun.)


What you're doing here is really awesome. I have created a font, so I do have some familiarity with what you're talking about. You lost me on SVG "paths." SVG has just been a 3D model for my purposes. The rest of it...very cool.


Also - the tracking on the CD in that clip is great. I've done tracking in FCPx, but not Motion.


THANK YOU!

Oct 1, 2021 3:36 PM in response to fox_m

@fox_m WOW! First, thank you VERY much. You have given me a ton to process here. I think I'll be re-reading this thread quite a bit. I'm also taking in your website and figuring out what I need to do for efficiency (you've done so much work, so I don't want to re-create the wheel).


I do have a question (I know I've gotten my share of an answer above 😂). I suspect your response will reflect the reason why you have created so many shape variants. So, movie posters are 27x40. I'm attempting to take a square/cube & stretch the vertical dimensions to the same as the poster and map the poster image. However, this doesn't seem to work (maybe because the pixel mapping is 1:1). In short, is it true that what I'm doing can't work by stretching the font and I need to use a font object that is the exact same proportions?


(BTW - I'm using XEFFECTS 3D Text Wrap, which is free, to bring the image placement option into FCPx)

🙏🏻🙏🏻🙏🏻



This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Mapping images onto 3D objects

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.