- Number
- 11628374
- Published
- 2023-04-18
- Filed
- 2020-06-30
- Assignee
- Disney Enterprises, Inc.
- Inventors
- Anderegg; Raphael et al.
- CPC
- A63J19/006; A63H3/36; G06T13/40; A63H3/00; G06T13/20; G06T13/80
- Verdict
- High Notable software
- Source
- Google Patents · FreePatentsOnline
The keeper's note
Virtual puppeteering/character-control technique via portable device (granted).
Abstract
A virtual puppeteering system includes a portable device including a camera, a display, a hardware processor, and a system memory storing an object animation software code. The hardware processor is configured to execute the object animation software code to, using the camera, generate an image in response to receiving an activation input, using the display, display the image, and receive a selection input selecting an object shown in the image. The hardware processor is further configured to execute the object animation software code to determine a distance separating the selected object from the portable device, receive an animation input, identify, based on the selected object and the received animation input, a movement for animating the selected object, generate an animation of the selected object using the determined distance and the identified movement, and render the animation of the selected object.
Background
BACKGROUND (1) When playing with a traditional toy, such as a doll or an action figure, for example, a core play pattern is to grasp the toy and move it around. While doing this, children imagine the character represented by the toy to be walking around in a room, interacting with objects, and even participating in stories or engaging in quests. A physical doll, however, being inanimate, merely follows the child's gestures in an inert and non-interactive way. (2) In video games, by contrast, virtual characters can move in exciting, apparently interactive ways. However, that appearance of interaction is indirect due to the lack of physical engagement with the virtual characters. Moreover, because children typically control virtual characters using buttons on a controller or moving a joystick, the direct one-to-one interaction with a traditional toy is unfortunately lost. For instance, even sophisticated video games that use motion tracking do not provide a one-to-one interaction, but rather tend to use the tracking as a means of controlling the virtual character. SUMMARY (3) There are provided systems and methods for performing virtual puppeteering using a portable device, substantially as shown in and/or described in connection with at least one of the figures, and as set forth more completely in the claims.
Claims
1. A virtual puppeteering system comprising: a portable device including a camera, a display, a hardware processor, and a system memory storing an object animation software code; the hardware processor configured to execute the object animation software code to: generate, using the camera, an image in response to receiving an activation input; display the image on the display; receive a selection input selecting an object shown in the image; determine a distance separating the selected object from the portable device; receive a first animation input including a physical movement of the portable device; identify, based on the selected object and in response to the first animation input, a movement for animating the selected object; generate an animation of the selected object using the determined distance and the identified movement, wherein the animation moves the selected object as if the selected object is connected to the portable device and maintains the determined distance separating the selected object from the portable device as a fixed distance; and render the animation of the selected object. ||
9. A virtual puppeteering system of comprising: a portable device including a camera, a display, a hardware processor, and a system memory storing an object animation software code; the hardware processor configured to execute the object animation software code to: generate, using the camera, an image in response to receiving an activation input; display the image on the display; receive a selection input selecting an object shown in the image; determine a distance separating the selected object from the portable device; receive a first animation input including a physical movement of the portable device; identify, based on the selected object and in response to the first animation input, a movement for animating the selected object; generate an animation of the selected object using the determined distance and the identified movement, wherein the animation moves the selected object as if the selected object is connected to the portable device by a rigid rod of length equal to the determined distance; and render the animation of the selected object. ||
10. A method for use by a virtual puppeteering system including a portable device having a camera, a display, a hardware processor, and a system memory storing an object animation software code, the method comprising: generating, using the camera by the object animation software code executed by the hardware processor, an image in response to receiving an activation input; displaying, by the object animation software code executed by the hardware processor, the image on the display; receiving, by the object animation software code executed by the hardware processor, a selection input selecting an object shown in the image; determining, by the object animation software code executed by the hardware processor, a distance separating the selected object from the portable device; receiving, by the object animation software code executed by the hardware processor, a first animation input including a physical movement of the portable device; identifying, by the object animation software code executed by the hardware processor, and based on the selected object and in response to the first animation input, a movement for animating the selected object; generating, by the object animation software code executed by the hardware processor, an animation of the selected object using the determined distance and the identified movement, wherein the animation moves the selected object as if the selected object is connected to the portable device and maintains the determined distance separating the selected object from the portable device as a fixed distance; and rendering, by the object animation software code executed by the hardware processor, the animation of the selected object. ||
18. A method for use by a virtual puppeteering system including a portable device having a camera, a display, a hardware processor, and a system memory storing an object animation software code, the method comprising: generating, using the camera by the object animation software code executed by the hardware processor, an image in response to receiving an activation input; displaying, by the object animation software code executed by the hardware processor, the image on the display; receiving, by the object animation software code executed by the hardware processor, a selection input selecting an object shown in the image; determining, by the object animation software code executed by the hardware processor, a distance separating the selected object from the portable device; receiving, by the object animation software code executed by the hardware processor, a first animation input including a physical movement of the portable device; identifying, by the object animation software code executed by the hardware processor, and based on the selected object and in response to the first animation input, a movement for animating the selected object; generating, by the object animation software code executed by the hardware processor, an animation of the selected object using the determined distance and the identified movement, wherein the animation moves the selected object as if the selected object is connected to the portable device by a rigid rod of length equal to the determined distance; and rendering, by the object animation software code executed by the hardware processor, the animation of the selected object.