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
e-mail: ktsushima@sannet.ne.jp
Aprof. M.Ueno, PhD.
Dept. of Digital Art and Animation, Osaka
Electro-Communication Univ., Osaka, Japan.
e-mail: ueno@dmic.org
K.Tanida, M.Eng.
Intelligent Cluster,
Osaka Electro-Communication Univ., Osaka, Japan.
e-mail: tanida@tslab.osakac.ac.jp
Abstract
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.[1] 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".[2]
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.[3]
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.[4]
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.
joint
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.
Movie generation
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.
We developed an new palette system called o3Art on o3logo to form three dimensional body in the 3DCG space using successive application of actions instead of programming.
"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.
Object Palette
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.
Attribute Palette
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.
Subject 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.
Choreography Palette
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.
(Examples1)
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.
(Examples2)
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.
Appendix
action |
subcommand |
dup |
|
move |
forward backword rightturn leftuturn upword downword |
turn |
up down right left |
roll |
right left |
grow |
x y z xy yx zx xyz |
color |
Hue Saturation Brightness |
Alpha |
|
Tab 1. Action and Subcommand in Choreography Pallete
References
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.