The Authoring System for 3DCG with help of 3D turtle Metaphor
Prof. K.Tshushima, PhD.
Dept. of Digital Games, Osaka Electro-Communication Univ., Osaka, Japan
Aprof. M.Ueno, PhD.
Dept. of Digital Art and Animation, Osaka Electro-Communication Univ., Osaka, Japan.
Intelligent Cluster, Osaka Electro-Communication Univ., Osaka, Japan.
A new type art tool called o3Art is developed on object oriented three dimensional Logo language called o3logo developed by us. We pursue a different approach to create three dimensional body and motion from ordinary 3DCG use ware. The turtle metaphor of three dimensional logo language strongly assist our user to manipulate three dimensional object in 3DCG space.
We proposed a new type art tool for generative art called o3Art in this paper.
Three are many usewares for 3DCG creation, but they are different from each other. So, an user cannot obtain the unified concept and skill in their manipulation of object in 3DCG space. This is a serious problem in education of creation concerning 3DCG. In order to create more sophisticated content, script is used frequently. But, in the ordinary system script has logical nature, so it is indirect for creator who want to move and manipulate objects.
We developed an authoring system: NeGAS (Next generation Authoring System) for media rich learning content in Japanese national project called "Intelligent Cluster Creation Project".
To realize comfortable manipulation environment for objects in 3DCG space is urgent problem for 3DCG creation.
At first, we planned to develop a completely new computer language in which drawn figure can be manipulated as an object using turtle commands in 3DCG space. We developed an object oriented three dimensional LOGO language called o3logo on Macintosh Common Lisp. The fundamental graphic function is very important to raise the capability of drawing and description of event in o3logo. We choose Graphic Package Open GL for o3logo.
We can manipulate objects, cameras, lights and turtles by using turtle command in our system, so the unified approach to manipulate them possible in our system. (Fig.1)
As a result, the so called DMI for 3DCG creation realized in our NeGAS. A user can use programming, programming palette and several hard ware interfaces to manipulate object comfortably in 3DCG space with turtle metaphor in our NeGAS.
Fig 1. The Turtle Metaphor
Object, Light, Camera and
Turtle are manipulated using Turtle command
with help of Turtle metaphor
We want to develop a new authoring system for 3DCG painting, make objects and animation which should be comfortable for a user in both manipulation and scripting.
As is well known, mouse and icon are a typical example of Direct Manipulation Interface (is called as DMI hereafter) which almost all the computers have.
Mouse and icon is surely useful and comfortable if we are confined in two dimensional space simulated on the computer. In this case, physical CRT device and two dimensional space simulated on the computer are completely similar to each other. But when we want to treat three dimensional objects in three dimensional space simulated on the computer, mouse and icon are not so adequate devices.
It is difficult to assign the depth of object in 3DCG space by using mouse, so mouse is not appropriate device to manipulate object.
It is more difficult to recognize and understand the present status of three dimensional object in the 3DCG space simulated on the computer than that of two dimensional object in the two dimensional space.
To realize DMI for 3DCG, we must improve assistant function for manipulation and recognition of object for a user.
We can introduce a comfortable authoring environment which is DMI for 3DCG animation by introducing three dimensional objective LOGO language.
We can reduce the size of problem solving space to manipulate objects by introducing turtle metaphor about the movement of objects in simulated three dimensional space (Fig.2).
Fig 2. Turtle commands of o3logo
2.1 Feature of LOGO language
As is well known, LOGO is an interpreter language. [5,6] So, an user can see result of his each manipulation step by step. So, trial and error in his creation can be easily possible in his problem solving using LOGO language.
On the other hand, these benefit cannot be obtained using a compiler language.
We want to give our user intuitive heuristic learning environment for generative art. Almost all the mathematical formula and mathematical algorithm used in generative art are not interactive, but it has feature like compiler language. Our user must consider the process given by these formula and algorithm beforehand, there is not a chance to use interactive testing to create his idea.
Two dimensional LOGO is frequently used in primary and secondary education in the world. It is known as easy computer language to learn even a primary school student. Further, we can draw two dimensional figures and three dimensional bodies on the computer by moving a turtle in 3DCG space using ordinary three dimensional LOGO language. But we cannot move and manipulate drawn figure in 3DCG space simulated on the computer. We developed an object oriented three dimensional LOGO language called o3logo in which drawn figure and three dimensional bogies can be moved and manipulated like a turtle using turtle command. [7,8]
o3logo language was developed by us on LISP language at first. As is well known, The functional language LISP is very convenient to develop a new computer language on it. Parser of o3logo was developed by us and implemented on CLOS of Macintosh Common LISP.
The graphic function is very important to raise the capability of drawing and description of visual event in o3logo. We chose Graphic Package OpenGL for o3logo after long discussion.
The drawn figure can be defined as a visual object using hold command and we can manipulate the visual object using turtle command and tell command.
Our o3logo was developed by using OpenGL graphic system as 3DCG environment.
We can manipulate turtle, objects, lights and cameras using turtle command referring
turtle metaphor in our mind. So, all the objects in 3DCG space can be manipulated using command with support of unified manipulation metaphor: turtle metaphor. Eventually DMI for three dimensional animation can be obtained .
Outline of commands of o3logo are shown in App.1.
In the ordinary two dimensional LOGO language, a turtle is used to draw figures on a plane. The movement of a turtle generates the lines on a plane.
Only two commands, FD and RT, are essential for a turtle movement on the plane. The successive movement of a turtle generate two dimensional figure as a result.
FD, RT, DN, MR, MU and RR are essential for turtle movement in three dimensional space in three dimensional LOGO language. (Fig.2)
creation of object
Any locus drawn by a turtle movement can be defined as object by using hold <object name> command. If we want to manipulate the defined object, we use tell <object name> command. Then this object can be manipulated by using turtle command.
no internal freedom of motion
If the defined object has no internal freedom of motion, it is regarded as rigid body. We can easily set the origin of an object by using origin turtle commands. After the origin is fixed , we can move object by using ordinary turtle command. tell command is used to switch on the control of the present object.
grouping of objects
Many objects can be defined as a group by using make-group command. Any number of objects can be declared as a group. When this group is switched on using tell command, we can manipulate this group like a turtle by using ordinary turtle command.
If we want to connect two objects with a joint, we can make a joint by using make-joint command. Position of joint can be defined by moving joint turtle using turtle command. Each part of the connected object can be controlled by using joint movement commands.
We can generate a movie file by using make-anime command. Any movement of objects in the 3DCG world can be saved as an animation movie.
Above description and commands in App.1 show that o3logo has sufficient capability of expressing any movement of an object. All the high level commands in o3logo are designed to expand turtle command without destroying turtle metaphor. As o3logo language is an interpreter, an user can see the effect of typed command in the simulated three dimensional space at once. As an user is not conscious of logic but of movement of turtle in space in his creation, very intuitive programming can be possible with o3logo.
"o3Art" has the following four palettes; Object, Choreography, Attributes and Subject. (Fig.3)
Fig 3. The whole aspect of o3Art system
There are 4 palettes in o3Art . Object, Attributes, Subject and Choreography.
There are about 40 objects in Object Palette which can be used as an object in 3DCG space. (Fig.4) When an object is cricked on Object palette, it is generated to World-Window as an object. The size and form of each generated object can be changed continuously by using a control arrow with a mouse. The rate of scaling for each direction can be changed continuously by using a mouse with selecting appropriate radio buttons. Several characters are prepared to create the content for daily life.
A user can paste various prepared patterns to an object by selecting appropriate registered patterns in Attribute Palette. (Fig.5) As there are several hundred patterns and photos in Attribute Palette, we can decorate an object and a background in 3DCG space by using the above patterns and photos very easily. And there is color sub-palette to give selected color to an object. Pattern and color can be overlapped, so we can change a color of patterns easily by using color sub-palette.
We can move objects, lights, cameras and turtle in 3DCG space manipulating the buttons on Subject Palette. As there are many objects in 3DCG space, we can select them by cricking the corresponding upward or downward buttons. (Fig.6)
When we crick an object button, the present objects are selected in cyclic sequence. We can confirm the present object by cricking a self button, because figure of the corresponding object brink in the window.
There are twelve LOGO commands to manipulate objects in 3DCG space. We can manipulate object by cricking the corresponding command button on Subject Palette, then the object moves with a fixed step beforehand. If we use arrow, we can manipulate an object continuously by moving a mouse.
Quick response is obtained using these buttons on Subject Palette to manipulate object, user can try several ideas on the computer very quickly. As a result, more effective and satisfactory result is obtained.
We can change views quickly by cricking T, F, L, P button. We can see the generated results from different view point in 3DCG system. Such a confirmation is frequently used in three dimensional space.
And the present scene of World-Window can be saved in disk by cricking a save button. This figure can be loaded by cricking save button.
Fig 4. The Object Palette Fig 5. The Attribute Palette Fig 6. The Subject Palette
A user can select a object on Over five hundreds patterns and A user can move object
Object Palette and modify the figures can be used to decorate continuously by using
size of generated object in object. As Background belongs Arrow in this Palette.
World Window continuously to object species in o3logo, it can Twelve commands of
with help of arrow function. be decorated using registered o3logo can be selected
patterns and figures. by cricking buttons.
We can manipulate object in 3DCG space by using o3logo language. We developed Subject Palette to obtain more comfortable and quick method for user. This palette is comfortable and convenient to move single object in 3DCG space. But, it can not be used in the following manipulation process except movement.
1) Parallel complex movement of an object
2) Complex movement accompanied with modification of form, change of object parameter such as color, and transparency
3) Parallel movement of object, light and eye
At first, we struggled with these problems using only o3logo language. It took long time to create a content by trial and error using programming. In these cases, step-by-step confirmation of scene using programming is dull. We want to prepare more quick and comfortable method for our user. So, we developed the Choreography palette to solve this problem. Even an expert of o3logo programming feels this palette is comfortable in his visual creation.
We can manipulate an object according to parallel sequence of manipulation action with parameter in Choreography palette. In this case , introduced decorated sphere moves forward and turn to right remaining its copy behind. As a result, bent cylinder is generated in this space. (Fig.7)
Fig 7. The example of Chereography Palette
The decorated sphere MOVEs forward and remains its copy and turns right in each step.
As a result, bending cylinder is generated in World Window.
In this case, transparency of the series of sphere decrease gradually.
We can see the value of control parameters in the value column of each line. (Fig.8)
Fig 8. Another example of Chereography Palette
In this case, transparency of moving sphere is gradually decrease,
partially transparent bending cylinder is generated in World Window.
7 actions are prepared and several sub categories can be selected with appropriate value of parameters in Choreography Palette. (Tab.1) Successive modification is possible by selecting appropriate ratio parameters. The generated body can be treated as a new object when a hold button is cricked. Then we manipulate it as another meta-object in this Choreography Palette. So we can produce intuitively complicated three dimensional body using this hierarchical function very intuitively. (Fig. 9, 10)
Fig 9. Content
This is a three dimensional image generated in World Window by using Chereography Palette.
Fig 10. Dragon in the Space
This is a image of flying dragon in space.
We are aware of wide possibility of this Choreography Palette in visual creation. At first, we can use series of command to move object. So we add the following several function to this palette.
1) Parallel description capability
2) Continuous changing parameter mechanism
3) To support movement, modification of the form, color, transparency
4) Simple assignment without commands
We can produce three dimensional body of object using this Choreography palette to move and duplicate original object very easily and quickly. And we can assign systematic movement of object to check box without using command of o3logo language.
But a different interface is necessary to move objects in three dimensional space on the computer. We developed a new device called "KAME", using a magnetic sensor and buttons on it (Fig.11). A human operator can manipulate an object in the simulated three dimensional space by grasping and manipulating this device in his hand.
Fig 11. Controller “KAME”
The movements that correspond to 12 commands can be generated from the movement of “KAME” by the operator. A continue button and a stop button are added to this device in order to maintain or stop the present movement of the object.
We already developed 3DCG Authoring system called NeGAS (Next Generation Authoring System) in our project. The results obtained in this paper and in reference 1 are conbined and are unified as NeGAS on the computer. We get the new fund which sponsored by a Japanese game company to realize game rapid prototyping tool on NeGAS. We made a few RPGs on NeGAS. The function of our authoring system strongly assists the author to make animations such as RPG.
Art tool for 3DCG called o3Art is developed. It gives us design capability based on the movement of a turtle in 3DCG space. Almost all the generation of generative visual art depends coordinates in space, but o3Art depends motion in space. [9,10]
So, the quite different approach to visual generative art may be possible by using this remarkable art tool. The support system for combined use of hardware interface and this o3Art is future problem.
The extension of Choreography Palette for many objects gives us ultimate art tool for 3DCG and animation.
This research is supported financially by Japanese National Project called Intelligent Cluster Creation project.
forward backword rightturn leftuturn upword downword
up down right left
x y z xy yx zx xyz
Hue Saturation Brightness
Tab 1. Action and Subcommand in Choreography Pallete
1) K.Tsushima,"Progress towards the Science of Game and Amusement" (Invited), Proc.of Active Media Technology 2005,254-259,2005.
2) K.Tsushima,M.Ueno and T.Nisiki,”3DCG Authoring System using Turtle metaphor”,Proceeding of ACE 2006,54,2006.
3) P.H.Lindsay and D.A.Norman ,"Human Information Processing: An Introduction to Psychology",Academic Press ,1977.
4) D.A.Bowman,E.Kruijff,J.J.LaViola and I.Poupyrev,"3D User Interfaces",Pearson Education,2005.
5) S.Pappert,"Mindstorm-Children,COmputer ,and Powerful Ideas",Basic Books.,1980.
6) B.Harvey,"Computer Science Logo Style",The MIT Press, 3DLOGO is a product of UNI-BYNUS co.
7) M.Ueno, T.Nisiki,K.Tsushima,"Logo based Interactive Learning Environment for Motion Picture Study",Proc.of ED-MEDIA 2005,4416-4423,2005.
8) K.Tsushima,M.Ueno,T.Nisiki,T.Otsuka, and N.Nomura,"Art tool and ObjectiveThree DImensional LOGO", Proc.of ED-MEDIA 2005, 4409-4415,2005.
9) N.Asakura,"FundamentalProblems of Creating in the Three-Dimnsional Space", Rokuyosha,1992.
10) S.Todd and W.Latham,"Evolutionary Art and Computers",Academic Press,1992.