WO1998033150A1 - Generateur de donnees de configuration, procede permettant de generer de telles donnees et son support - Google Patents

Generateur de donnees de configuration, procede permettant de generer de telles donnees et son support Download PDF

Info

Publication number
WO1998033150A1
WO1998033150A1 PCT/JP1998/000299 JP9800299W WO9833150A1 WO 1998033150 A1 WO1998033150 A1 WO 1998033150A1 JP 9800299 W JP9800299 W JP 9800299W WO 9833150 A1 WO9833150 A1 WO 9833150A1
Authority
WO
WIPO (PCT)
Prior art keywords
script
data
window
program
source program
Prior art date
Application number
PCT/JP1998/000299
Other languages
English (en)
French (fr)
Inventor
Masayuki Ishikawa
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to KR1019980707547A priority Critical patent/KR20000064771A/ko
Priority to US09/155,288 priority patent/US6401237B1/en
Priority to EP98900735A priority patent/EP0895195A1/en
Publication of WO1998033150A1 publication Critical patent/WO1998033150A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Definitions

  • the present invention relates to a graphic data generating device, a graphic data generating method, and a medium therefor.
  • the present invention relates to a three-dimensional graphic used for representing an object in a three-dimensional virtual space, its position, and a displayed three-dimensional shape
  • the present invention relates to a graphic data generating apparatus, a graphic data generating method, and a medium used for an operation of a client (user) for an image (a script or the like to be started in response to the operation).
  • the present invention relates to a graphic data generation method capable of creating a script template by interactive operation by applying a scribe expert and automatically compiling a script, and a graphic data for implementing the method.
  • the present invention relates to a generating device and a medium that mediates a program for executing a method of generating graphic data.
  • VRML Virtual Reality Modeling language
  • the WWW developed by CERN (European Center for Nuclear Research) in Switzerland is known as an information providing system that can be used on the Internet.
  • This WWW enables multimedia (information) such as text, images, and sounds to be viewed in a hypertext format, and is based on a protocol called HTTP (Hyper Text Transfer Protocol).
  • HTTP Hyper Text Transfer Protocol
  • information stored in a WWW server is asynchronously transferred to a terminal device such as a personal computer.
  • the WWW basically consists of a server and a browser.
  • the WWW server consists of a server software called an HTTP daemon (daemon) and a Hyper Text Makeup Language (HTML) file that stores hypertext information.
  • a daemon is a program that performs management and processing in the background when working on UNIX ⁇ .g. ⁇ .
  • Hypertext information is represented by a description language called HTML.
  • HTML the logical structure of a sentence is expressed by a format specification called a tag surrounded by "" and ">".
  • the description of the link to other information is made by link information called anchor.
  • the URL Uniform Resource Locator
  • HTTP is the protocol for transferring files described in HTML over the TC PZIP (Transmission Control Protocol / Internet Protocol) network.
  • HTTP has the function of transmitting the information transmission request from the client to the WWW server and transferring the hypertext information in the HTML file to the client.
  • a WWW browser is widely used as an environment that uses the WWW.
  • the browser means browsing, and the browser performs the work of inquiring the server for information according to the operation of the user.
  • WWW browsers are client software such as Netscape Navigator (trademark of Netscape Co., Ltd., USA).
  • Netscape Navigator trademark of Netscape Co., Ltd., USA.
  • homepages so-called homepages
  • link homepages as in so-called Internet surfing.
  • you can access a wide variety of WWW information sources.
  • VRML 2.0 it is possible to describe and represent the autonomous behavior (Behavior) of an object in a three-dimensional virtual space.
  • VRML content a set of VRML files / scripts / files for realizing the behavior of a series of objects in one virtual space.
  • VRML Content Creation Procedure The general procedure for creating VRML content is described below.
  • T 0 uch Sense 0 r that generates an event when a click operation (pointing operation) is performed with a mouse on each object in the virtual space
  • an T event that generates an event at a preset time
  • Java language Java is a company of Sun Microsystems, USA
  • Java for realizing a predetermined behavior for each object in a virtual space based on an event transmitted via a script node.
  • Write program
  • a script with a trademark, etc. and create a script file.
  • an existing modeling software called Authoring Soft Tuner, for example, 3D Studio Using software such as Max (trademark), create object shapes and animations, and output them in VRML 2.0 format.
  • Authoring Soft Tuner for example, 3D Studio
  • 3D Studio Using software such as Max (trademark), create object shapes and animations, and output them in VRML 2.0 format.
  • modeler supports VRML 2.0 format If not, it is necessary to convert to VRML 2.0 format using a converter.
  • descriptions of various sensors and nodes specified by VRML 2.0 can be added to the VRML file using a text editor, and script descriptions in Java language can be created using a text editor. Repeat creation, addition of corresponding script nodes, addition of ROUTE, etc.
  • start a VRML 2.0-compatible VRML browser and confirm the behavior of the object by clicking with the mouse.
  • the event type (data overnight format) must be matched. If the description format such as routing is incorrect, a syntax error occurs when the file is read by the VRML browser, and the file must be corrected again. Furthermore, every time a node is added, it is necessary to reload it with the VRML browser, which is extremely inefficient.
  • Fig. 1 is a flowchart showing the procedure of a conventional world creation method. Creating a world is roughly divided into two. Create models in the first half and create interactions in the second half. Although the details will be described later in comparison with the embodiment of the present invention, it is necessary to confirm it when creating the world, but in the conventional reproduction method shown in FIG. 1, as illustrated in step 108, separately, I had to use a VRML browser.
  • the VRML browser is started one by one, and the reading of the modified VRML file is specified, or the VRML file is already specified. Even if the browser is running, it is necessary to specify the reloading of the modified file, and the work efficiency in creating VRML content is extremely poor. I got it.
  • scripts are used to create a more interactive world using languages such as Java, but creating scripts is known to be difficult in creating content. In particular, it is difficult to connect the language of Java with VRML. Disclosure of the invention
  • An object of the present invention is to overcome the above-mentioned problem, that is, the problem of script creation.
  • a new script expert has been developed to overcome the above-mentioned problems.
  • the script expert creates a script template by interactive operation, and automatically compiles the script at the time of operation confirmation by user operation.
  • a character string command line
  • the time required for the user VRML 2.0 to create content in the three-dimensional virtual space can be significantly reduced.
  • a step of displaying predetermined information in a virtual space in a window of a screen of a display device, inputting script creation data, and displaying the display device Creating a source program of a script for realizing an event generated in response to an operation instruction for an object displayed in a window of the user, inputting routing data, and generating a script including the generated data and the generated script Responding to an execution instruction, compiling the created source program of the script, creating an object program of the script, and responding to input of execution instruction data.
  • the figure shown by the object is displayed in the window, and the displayed figure is displayed.
  • an object Bok program of the script associated with at least said object Performing the graphic data generating method.
  • an input image used for inputting the image creation data, the script creation data, and the routing data is displayed, and these data input according to the displayed input image are displayed. It has a step of inputting.
  • an input / output value setting step of setting an input / output value of the script and a template of a script source program suitable for the set input / output value of the script are created.
  • the source program creating step includes a source program changing step of changing the source program so as to match the set input / output value of the script.
  • the graphic data generation device includes a display processing unit that displays predetermined information in a virtual space in a window of a screen of the display device, and performs an interactive operation between a display content displayed on the display device and a user.
  • An operation instruction unit that cooperates with the display device to enable the script generation data, and an event generated in response to an operation instruction from the operation instruction unit with respect to an object displayed in a window of the display device.
  • a source program creating means for creating a source program of a script to be realized, and a routing means for accepting routing data and performing routing by associating the generated graphic data with the nodes including the created script.
  • the medium that carries the program is a step of displaying predetermined information in a virtual space in a window of a display device screen, inputting script creation data, and displaying the information in a window of the display device.
  • Responding to an execution instruction compiling a source program of the created script, creating an object program of the script, responding to input of execution instruction data, The figure shown by the object is displayed in the window, and the displayed object is displayed.
  • Executing a graphic data generation method including at least a step of executing an object program of the script associated with the object in response to an operation instruction from the operation instruction means for the object.
  • the medium for transmitting the program is transmitted in a computer system or transmitted via a network system.
  • FIG. 1 is a flow chart showing a method for creating a conventional VRML content.
  • FIG. 2 is a diagram showing a configuration of a network system that uniformly handles a three-dimensional virtual space to which the graphic data generation device of the present invention is applied.
  • FIG. 3 is a configuration diagram of the content creation software tool of the present invention.
  • FIG. 4 is a flowchart showing a method of creating VRML content executed by the content creation software tool illustrated in FIG.
  • FIG. 5 is a ⁇ -chart illustrating a basic confirmation operation process in the process of creating the VRML content illustrated in FIG.
  • Figure 6 shows the preferred confirmation in the process of creating the VRML content illustrated in Figure 4.
  • 5 is a flowchart illustrating an operation process.
  • FIG. 7 is a diagram showing a configuration of a computer system in the network system shown in FIG.
  • FIG. 8 is a configuration diagram of a content creation software tool as an embodiment of the content creation software tool illustrated in FIG.
  • FIG. 9 is a diagram showing windows displayed on the display device of the computer system by the graphical user interface of the software tool for creating content of FIG.
  • FIG. 11 is a diagram illustrating a display example of the 3D View window (editing window) illustrated in FIG. 9.
  • FIGS. 12 to 14 are diagrams showing the figures of P0IntOfIntErEst in the window of the screen of the display device.
  • FIG. 15 is a flowchart showing the process of displaying and setting the area of the sensor node.
  • FIGS. 16 to 17 are diagrams showing display examples by the Para11e1View function.
  • FIGS. 18 to 22 are diagrams showing display examples by the Attentti0n function.
  • FIG. 23 is a flowchart showing the processing of the Att e t i 0 n function.
  • FIG. 24 is a flowchart of the routing editing process.
  • FIGS. 25 to 27 are diagrams showing display examples in the routing editing process.
  • FIG. 28 is a display example of an object for creating VRML content.
  • FIG. 29 is a flowchart showing a process of creating the first VRML content.
  • FIG. 30 to FIG. 34 are display examples in a window when the first VRML content is created.
  • FIG. 35 is a flowchart showing a process of creating the second VRML content.
  • Fig. 38 to Fig. 44 are display examples in the window when creating the second VRML content.
  • FIG. 45 is a flowchart showing a process of creating the third VRML content.
  • FIGS. 46 to 49 show display examples in a window when the third VRML content is created.
  • FIG. 2 is a diagram showing a configuration of a network system 1 that uniformly handles a three-dimensional virtual space as an example to which the graphic data generating device, the graphic data generating method, and the medium of the present invention are applied.
  • the network system 1 includes a corporate network 10, the Internet 12, an Internet service provider 14, an ISDN integrated services digital network 16 and a client (subscriber) system 2.
  • the actual configured network system 1 may include a plurality of in-house networks 10, in-networks 12, in-network providers 14, and client systems 2. However, for simplicity of illustration, FIG. 2 illustrates only one symbol each.
  • the corporate network 10 is composed of a hard disk device 100, a server device 102, a LANdocal area network) 104, and a gateway server (GWS) 106.
  • GWS gateway server
  • the Internet 12 connected to the corporate network 10 is composed of routers 120, 124 and a digital communication line 122.
  • Internet network between Internet system 12 and I SDN 16 DA-14 is provided.
  • network system 1 shown in Fig. 2 corporate network 10 and client (subscriber) system 2 are connected via Internet system 12, Internet provider 14 and ISDN 16 Have been.
  • the LAN 104, the Internet network 12, the Internet provider i4, and the ISDN 16 are abbreviated as a network. Data communication between the client system 2 and the client system 2 is performed.
  • the client system 2 connected to the ISDN 16 has a computer system having a personal computer (PC) 20, a display device (DSP) 24, and an input device (IN) 26. There are 28 storage devices connected to the computer system.
  • the display device 24, the input device 26, and the external storage device 28 connected to the personal computer (PC) 20 are part of the computer system. It may be provided externally.
  • the display device 24 and the input device 26 constitute a part of the combination system, and the external storage device 28 is provided outside the computer system.
  • the server device 102 of the corporate network 10 is, for example, a communi ty
  • a server device for example, http'V / vs.sony.co.jp /) for Place (trademark), and VRML contents, that is, three-dimensional data written in VRML 2.0 by a user (client) VRML files, such as a VRML file that shows the shape and position of a typical object, and a script file that the user describes in a programming language such as the Java language and starts up in response to the user's operation on the object.
  • the data is acquired via a network or the like, stored in the hard disk device 100, and the storage result is managed.
  • VRML content a set of a VRML file (extension .wr1) and a script file (extension .jaVa) in Java language is referred to as VRML content.
  • the server device 102 stores the three-dimensional temporary data stored in the hard disk device 100.
  • the VRML contents of the virtual space are transferred to the server device 102, LAN 104, Internet system 12, Internet provider 14 and ISDN 16 (hereinafter, these communication nodes in network system 1 are Is sent to the client system 2 via the network) and displayed on the display device 24 o
  • the server device 102 transfers, for example, a program, which is a software tool for content creation, recorded on the hard disk device 100 to the client system 2 via the network.
  • a program which is a software tool for content creation
  • the program which is a content creation software tool
  • the client system 2 may be delivered to the client system 2 in a state of being stored in the FD 280 or the MO disk 282. Description of the medium that mediates the program
  • a computer that realizes the graphic data generation method of the present invention includes not only a storage medium storing a program, but also does not simply mean a program storage medium, and details of the contents are described in the following embodiments.
  • client (subscriber) system 2 when the computer program is downloaded to the client system 2 via the network system 1 of FIG. Means a program transmission medium.
  • FIG. 3 shows the graphic data generating method and the graphic data generating apparatus of the present invention which are processed in the client (subscriber) system 2 in FIG. (Trademark) Conductor)
  • the content creation software tool 3 is a graphical user one-in-one interface part (GUI) 31, an object manager 32, a Java compiler 33, a scene graph manager 34, a Java VM 34B, and a parser 34C. , HTML browser 35, backup manager 36
  • the graphical user interface unit 31 displays various windows.
  • the Java compiler 33 as an external program compiles the Java program.
  • the scene graph manager 34 is a part common to the browser, and the scene graph manager 34 A handles a hierarchical structure of VRML nodes.
  • Parser 34C parses the VRML file. JaVaVM34B executes the script described in Java.
  • the HTML browser 35 as an external program is used to display an anchor node or to display a VRML node help file described in HTML format.
  • the part 34 composed of the scene graph manager 34 A, the Java VM 34 B, and the parser 34 C can be used in common with, for example, the communi- ty P 1 ace (trademark) browser provided by Sony Corporation. .
  • the backup manager 36 When the “P1ay button” on the display device screen is pressed with the mouse to enter the “P1a mode”, the backup manager 36 enters an enabled state and starts preparation for backing up each field value. . Restores the field values in the order in which they were accumulated when the “S top button” was pressed, and restores the original screen.
  • “Conductor” a software tool for creating content, is designed to perform everything from editing to checking operations.
  • the Conductor starts browser emulation. In this state, the state of each field changes as if, for example, the object started to move in response to the interaction from the user.
  • the movement of Kuupja 36 is as follows.
  • the backup ja 36 enters the "P1ay mode"
  • it is enabled and starts preparing for the backup of each field value.
  • the field value is changed for the first time due to a dynamic object change
  • the original field value is stored.
  • Field values are stored in a stack (S tack method), which is stored sequentially.
  • S top button When the “S top button” is pressed, the stored values are sequentially restored (while popping S tack). The display state of the window is restored.
  • the object manager 32 is the part that manages consistency in such cases.
  • the route editor (not shown) is used to define events between fields using route statements.
  • a node is specified using GUI 31, an incorrect name is not specified.
  • the object manager 32 manages the DEF for each scope, and the route statement can be updated automatically.
  • FIG. 4 is a flowchart showing the processing performed by the content creation software tool 3.
  • the software 3 for content creation illustrated in FIG. 3 can execute any contents in any part of the network system 1, but in the following description, the description is simplified. Mainly for the client
  • the processing contents of Fig. 4 will be described.
  • the processing of the content creation software tool 3 can be roughly classified into (1) initialization, (2) model creation, and (3) interaction creation.
  • step 201 for example, the model data is downloaded from the hard disk device 100 to the hard disk device 214 of the compilation system 20. That is, the model described in VRML 2.0 is loaded into the computer system 20 of the client system 2. The method of loading is to download data from any part of the network system 1 to the computer system 20.
  • step 202 editing of the model (object), for example, rearranging the model, Perform editing processing such as changing attributes.
  • steps 203 to 207 an interaction is created. That is, a sensor is added in step 203, a script node is added in step 204, a JaVa program is edited in step 205, and a JaVa program is edited in step 206. Compile and edit the routing in step 207.
  • step 208 the operation confirmation of the above processing result is executed by pressing the “P1ay button” shown in the Controller window (FIG. 10) on the screen of the display device with the mouse.
  • the confirmation operation described with reference to Fig. 1 is performed by starting the browser after the creation of the VRML content is completed, but the operation in step 208 can be performed at any timing without starting the browser .
  • the details will be described later with reference to FIG. 5 and FIG. 6, but according to the method of the present invention, that is, the software tool 3 for creating content is displayed in FIG. 9 and the like when the user presses the “Play button”.
  • the editing screen which is the 3D perspective view window (editing window) shown in the figure, is replaced with the display screen of the VRML browser, and the content of the content being created is displayed.
  • addition of a sensor and editing of a routing can be performed by interactive operation using a graphical user interface (GUI) 31. It has become.
  • the content creation software tool 3 is also called a Script Expert, which creates script templates by interactive operations and automatically executes the operation when the user confirms the operation. A pile function has been added. Therefore, in the software tool 3 for content creation according to the present embodiment, a function of automatically compiling when confirming the operation is added. As a result, in the content creation software tool 3 of the present embodiment, it is not necessary to perform these operations by inputting a character string (command line) of a command. With these functions, it is possible to significantly reduce the time required to create content in a three-dimensional virtual space by the user VRML 2.0.
  • the addition of the sensor in step 203 can be easily performed by dragging and dropping.
  • the editing of the routing in step 207 can be easily performed using the GUI.
  • the present invention has a function of checking the type of an event when a route is added using a route eddy, so that it is possible to prevent a user from specifying an incorrect route.
  • step 208 in order to improve the deficiencies described with reference to FIG. 1, as described above in step 208 and as illustrated in FIG.
  • S225 The force that completes the confirmation operation when the "Stop button” is pressed as the second predetermined operation by the user.
  • S226 The backup manager 36 saves. Restore the stored field values in sequence and reset to the initial field values. Thus, the object in the original state before the confirmation operation can be restored. These operations need only be performed with the “P1ay button” and “St0p button”, which improves operability and shortens processing time.
  • Client (subscriber) system 2 and computer system 20
  • FIG. 7 is a diagram showing a configuration of the computer system 20 shown in FIG.
  • the external storage device 28 illustrated in FIG. 2 is specifically illustrated as a floppy disk (FD) 280 and / or a magneto-optical (MO) disk 282.
  • the input device 26 is embodied as a keyboard (KB) 260 and / or a mouse (MOUSE) 262.
  • the display device 24 is an arbitrary display device suitable for interactive information display processing in cooperation with information input means such as a keyboard and a mouse, for example, a color CRT display device, a color liquid crystal display.
  • the device can be used.
  • the display device 24 in this specification is a color CRT display device or a color liquid crystal display device which cooperates with information input means such as a keyboard and a mouse will be described.
  • the computer system 20 is, for example, a multimedia-compatible computer having a communication function connected to the ISD ⁇ 16, and includes a CPU 202, a ROM 204, an input interface (IN IZF) 208, Display device 24 controller (DSP-C) 210, Video signal recording RAM (VRAM) 212, Hard disk drive (HDD) 214, Floppy disk drive (FDD) 21 6.
  • M ⁇ disk drive unit 2 18 and line interface 2 0 0 are connected via bus 2 0.
  • the CPU 202 executes various control programs stored in the ROM 204 and the HDD 214 to perform various operations described below. For example, the CPU 202 displays various image data on the display device 24 via the DSP 210 and inputs data from the KB 260 via the input interface 208. Or input the data from mouse 2 62.
  • the CPU 202 can also store data to the floppy disk 280 as the external storage device 28 via the floppy disk drive device 216 or read data from the FD 280 or read the MO disk Data is stored in or read from the MO disk 282 as the external storage device 28 via the disk drive device 218.
  • the CPU 202 also communicates with the ISDN 16 via the line interface 220.
  • the computer system 20 displays the image of the VRML content of the three-dimensional virtual space sent from the server device 102 via the network including the ISDN 16 on the display device 24, and the user (client) Shown in
  • the computer system 20 installs the content creation software tool 3 supplied from the server device 102 via the network or the external storage device 28 to the hard disk device 214. Then, in response to the operation of the client using the KB 260 or the mouse 262, the content creation software-to-child 3 (program) is started to create VRML content in a three-dimensional virtual space, and the hard disk device is used. Store them in the server device 102 or upload them to the server device 102 via the network or the external storage device 28 (floppy disk 280 and / or M ⁇ disk 282).
  • the computer system 20 responds to the object displayed on the display device 24.
  • the user changes the display color of the pointed object or changes the display content of the object in the three-dimensional virtual space according to a pointing operation or the like using the input device 26 by the user.
  • Display of three-dimensional virtual space As described above, according to the client system 2 having the computer system 20, the display contents on the display device 24 are interactively displayed according to the operation of the user on the object in the three-dimensional virtual space. Since the client system 2 can be used, the user can actually move the object in the 3D virtual space, touch the object, operate it, move it, and make a sound. It can create a realistic sense (realism) as if you were.
  • the server device 102 which has obtained the VRML content in the three-dimensional virtual space from the client system 2 via the network, stores the VRML content in the hard disk device 100 so that the server device 102 can store the VRML content on the Internet system 12. It is possible to open to the Internet subscribers.
  • the server apparatus 102 receives access from the client system 2 via the network, the server apparatus 102 transfers the VRML content to the client system 2 via the network.
  • the computer system 20 of the client system 2 displays the three-dimensional virtual space based on the VRML content sent from the server device 102 on the display device 24 by a browser.
  • Interaction display The user points a desired position of the image displayed on the display device 24 using the mouse 262, and moves in the three-dimensional virtual space. Operation data, or an object in the three-dimensional virtual space Enter the operation data to specify the event.
  • the computer system 20 changes the contents of the three-dimensional virtual space according to the operation data, and displays the contents on the display device 24 using a VRML browser.
  • the creation of interactions such as adding sensors and routing to object data (VMRL files) is performed manually by the user (client) using the text editor function. So simple mistakes are easy to make.
  • the embodiment of the present invention solves the above-mentioned problems.
  • the embodiment of the present invention integrates these operations by associating the operation of model creation with the operation of interaction creation editing, and performs the operation of creating contents in the three-dimensional virtual space. Efficient and easy to perform in a short time.
  • FIG. 8 is a diagram showing a configuration of a content creation software tool 4 shown as an embodiment of the content creation software tool 3 illustrated in FIG.
  • the content creation software tool 4 consists of a graphical user interface (GUI) 40, an editing tool 42, and a scene graph database. Evening base (SGDB) 44, work tools 46, script creation section 47, and VRML browser 308.
  • GUI graphical user interface
  • SGDB Evening base
  • work tools 46 work tools 46
  • script creation section 47 script creation section 47
  • VRML browser 308 VRML browser 308.
  • the editing tools 4 2 consist of a model editing tool 4 20, a routing editing tool 4 2 2, a scene graph editing tool 4 2 4, a text editor 4 2 6, and a template creation tool 4 2 8.
  • the work tool 46 includes a browser emulator 460, a file input / output unit 462, a file scope management unit 466, and a backup / restorer unit 466.
  • the scribing creation section 47 is composed of Jav Va Emiyle 470, Java Debugger 472 and Java Compiler 474.
  • the software 4 for creating content is stored in the hard disk device 100, for example, via the network system 1, or via the network or an external storage device 28 (floppy disk 280 or M ⁇
  • the data is stored in the disk 282 and is used by the computer system 20 from the external storage device 28 and is installed in the hard disk device 214 for use. That is, in the present embodiment, an example will be described in which the content creation software tool 4 is realized in the convenience system 20. The components of the content creation software tool 4 will be described.
  • the graphical user interface (GUI) 40 corresponds to the graphical user interface (GUI) 31 in Fig. 3 and is used to create VRML content in a three-dimensional virtual space. Images used for inputting various data are displayed on the display device 24 via the PC 20 in a window format.
  • FIG. 9 is a diagram showing a GUI screen as one embodiment displayed by the GUI 40 on the display device 24.
  • the GUI screen illustrated in Figure 9 is a Conductor window, 3D Perspective View window, Parallel View window, Resource Library 'window, Scenegraph window, World [nfo window, Appearance window] , A root window, an Attribute window, a Script Expert window (not shown), and a Script Editor window.
  • the Conductor window is used to manage the entire Conductor.
  • the 3D Perspective View window is a part that displays images three-dimensionally. Hereinafter, it is abbreviated as a 3D View window as appropriate.
  • the Parallel View window is the part that displays images in parallel projection.
  • the scene graph window is the part that displays the hierarchical structure of the world.
  • the World ⁇ ⁇ window is a part for setting the attributes of the world.
  • the Appearance window is where you set the colors and textures of objects.
  • the route window is where the routing of events is set.
  • the Script Editor window is a text editor for editing Java files.
  • FIG. 10A is an enlarged view of the Conductor window illustrated in FIG. 9, and FIGS. 10B and 10C are enlarged views of FIG. 10A.
  • the Conductor window manages the entire Conductor. Using the Conductor window, you can create new worlds, load, save, run, stop, switch mouse modes, add and delete objects, and so on.
  • the Conductor has a mouse mode that is enlarged and illustrated in Figure 10B.
  • Scale is used to change the scale of an object.
  • the Conductor also has a primitive bar that is enlarged and illustrated in Fig. 10C.
  • a primitive object such as a Box or Cone
  • select the object that you want to add with the primitive bar and open the 3D View window. Click.
  • the primitive bar also has a “Sensor”.
  • GU I 40 is an operation input by the user pressing various buttons in the window displayed on the display device 24 by using the mouse 26 2 as the input device 26.
  • the operation data input manually using the 260 is accepted, and the necessary operation data is provided to each of the editing tools 42 and the scene graph database 44.
  • the GUI 40 provides the user with a GUI environment.
  • the GUI 40 receives display output data from the editing tool 42 and the scene graph database 44, and displays the received data in a predetermined window of the display device 24.
  • the components of the editing tool 42, the scene graph database 44, and the work tool 46 are activated in response to the operation data input to the GUI 40, and the operations provided by the GUI 40 Processing is performed based on the date and time.
  • the VRML browser 308 is used to confirm the final contents of the VRML content created in the computer system 20 and to display the VRML content obtained from the server device 102.
  • ⁇ Help tool 46 Displays a help file linked to the operation of each component.
  • the VRML browser 308 can use, for example, a C0mmunityPlace (trademark) browser provided by Sony Corporation. In the following, an example of the communi ty py browser is shown. Editing tools 4 2
  • Overall editing tool 4 2 is Obujeku bets graphic data of the three-dimensional virtual space -: c providing evening and functions necessary for the user to create interaction program describes each part of the editing tool 4 2.
  • the processing functions of the model editing tool 420 are listed below.
  • the model editing tool 420 uses the model creation data input by a user operation on the model editing window displayed on the display device 24 to calculate the size and color (shape) of the object. ) Create graphic data showing attributes such as, position and motion.
  • the model editing tool 420 outputs the created figure data [object attributes] to the scene graph database 44.
  • the model editing tool 420 displays the object based on the created graphic data three-dimensionally at a predetermined position of the model editing window on the display device 24 via the GUI 40.
  • the model editing tool 420 can also edit the graphic data read from the hard disk drive 214.
  • the model editing tool 420 is a graphic data read from the floppy disk 280 via the floppy disk drive 216 or the MO disk 2 via the MO disk drive 218. It is also possible to edit the graphic data read from 82.
  • the model editing tool 420 can also edit the graphic data downloaded from the network to the computer system 20.
  • model editing tool 420 having various functions performs the following characteristic functions of the present invention.
  • the routing editing tool 422 performs routing editing for associating each node such as graphic data and a script of a named object in the current scope (the VRML file to be edited). When routing, it is necessary to match the type of the field value between the routing source node and the routing destination node, for example, SFBoolean (Boolean value indicating true / false).
  • SFBoolean Boolean value indicating true / false
  • each node can be arranged hierarchically.
  • the scene graph editing tool 424 edits a hierarchical structure of an object and an invisible node (such as a scribing node).
  • the hierarchical structure of nodes is, for example, a child node (VRML file) F1 indicating a leaf, a child node (VRML file) F2 indicating a technique, and a child node (VRML file) F indicating a trunk.
  • the text editor 426 has an editing function of a programming language suitable for creating a script such as the Java language.
  • the text editor 426 creates a script source program, and cooperates with an editing operation for a script node to change a variable. Automatically add, delete and modify files.
  • the template creation tool 428 is a tool used for the convenience of the user, works in cooperation with the text editor 426, and allows the user to operate the “Script Expert window” on the display device 24. In response to this, a script-based program (template) is created interactively and output to a text editor. Users can easily create scripts by modifying the source programs (script templates) already provided to some extent provided by the template creation tool 428 as needed using the template creation tool 428. can do.
  • the S GDB 44 stores the data created by each tool of the editing tool 42 in the RAM 206 of the computer system 20, manages the stored data, and uses the editing tools 42 and Provide the stored data immediately upon request of each component of the work tool 46.
  • Working tools 4 6
  • the work tool 46 provides the client with the functions necessary for the VRML content creation work, such as checking the created content, checking the operation of the script, and recording and playing back data on the input device 26. In the following, each tool of work-to-work is described. -One night at Browjamüle 4 6 0
  • the browser emulator 460 emulates the operation of the VRML browser 308, and presents the same VRML content to the user as when the ⁇ RML browser 308 is used. Therefore, for example, when the user confirms the operation of the created VRML content, the browser Emiure I460 is used.
  • the browser emulator 460 is started when the “Play button” displayed on the Conductor window of the display device 24 is pressed, or the keyboard 260 Is activated in response to the pressing of the “Play” button assigned to the server, the result of emulating the VRML content is stored in the scene graph database 44, and the resulting VRML content is displayed on the screen of the display device 24, for example, as shown in FIG. Display in 3D iew window (editing window) shown in 9 etc., and change the display contents according to user operation.
  • the browser Emiure 460 stops operating in response to pressing the “S top button” displayed in the Conductor window ⁇ , and when the browser emulator 460 stops operating, the GUI 40 is restored to its original state. Display VRML content for editing.
  • the file input / output unit 4 62 is used to store the VRML contents stored in the scene graph database 44 [VRML file (extension: wr1)], script (extension: java), texture file (extension) Child .bmp, .jpg, .gi ⁇ ) and sound files (extension .wav, .mod) to the hard disk drive 2 14, floppy disk 280 or M ⁇ disk 282 of the computer system 20. Record.
  • the file input / output unit 462 outputs various data of the VRML content read by the hard disk device 214 to the scene graph database 44.
  • File scope management section 4 64 is used to store the VRML contents stored in the scene graph database 44 [VRML file (extension: wr1)], script (extension: java), texture file (extension) Child .bmp, .jpg, .gi ⁇ ) and sound files (extension .wav, .mod) to the hard disk drive 2 14, floppy disk 280 or M ⁇ disk 282 of the computer system 20. Record
  • the backup manager 46 corresponds to the backup manager 36 in FIG.
  • the browser emulator 460 activated by the “Play button” displays an interactive operable scene
  • the state of the node changes according to the operation by the user.
  • the field value of the field has changed, and if no precautions are taken, the original scene cannot be displayed.
  • the backup 466 is launched in response to pressing the “P 1 ay button” in the Conductor window of the display device 24, the backup window 460 is opened.
  • the initial state (as the field value) of the field value of each node of the scene (the 3D virtual space generated from the VRML file) first displayed in the window) is received from the scene graph database 44 and stored.
  • Browser Emule One hundred sixty-four is used when the browser Emule One hundred sixty-four stops operation in response to pressing the “S top button” in the Conductor window of display device 24.
  • the field value of the object is output to the scene graph database 44 to restore the display state of the original object.
  • the GUI 40 displays the original scene data in the 3D iew window (edit window) of the display device 24 based on the scene value in the initial state of each node input to the scene graph data. Displays an image of a three-dimensional virtual space. Scribting department 4 7
  • the script creation unit 47 has a function of compiling a script created by a user using a text editor 426, confirming operation, and debugging. Hereinafter, each part of the scribing unit 47 will be described.
  • the Java compiler 474 compiles a script source program in Java language stored in the scene graph database (SGDB) 44, creates an object program, and outputs the object program to the SGDB 44.
  • the Java compiler 474 automatically outputs the script source program, for example, a file with the extension “-java J”. And automatically generate an object program, for example, a file with the extension “.class”.
  • Java emulator 470 and the Java debugger 472 operate as an interpreter of a program written in the Java language, and are used by the user to confirm the operation of the script program and to debug the program.
  • Java 470 emulates the operation of the object program of the script stored in the Seeing Rough Database (SGDB) 44
  • the Java debugger 47 2 outputs to the SGDB 44 the status of the Emirate operation of the Java Emirate mode 470 and the error that occurred.
  • the browser Emiure I / O 460 interprets the VRML content created up to that point and displays it on the display device 24.
  • the backup manager 466 operates at the same time so that the backup can be performed.
  • the knockup manager 466 saves the field values of each node representing the dynamic object sequentially when the dynamic object is clicked (Fig. 6, S223). 2 2 4).
  • the “St0p button” is pressed (FIG. 6, S 2 25)
  • the backup manager 466 restores the field values (FIG. 6). , S2 26).
  • the backup manager 466 saves the state of the VRML content at the start of the operation check, and the user uses the mouse to move the “St0p button” displayed in the Conductor window in the screen of the display device 24. 6 Press 2 to return the VRML content to the field value at the start of the operation check when the browser emulator 460 stops executing the VRML content, and operate the display contents of the window object (model). It can be returned at the start of verification.
  • the created VRML content is once saved to the hard disk drive device 214, etc., and then the VRML browser is started to confirm the operation, as in the conventional case described with reference to Fig. 1.
  • the trouble of performing is unnecessary.
  • the user can check the operation of the content created by the previous work.
  • Huai Geometry Automatic Creation Function JaVa Compiler 4 7 4)
  • the Java compiler 474 A source program, for example, a file having "java” as an extension can be automatically compiled, and an object program, for example, a file having ".c1 ass” as an extension can be automatically generated. Creation of a script program ⁇ Debugging function (text editor 4 2 6) The user creates a script such as Java language using a text editor 4 2 6 (creates a script source program in a suitable programming language, and Ko
  • This object program is executed not only when the VRML content is operated by the VRML browser 308 but also when the operation is confirmed by the browser 404.
  • the Java debugger 472 displays the input / output values of the script and the like, so that the script can be debugged.
  • Automatic template creation function (Text Eddy 4 26)
  • the template creation tool 428 creates a script source program template that conforms to this setting.
  • the user can create a script source program that implements the desired event by making necessary changes to the template using the text editor 426. This feature saves the user from having to create all the script source programs from the beginning by editing them, and also prevents simple coding errors.
  • Object display function model editing tool 420
  • FIG. 11 is a diagram showing an example of an object displayed in the 3D View window of the GUI screen of the display device 24 with the model editing tool 420.
  • the model editing tool 420 displays a 3D perspective view of the object represented by the created figure data in the 3D perspective view window on the GUI screen (Fig. 9).
  • this window is referred to as a 3D View window.
  • the model editing tool 420 selects the position in the DV iew window clicked by the user as a viewpoint, and selects from this viewpoint. Displays the image when viewing the selected object. Therefore, according to the above processing of the model editing tool 420, objects can be observed from various viewpoints. That is, if this function is used, the user can observe the object from various viewpoints.
  • the model editing tool 420 automatically moves the target object to the center of the window during the viewpoint change processing.
  • the operation mode of the mouse 26 2 includes a P ⁇ I (point of interest) mode as shown in FIG. 12, and as shown in FIG.
  • P ⁇ I point of interest
  • the model editing tool 420 looks at the selected object X, the model editing tool 420 shown in Figs. 11 and 14 In the center of the 3D iew window.
  • Object scaling function model editing tool 420
  • the operation mode of the mouse 26 2 is set to “scale”. For example, the user moves the cursor while pressing a predetermined button of the mouse 26 2, or When an operation to instruct to change the size of the object and data indicating the changed size are input from the keyboard 260, the model The editing tool 420 changes and displays the size (size) of the object according to the movement of the cursor. When the user releases the mouse 26 button, the model editing tool 420 determines the size of the object and displays the object at the determined size in the 3D virtual space of the display device 24 Change the contents of the object's graphic data so that
  • the user combines mouse mode change and mouse operation, for example, by using the routing editing tool 422, rotating and moving the object, and further expanding (or reducing) the viewpoint and viewpoint.
  • this process is also effective when observing an object from a different viewpoint.
  • the model editing tool 420 displays the contents of the graphic data of the object. Change according to the object displayed on device 24.
  • Sensor node area display 'Setting function (Model editing tool 420, Browser Emi Yule 460)
  • the object displayed in the window of the screen of the display device 24 as an object in the virtual space is assumed to generate an event when the user clicks and points, as shown in FIGS. 10A and 10A.
  • C has a sensor (Sensor) in the illustrated primitive bar.
  • the script routed to the sensor is executed, and the cursor stops moving outside the sensor node area (bounding box), the script execution stops.
  • the setting function is attached to the object, and a sensor that generates an event in response to an operation with the mouse 262 or the like, or a sound node that outputs a sound in response to the operation of the mouse 262 or the like Equivalent This function checks and changes the range of the effective area in the three-dimensional virtual space.
  • S301 The user uses the mouse 262 to display the 3D view window of the display device 24. Click an object on a window.
  • the model editing tool 420 operates in response to the above user's operation, and the model editing tool 420 selects the clicked object, and a bounding box surrounding the selected object. Flashes.
  • the model editing tool 420 adds a sunset sensor or the like to the object.
  • the range indicated by the bounding box indicating the selection of the object is the range of the effective area such as the evening sensor.
  • S305 The user inputs a command to change the range of the effective area of the sensor from the keyboard 260 and data indicating the range of the effective area after the change, or uses the mouse 262. Pointing the range of the effective area after the change
  • the model editing tool 420 changes the effective area range of the sensor and the like, and displays the changed effective area range of the sensor and the like on the bounding line.
  • a box-shaped (that is, a pounding box) force is used.
  • the shape of the bounding line is not limited to the box.
  • the display and scaling functions described above are also possible for the bounding line (bounding box), and the user can rotate, move, and zoom in / out the bounding box by the above operation. Can be performed.
  • the model editing tool 420 sets the range defined by the bounding box changed by these operations as the range of the effective area of the sensor and the like after the change.
  • the browser emulator 460 In response to the operation of the user, the browser emulator 460 operates, and the browser emulator 460 executes the content interpretation display operation.
  • the knock-up manager 466 is also started at the same time as the browser emulation, and the VRML by the browser emulation 460 is performed.
  • field values resulting from dynamic objects during content verification can be saved and restored.
  • FIG. 16 is a diagram showing a pop-up menu displayed on the 3D View window of the display device 24.
  • FIG. 17 is a diagram illustrating the ParalleView function.
  • Tool 420 displays a pop-up menu in the 3D View window.
  • the model editing tool 420 displays the side view (Top View) and the top view (Top Vi) of the object, as shown in Figure 17.
  • ew or a diagram by Wi-Fi frame (Wireframe) is displayed two-dimensionally in the Para11 e1View window on the menu screen of the display device 24. Attention function (Model editing tool 420)
  • the attention (Attenti0n) function is displayed in the 3D View window. It is used to confirm the shape of the object shown and allows the user to create content centering on one or more of the objects selected by the user with the mouse 26 in the 3D view window. This is a function to arrange and display each object as viewed from the viewpoint specified in the software tool 4 for 3D virtual space.
  • the model editing tool 420 arranges and displays one or more objects created in the 3D View window in a 3D virtual space.
  • FIGS. 20 to 22 are diagrams of objects displayed in a 3D View window as first to third examples showing the attention function.
  • the objects shown in FIGS. 18 to 19 are conical, but the objects shown in FIGS. 20 to 22 are not only circular but also have a pattern.
  • S322 The user is presented with the conical object shown in Fig. 18 or the cylindrical object with a fibrous object and a pattern as shown in Fig. 20.
  • the model editing tool 420 changes the background of the viewpoint position display panel to yellow as shown in Fig. 19 or Fig. 21, and the selected object becomes the center of the 3D view window.
  • the gaze direction is changed as follows. However, since the viewpoint position does not change, the distance to the object is the same.
  • S325 When the user drags the left button of the mouse 262 around the object while holding down, the viewpoint position and the line-of-sight direction of the object change accordingly, as illustrated in FIG. You can observe the object.
  • the model editing tool 420 changes the display contents of the 3D View window according to the user's specification into a conical object and a cylindrical object that can be viewed from the position specified in the three-dimensional virtual space as the viewpoint. Change to object image. In this way, by using the attention function, the user does not rotate the object itself, but rotates the entire scene actually displayed in the 3D View window in the 3D virtual space. It can be seen and the whole picture of the object can be easily grasped.
  • Routing editing function Setting of the type of human input (routing editing tool 4 2 2)
  • ROUTE NODE 1 fieldl TO NODE 2. fie 1 d 2
  • NODE 1 node named NODE 1 (No d eName) is given the field name fie 1 d 1 (eent ⁇ ut). It is defined that the event is transmitted to the specified field.
  • the data type (Data Typ e) preset for the event output side field name (event Out) and the event input side field name (e Vent Out) must match the preset data type (Data Type).
  • the routing edit function is used to fill in the node where the user enters the event.
  • a field name only the field name that matches the data type preset for the field name of the node that outputs the selected event is used as a pull-down list (drop-down list).
  • the routing editing function will be further described with reference to FIG. 24 and FIGS.
  • FIG. 24 is a flowchart showing the processing of the routing editing function.
  • FIGS. 25 to 27 are diagrams of a route window showing an example of the routing editing function.
  • the routing editing process in other words, the setting process of the type that can be input will be described with reference to FIG.
  • the following processing is executed by the routing editing tool 422 in an interactive manner with the user.
  • the root window is opened by the user to display a pull-down list (drop-down list) of the node name (N0deName) or its field name (event0ut) on the upper event output side.
  • the routing editing tool 422 determines whether or not the mouse operation has been performed.
  • the routing editing tool 422 extracts the node name (N0 de Name) of the selectable event output side or its field name (event 0 ut) and pulls it down from the pull-down list (Comb o Also referred to as B ox) o
  • the routing edit tool 422 displays TS 1 and its field name (eVentut), for example, is Active is displayed by the routing edit tool 422, and the selected field name is displayed in advance.
  • Set data type for example, SFB ool (Boolean value indicating true / false, FALSE (0) or TRUE (1)) Is displayed by the routing editing tool 422 in the area to the right of the field name (eVentut) for reference.
  • the routing editing tool 422 determines whether or not a mouse operation has been performed by the user to display a pull-down list of the node name (No Name) on the lower event input side. Is determined.
  • S337 It is determined whether or not the user has performed a mouse operation to display a pull-down list of a field name (event In) of a node name (No Name) on the lower event input side. In the one-touch editing tool 422, it is determined.
  • the routing editing tool 422 lists only the selectable event input field names (eVent0ut) as a pull-down list as shown in Fig.27.
  • the field name matches the preset data type for the field name of the node that outputs the event already selected by the user (in this case, it matches the SFBool). Only field names named "on" are displayed as a pull-down list by the routing editing tool 422.
  • the routing editing function only the field names of the nodes that match the data types of the events transmitted and received between the fields of the nodes are displayed to the user. As shown, the user can select any of the displayed field names to set the routing type. Therefore, it is easy to set the default setting of routing, and problems such as mismatch of data types between nodes due to simple mistakes and the like are prevented.
  • the scene graph editing tool 4 2 4 stores the node referenced by the selected VRML file to be edited in the scene graph window. For example, display in a hierarchical tree format. In this way, a set of nodes referred to by the VRML file to be edited is also called “file scope”.
  • the scene graph editing tool 424 limits nodes to be edited such as routing and script creation to the file scope displayed in the scene graph window. The contents of the file scope and the nodes that can be edited are changed to the node referenced by the changed VRML file according to the change of the VRML file to be edited by the user.
  • the script editing function is effective through each node in the same VRML file (within the file scope), and when the user changes the value of the input / output (evenUn, eventOut) of the script node in the same VRML file, the text editing E 4 26 is the same.
  • '' Supports script nodes in order to maintain the consistency of descriptions between script nodes in the RML file (displayed within the same file scope). Automatically changes the source program of the script to be used to match the changed input / output values (Inine management function).
  • node names must be unique, so text editor 426 avoids duplication of node names when copying and pasting the same node in the same VRML file. Therefore, the node name is automatically changed so that the copied / pasted node name is unique within the same ⁇ RML file (Paste naming function).
  • FIG. 28 is a diagram illustrating an example of a circular object created by the software tool 4 for creating content.
  • a sensor is attached to a conical object shown in FIG.
  • This section describes the case of creating content (first content) that makes the cone brighter or darker (turns the light on / off) according to the pointing to the object.
  • S401 Creation of figure data [Geometry node (Cone placement)]
  • the user places objects in a three-dimensional virtual space (world) and constructs the whole.
  • Objects that can be placed in a three-dimensional virtual space as an object using the content creation software tool 4 are, for example, provided in a VRML 2.0 basic node or a library window.
  • the content creation software tool 4 can also read a graphic data of an object created by another modeling software by converting it into a file format conforming to VRML 2.0.
  • GUI graphical user interface
  • the user puts a conical object (Cone) in the created empty world.
  • the user selects “Cone” from the Geometry tab of the Conductor window and clicks the window for creating figure data (hereafter referred to as 3D iew window).
  • 20 creates the figure data of the object (Cone) and displays the cone (Cone) shown in Fig. 28 in the 3D iew window.
  • the user uses the attention function of the content creation software tool 4 described above to display an image that is visible when the user moves around the object (Cone) in the 3D virtual space in a 3D iew window. It is also possible to confirm the shape of the object (cone) by displaying it on the screen.
  • a sensor In order to make an object move in the 3D virtual space or to respond to user operation, a sensor is added to the object, and certain conditions are detected for the operation of the client with respect to the object, and the change is detected. Must be communicated to other nodes as events.
  • the model editing tool 420 selects the clicked object and blinks a bounding box surrounding the selected object.
  • the user can use the keyboard 260 or the mouse 262 to change the range of the effective area of the sensor (TouchSensor).
  • FIG. 30 shows a scene graph window in the menu screen.
  • the scene graph editing tool 4 2 4 changes the display contents of the scene graph window in the new screen as shown in Fig. 30 according to the addition of the sunset sensor to the object.
  • the user can confirm that the touch sensor (TouchSensor) has been added to the object, in this example, Cone (cone).
  • a sensor (Touch Sensor) is added to a simple object called Cone (cone), but the sensor is applied to an object more complicated than a circular object by the same operation by the user. (It is also possible to add TouchSensor
  • the common node (PointLight) light is on the Co screen tab of the Conductor window. However, a light is created at the same position as the object with the display shown. Since it becomes invisible when it is formed, it is necessary to move the viewpoint in advance.
  • the model editing tool 420 changes the object viewed from the position where the user slightly looks down to 3D View. Display in iew window. In this state, when the common node (PointLight) is selected, the model editing tool 420 displays the object (Cone) brightly as shown in FIG.
  • the user performs routing between nodes, such as mapping from the sensor (TouchSensor) to the common node (PointLight).
  • nodes such as mapping from the sensor (TouchSensor) to the common node (PointLight).
  • Routing refers to linking two nodes, such as from a sensor to a script, to transfer events between nodes.
  • the sensor To perform this routing, the sensor must first be named (DEF name).
  • FIGS. 32 to 33 show the work of assigning a name to a sensor node using the Attribute window.
  • the Attribute window is used to change the attributes of the selected object, and the addition of a name (DEF name) to a node is performed by operating the Attribute window.
  • DEF name a name
  • the user selects a sensor (TouchSensor) from the scene graph window and assigns a DEF name (TS1, PL1) in the Attribute window.
  • the user specifies the position of “DEF name” in the Attribute window, types “TS 1” from the keyboard 260 and presses the return key. As shown, select the common node (PointLight) from the scene graph window, type “PL 1” and press the return key.
  • the scene graph editing tool 424 will open the sensor (TouchSensor) and common node (PointLighO).
  • the DEF names are TS 1 and PL 1, respectively.
  • FIG. 34 is a diagram illustrating a route window used for setting routing between nodes.
  • the user sets the routing so that the event generated by the sensor (TouchSensor: TSl) is transmitted to the common node (Point Light: PLl).
  • the software tool 4 for creating content uses the route shown in Figure 34. Use the window to set the routing.
  • the upper “NodeName” position is used for setting the output side node name
  • the lower “NodeName” position is used for setting the input side node name.
  • the event is to turn on / off the light when the sensor (TouchSensor) is clicked, so the user sets TS1 for the output “NodeName” and selects “isActive” for reventOutJ.
  • the type “SFBooi” is displayed.
  • the indication “SFBool” on the right side indicates that the event type passed in "isActive” is SFBool.
  • the user sets PL1 for "NodeName” and “on” for "eventin” as the settings on the input side.
  • the routing editing tool 422 changes the display of the route window on the display device 24 as shown in FIG.
  • the routing editing tool 422 performs the routing by associating the sensor (TouchSensor) with the common node (PointLight), and Add a route.
  • the content is input to the graphical user interface (GUI) 40 of the software tool 4 for content creation, and the software
  • GUI graphical user interface
  • the content creation software 4 starts the VRML content creation operation (creation mode).
  • the operation of the VRML browser 308 is emulated by the browser emulator 460, and the operation shifts to the operation of confirming the created contents (simulation mode).
  • the backup manager 466 stores the state of each node of the VRML content at this time and the user's viewpoint, and the browser emulator 460 executes the VRML content. Is displayed on the display device 24. While the browser Emiyure 460 is executing and displaying VRML content, if the user presses the object (Cone) displayed in the 3D iew window with the mouse 26 2 While the object is displayed brightly
  • the backup manager 4 6 6 When returning to the VRML content creation mode, the backup manager 4 6 6 returns the state of the VRML content to the initial state saved when entering the simulation mode, and further changes the user's viewpoint to the simulation mode.
  • the model editing tool 420 returns to the position at the time of entry, and the figure data in the initial state is displayed in the 3D Window window. Saving created VRML content
  • the file input / output unit 462 stores the VRML content file stored in the scene graph database 44 as a hard disk drive. Record to the external storage device 28 via the 2 14 or the floppy disk drive 2 16 and the M ⁇ disk drive 2 2 8. The user can open and view the recorded VRML content file with the VRML browser 308.
  • the graphical user interface section is used. It will be understood that the interactive operation with 40 enables the addition of object graphic data, sensor addition, and routing without programming by complicated character string command input. Creating complex content
  • VRML content 3D virtual space content
  • a VRML content that changes the color of the object when the mouse cursor comes over the object (first The following describes an example in which a content is created.
  • the VRML content is configured to transmit an event generated by a sensor (TouchSensor) applied to an object to another node [Common Node (PointLight)].
  • a sensor TouchSensor
  • Communication Node PointLight
  • More complex movements can be realized by interposing scribes between sensors and other nodes.
  • the color of the object (Cone) is specified by the Materia 1 attribute.
  • the Material 1 attribute has multiple fields.
  • diifuseColor as the Material attribute, the color of the object can be changed.
  • diffus eColor can be set.
  • the process of creating the second content is according to the procedure illustrated in FIG. Ie
  • steps 4 1 1 and 1 2 are the same as the operations in step 20 K 202 described with reference to FIG. 29, and thus description thereof will be omitted. .
  • a name must first be assigned in order to perform routing.
  • the names (TS1, PL1) were given to the sensors (Touch Sensor) and the common node (PointLight).
  • the creation of the second content it is necessary to further assign a name to the Material attribute.
  • Figure 36 shows the Appearance window in the menu screen.
  • the Material attribute is included in the Appearanee node that sets attributes such as the color attached to the object and the bitmap map.
  • the Appearance window power of the menu screen ⁇ 3 The DV window is selected in the DV iew window. (Including Apexaranc eMaterial 1. Texture etc.) of figure data as an object.
  • the user To give a name to the object's Materia 1 attribute, the user first clicks on the object X with the mouse 262 to select it, and then selects the Materia 1 tab in the Ap pearanee window shown in Figure 36. For example, give the name "C0NE 1 —MAT”.
  • the content creation software tool 4 is provided with a function called Script Exp Exp which simplifies the description of the script.
  • Script Expert function by defining the input and output of the script, it is possible to automatically generate a template for the script program. You can also edit.
  • FIGS. 37 and 38 are diagrams illustrating dialogs for creating a script.
  • Figure 38 shows the dialog that pops up.
  • the template creation tool 4 28 opens the dialog for creating the script shown in Fig. 37 and Fig. 38. open.
  • the top position "DEFj" is used to name the script node that will be used to route the script to the VRML file. 1 Enter J.
  • the location "Class Name” under "DEF” in the dialog is used to give the Java language script a class name, for example, the user gives the script a temporary name SC1.
  • the user defines script node inputs and outputs further down in the dialog.
  • the user since the event generated by the sensor (Touch Sensor) is input to the script, the user sets the “DataType” on the “eventin” side to the type used when passing the event from the sensor (TouchSensor).
  • RSFBoolJ conforming to, and rfield namej is "inBool”.
  • the template creation tool 4 28 creates a script node and creates a script template (model) corresponding to the script node. I do.
  • the content creation software tool 4 further has a function of supporting and executing script description in the Java language.
  • the template creation tool 428 generates a template (model) of the program corresponding to the script node and outputs it to the text editor 426 to assist the user in describing the script. If the user uses the software tool 4 for content creation, the user can edit the template created by the template creation tool 428 using the text editor 426 and make changes only by making changes. Since it is possible, the effort required to create a script source program is very small.
  • the user can compile the script program created by the template creation rule 428 and the text editor 428 using the Java Compiler 474.
  • the script source program Each time a file is created, there is no need to stop the software tool for content creation 4 and invoke the Java language compiler to compile.
  • the template of the newly defined script is created, and the script can be edited.
  • the template created by the template creation tool 428 only defines the basic parts of input and output, and does not include the program that actually implements the event.
  • the user can edit the template using the text editor 426 using the script description support and execution function, and create a script that immediately changes the color of the object. However, it is desirable to confirm with a thousand code whether the created template actually operates.
  • FIG. 39 is a diagram showing an eddy evening screen displayed by the text eddy evening 426.
  • the text editor 426 displays the template created by the template creation tool 428 in a text editing window of the display device 24 shown in FIG.
  • the output field name defined in the work up to this point is defined as a private variable (part of private SFColor m-outCol or), and in the initializeO method.
  • the code to initialize this variable is embedded.
  • the inBoolCBO method is called when there is an input event, and the program that operates based on the input from the sensor (TouchSensor) is described in this method [-inBoolCBII].
  • the Java compiler 474 automatically compiles the created script source program and outputs the object. Creates a program, and the browser Emiure 460 executes the automatically created object program. However, in this case, if an error occurs during compilation, the browser emulator 460 does not execute the VRML content.
  • the Java Compiler 474 will display the text "Finished" on the screen of the editor, and if the compilation is not successful, the compiler will be displayed.
  • the user checks again for any typographical errors using the text editor 426, corrects the program (template), and then compiles again. By doing so, errors can be removed.
  • the data indicated by the de-no-k code is displayed in the root window.
  • the value of data input from the sensor can be known.
  • FIG. 40 is a diagram exemplifying a ScriptAttTrittubte window used for editing scriptln eventln and eventOut.
  • EventOut the Script window shown in FIG. 40 is used.
  • S c r i p t shown in Fig. 40 is displayed.
  • the Attribute window opens.
  • the user enters or exits a script in the Script Attribute window.
  • the attributes are displayed in a list and the field is specified and the Dee ete button is pressed with the mouse 26 2, the text editor 4 26 deletes the description of the field.
  • the text editor 426 automatically changes the script source program so as to conform to the changed state.
  • the user displays the eventOut side, specifies the TypeName side as SFBool, specifies the EventName side as outC.olor, and presses the De1ete button Then, the text editor 426 automatically deletes line 10 (private SFColor m _outCol or :) of the script shown in Fig. 39 and reflects the change.
  • FIG. 41 is a diagram illustrating the contents of the root window.
  • FIG. 42 is a diagram showing the contents of the JaVaCosnsole window displayed by the browser emule 460.
  • the event generated by the sensor is set to isOver, and the field of the script node that receives the event is set using the Script EX pert function.
  • the Java debugger 472 displays a message having the content shown in FIG. 43, for example, in the Java Console 1 e window.
  • the user can check whether the script is operating without error because the code for the script has been added to the script. . Further, in order to confirm the operation of the second content, the user may press the “P1ay button” of the display device 24 as in the case of confirming the operation of the first content.
  • the browser Emiure 460 will display J a shown in Figure 43. Display the V a Console window.
  • the browser emulator 460 emulates the operation of the VRML browser 308, and the object (3D virtual space) indicated by the VRML content is displayed. Image) is displayed in the 3D iew window.
  • the Java debugger 472 displays “true” in the Java Console window as shown in FIG. Displays a message and displays a "false” message when the user moves away from the object.
  • the display contents of the JaVaConso1e window shown in Fig. 43 show that when the mouse cursor comes over the object, the sensor (Touch Sensor) attached to the object detects this state. Event, and the event is transmitted to the script node, indicating that the script node has received the event.
  • the display in the Java Console window indicates that System, out.printlnO in the meth This is done by:
  • the color of an object is changed by writing a value to the field (variable name m-outColor) on the output side of the script shown in Fig. 44, and routing it to the Material attribute.
  • m-outColor variable name
  • Fig. 36 is a root window showing the display contents when the outColor of the script program (SC1) is routed to the dif useColor of the Materia1 attribute (C0NE1-MAT).
  • the backup manager 466 holds the initial state of the content and the user's viewpoint at the start of the operation check, as in the case of the operation check of the first content, and presses the user “St0p button”.
  • the button is pressed, the operation of the browser Emiyuray 460 is completed, and the model editor 440 checks the operation of the VRML content in the initial state held in the knockup manager 466. Restores and displays the 3D iew window from the user's point of view at the start.
  • model editing The tool 420 restores the display of the object (Con) in the 3D view window to the content shown in FIG. 28 based on the retained initial state.
  • the operation of the content in the operation check described above is as follows.
  • the sensor (TouchSensor ') attached to the object detects it and an event occurs.
  • the generated event is transmitted to the script node according to the routing settings, and the script node executes the method.
  • the output field is set to red, and the color written in the output field is further set by routing to the object (Cone) 's Materia 1 attribute,
  • the object in the 3D virtual space turns red.
  • an event is transmitted from the sensor (TouchSensor) to the script node, the method sets the output field to green, and changes the object to green. Example of clicking an object (Cone) to make a sound
  • VRML content As a third specific example of creating a content (VRML content) in a three-dimensional virtual space using the software tool 4 for creating content, an object (Cone) is used as a tool.
  • An example of creating VRML content (third content) that clicks on the mouse to smooth the sound will be described.
  • step 431 and step 432 are the same as the above-described creation of the first content and creation of the second content, and therefore description thereof is omitted.
  • the sensor TouchSensor
  • TS1 the sensor (TouchSensor) is named TS1.
  • FIG. 46 is a diagram showing a single graph window and an Attrribute window when a sound node is arranged.
  • the software tool for content creation4 allows the user to enter the first part of the Resource Library window shown in Fig. 9. It is configured to add a sound node by clicking on the Sound knob with the mouse 262, opening the sound library, and dropping the sound node from the sound library.
  • the user looks at the 3D Window and confirms that nothing is selected. If any object is selected, the scene graph window pop-up shown in Figure 46 is displayed. Select "Unselect" from the menu and instruct the model editing tool 420 to cancel the selection.
  • the editing tool 420 adds a sound node to the graphic data of an object.
  • the editing tool clicks on the tree displayed in the scene graph window, the editing tool
  • the graph editing tool 4 2 4 displays the contents shown in Figure 47, and indicates to the client that the sound node has been added.
  • the area of the sound can be specified by fields such as "maxBack" and "maxFront".
  • the user can confirm the sound node by pressing the “p1ay button” on the menu.
  • the user can press the "P1 ay button”. If you click on “On”, the set sound (in this example, classical music) is output.
  • the spatialize field of the sound node is set to “TRUE” in the default state, and the mouse 262 is used in the 3D iew window to move through the 3D virtual space. As you move (navigate), the loudness of the sound and the left and right pans change according to the position of the mouse cursor.
  • the model editing tool 420 will display the 3D View window on the left and the Para 11 1 e 1 View window on the right as shown in Figure 47.
  • a flashing bounding box is displayed around the object (Cone), which indicates the area where the sensor (TouchSensor) generates an event that outputs sound, and the user can visually check the sound area.
  • the model editing tool 420 displays the object (Cone) from the front in the 3D view window on the left side of FIG.
  • the image is displayed three-dimensionally, and the image viewed from above the object (Cone) is displayed two-dimensionally in the Parallel Window window on the right.
  • the model editing tool 420 displays an image of the object when the viewpoint is moved away from the object. Display in the View window.
  • Fig. 48 is a diagram illustrating the change in the size of the sound output area shown in Fig. 47.
  • the area indicated by the bounding pox is specified numerically in the Attribute window. Also, by switching the mouse mode on the menu screen shown in Fig. 9, it is also possible to move, rotate, and scale this area using the mouse as shown in Fig. 47.
  • startTime ⁇ 1 is set. Also, in order to stop sound output when the area indicated by the bounding box is clicked, substitute the clicked time into startTime.
  • FIG. 49 is a diagram exemplifying the change of the Audi0C1ip node and the routing from the sensor (TouchSensor) to the Audioc1ip node.
  • the user selects the first AudioClip tab in the Source Library window, as shown in Figure 48. It is necessary to name the Au dio C 1 ip node AC1, and to route from the touchTime of the sensor (TouchSensor: TSl) to the start time of the Au dioC 1 ip node in the root window.
  • the operation of the third content is as follows.
  • an event called TouchSensor which is a sensor attached to the object, and an event called touchTime are generated.
  • the clicked time in VRML 2.0, relative to 00:00:00 GMT Jan 1 1970
  • the startTime is set, and the sound is played.
  • Output starts.
  • the loop field of the AuDioClip node is set to TRUE. The sound is repeatedly played and output as it is set.
  • the sound output cannot be stopped unless the user moves out of the sound area, and when stopping the sound output, the client uses a text editor 426 or the like under predetermined conditions.
  • the program needs to be changed to stop sound output.
  • the software tool 4 for creating content can be adapted to a language for describing a three-dimensional virtual space other than VRML, by appropriate modification. Effects of the present invention
  • a script template can be created by interactive operation using a script expert, and a script can be automatically compiled.
  • the connection between the Java language, VRML, and VRML has also been facilitated. .
  • a character string command line
  • the time required to create content in the three-dimensional virtual space by the user VRML 2.0 was significantly reduced. -According to the present invention, the following effects can be obtained.
  • the graphic data generating apparatus it is possible to generate graphic data indicating a shape of an object in a virtual space, a position in a three-dimensional space, and the like. It is possible to integrate tasks such as programming of events (scripts) and associating pointing to a model with activation of a script (routing).
  • the results of each operation such as model, script, and routing can be immediately confirmed. I can do it.
  • the graphic data generation device According to the graphic data generation device, the graphic data generation device, and the medium thereof according to the present invention, it is possible to easily create a software capable of performing an operation in a three-dimensional virtual space in an interactive manner.
  • the shape of a three-dimensional object displayed in a virtual space can be accurately grasped by a two-dimensional screen display. be able to.
  • the graphic data generation apparatus the graphic data generation method, and the medium thereof according to the present invention, the range setting of the effective area of a sensor that generates an event in response to an operation on an object, and the setting of the effective area of the set sensor are performed. Confirmation can be performed visually easily, and it is easy to confirm the operation of an event that occurs in response to an operation on the sensor.
  • the graphic data generation device, the graphic data generation method, and the medium thereof according to the present invention can be widely used as a content authoring tool using a three-dimensional graphics description language for expressing an object in a three-dimensional virtual space.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Description

明細書 図形データ生成装置、 図形データ生成方法およびその媒体 技術分野
本発明は、 図形データ生成装置、 図形データ生成方法およびその媒体に関する ものであり、 特に、 3次元仮想空間におけるオブジェク トの表現に用いられる 3 次元的な図形の形とその位置、 表示した 3次元画像に対するクライアント (ユー ザ) の操作 (こ応じて起動するスクリプト等とを統合的に編集するために用いられ る図形データ生成装置、 図形データ生成方法およびその媒体に関する。
さらに特定的には、 本発明はスクリブトエキスパートを適用してイン夕ラクテ イブな操作によりスクリブトのテンプレートを作成し自動的にスクリプトをコン パイル可能な図形データ生成方法と、 それを実施する図形データ生成装置と、 図 形データ生成方法を実施するプログラムを媒介する媒体に関する。 背景技術
世界的規模で構築されたコンピュータネッ トワークであるインタ一ネッ ト(The i nternet)において、 様々な情報を提供する WWW(Wor Id Wi de Web)の枠組みを 利用して 3次元的な情報を統一的に扱うことができる記述言語として V R M L (V i rtual Real i ty Model ing language) 力知られてレ、る。
まず、 V R M Lが開発されるまでの歴史的背景を説明する。
インターネッ トで利用できる情報提供システムとして、 スイスの C E R N (Eu ropean Center for Nuclear Research : 欧州核物理学研究所) が開発した WWW が知られている。 この WWWは、 テキスト、 画像、 音などのマルチメディア (情 報) をハイパーテキスト形式で閲覧できるようにしたもので、 H T T P (Hyper Text Transfer Protocol :ハイパーテキスト転送プロトコル) と呼ばれるプロト コルに基づし、て、 WWWサーバに格納された情報をパーソナルコンピュー夕など の端末装置に非同期転送するものである。 WWWは基本的には、 サーバとブラウ ザとで構成される。 WWWサーバは、 HTTPデーモン (daemon) と呼ばれるサーバ · ソフ トゥェ ァとハイパーテキスト情報が格納される HTML (Hyper Text Makeup Language 、 ハイパーテキスト記述言語) ファイルによって構成される。 デーモンとは、 U N I X上で作業を行う場合、 バックグラウンドで管理や処理を実行するプログラ ^.g.^ る。
ハイパーテキスト情報は HTMLと呼ばれる記述言語によって表現される。 H TMLによるハイパーテキストの記述は、 「く」 と 「〉」 で囲まれたタグと呼ば れる書式指定によって文章の論理的な構造が表現される。 他の情報とのリンクに ついての記述は、 アンカ一と呼ばれるリンク情報によって行われる。 アンカ一に よって情報が存在する所を指定する際には、 URL (Uniform Resource Locator ) が用いられる。
HTMLで記述されたファイルを TC PZ I P (Transmission Control Proto col/Internet Protocol ) ネッ トワーク上において転送するためのプロトコルが HTTPである。 HTTPはクライアントからの情報伝送の要求を WWWサーバ に伝え、 HTMLファイルのハイパーテキスト情報をクライアントに転送する機 能を持っている。
WWWを利用する環境として多く利用されているのが WWWブラウザである。 ブラウザとは閲覧するという意味であり、 ブラゥザは利用者の操作に応じてサー バに情報の問い合わせを行う作業を遂行する。 WWWブラウザは、 Netscape Nav i gator (米国 Netscape Co隱 unications社の商標) をはじめとするクライアント • ソフ トウェアである。 ブラウザを用いて、 URLに対応する世界規模で 広がるインターネッ ト上の WWWサーバのファイル、 いわゆるホームページを閲 覧することができ、 いわゆるネッ トサーフィンと呼ばれるように、 リンク力張ら れたホームべ一ジを次から次へと迪つて、 多種多様な WWWの情報ソースにァク セスすることができる。
近年、 WWWをさらに拡張し、 3次元空間の記述や、 3次元グラフィ ックスで 描画されたォブジェクトに対してハイパーテキストのリンクの設定を可能とし、 これらのリンクを迪りながら WWWサーバを次々とアクセスできるようにした V R M Lと呼ばれる 3次元グラフィックス記述言語の仕様が策定され、 V R M Lの 仕様に基づいて記述された 3次元空間を表示するための V R M Lブラウザが開発 されている。
VRMLの詳細は、 例えば、 文献 「VRMLを知る : 3次元電脳空間の構築と ブラゥジング」 、 マーク ·ぺッシ著、 松田晃ー ·蒲地輝尚 ·竹内彰ー ·本田康晃 -暦本純一 ·石川真之 ·宮下健 ·原和弘訳、 1 9 9 6年 3月 2 5日初版発行、 プ レンティスホール出版 ISBN4- 931356- 37 - 0、 (原著: VRML : Browsing & Bui lding Cyberspace, Mark Pesce, 1995 New Readers Publishing ISBN 1-56205 - 4 98-8) ) 、 および、 文献 「VRMLの最新動向と C y b e r P a s s a g e」 、 松田晃ー ·本田康晃著、 b i t (共立出版) /1996 Vol.28No.7 pp29〜pp36, No .8 pp57 〜pp65, No.9 pp29 〜pp36, No.10 pp49〜pp58に記載されている。
「The Virtual Reality Modeling Language Version 2.0 」 , ISO/IEC CD 147 72 , August 4, 1996におけるの公式かつ完全な仕様書は、 下記のホームページァ ドレスで公開されている。
http://www. vrml. org/Spec i f i cat i ons/VRML2.0/FINAし/ spec/index, html その日本語版は下記のホームページアドレスで公開されている。
http://www. webci ty. co. jp/info/andoh/vrml2.0/spec-jp/ index, html
VRML 2. 0用ブラウザおよび共有サーバ用ソフ トウェアとしては、 例えば 、 本出願人であるソニー株式会社が 「Co画 unity Place (商標) Browser I Bure auj として開発し、 製品化しており、 その ^版 (試供版) をインターネッ ト上の ホームべ一ジ: http://vs. sony co. jpからダウン口一ド可能としている。
このような VRML 2. 0においては、 3次元的な仮想空間内におけるォブジ ェク トの自律的な振る舞い (Behavior) を記述し、 表現することが可能である。
VRML 2. 0を用いて、 3次元的な仮想空間内でオブジェク トが動的に動き回 る VRMLコンテンツを作成しょうとする場合、 通常、 以下の様な作業工程を経 ることになる。 なお、 これ以降、 一^ 3の仮想空間内で一連のオブジェク トの振る 舞いを実現するための VRMLファイルゃスクリプト · ファイル等の集合体を V RMLコンテンッ呼ぶ。
VRMLコンテンツの作成手順 VRMLコンテンツの一般的な作成手順を下記に述べる。
( 1 ) モデル作成
仮想空間内に配置するオブジェクト (モデル) の形状や位置等を VRM L 2. 0に基づいて記述し、 基本的な VRMLファイルを作成する。
(2) センサ . ノ一ドの記述
仮想空間内の各ォブジェクトに対して、 マウスによるクリツク操作 (ポ インティング操作) がなされた場合にィベントを発生する T 0 u c h S e n s 0 rや、 予め設定された時刻になるとィベントを発生する T i me S e n s 0 r等 のセンサノー ドの記述を VRMLファイルへ追加する。
(3) ルーティ ングの記述
センサ■ ノードが付加されたォブジェクトに対するボインティング操作 等に応じて発生したィベントを伝達するためのルーティングの記述を VRMLフ アイルへ追加する。
( 4 ) スクリプト · ノードの記述
ルーティングによって伝達されたィベントを外部スクリブ卜へ受け渡す ためのスクリプト · ノードに関する記述を VRMLファイルへ追加する。
(5) スクリプト · ファイルの作成
スクリプト · ノードを介して伝達されたィベントに基づいて、 仮想空間 内の各ォブジヱク 卜に対して予め設定された振る舞いを実現するための J a V a 言語 (J a v aは、 米国 S u n Mi c r o s y s t e m s社の商標) 等による スクリプトを記述 (プログラム) し、 スクリブ 'ト · ファイルを作成する。
以上の ( 1 ) 〜 (5) の記述工程を経て、 所望の VRMLコンテンツが作成さ れる。
VRML 2. 0に基づいて、 仮想空間内でのオブジェク 卜の自律的な举動を伴 う VRMLコンテンツを作成しょうとする場合、 既存のモデラ一と呼ばれるォー サリ ングソフ トゥヱァ、 例えば、 3D S t u d i o Ma x (商標) 等のソフ トウエアを使って、 オブジェク トの形状やアニメーションを作成し、 VRML 2 . 0の形式で出力する。 仮に、 モデラ一が VRML 2. 0形式をサポートしてい ない場合はコンバータ等を用いて VRML 2. 0形式に変換する必要がある。 さらに、 VRML 2. 0によって規定されている各種センサ ' ノード等の記述 を、 テキストエディタを用いて VRMLファイルに追加したり、 さらには、 テキ ストエディタを用いて J a V a言語によるスクリプ卜の作成や、 これに対応する スクリプト · ノードの追加、 ルート (ROUTE) 分の追加等を繰り返す。 最後に、 実際の動作確認に当たっては、 VRML 2. 0対応の VRMLブラウ ザを起動し、 マウスによるクリック操作等により、 オブジェク トの振る舞いを確 認する。
このような VRMLコンテンツの作成方法は、 煩雑な手作業が非常に多く、 作 業効率が著しく悪い。 例えば、 スクリプトノ一ドへフィールドを追加する場合に は、 スクリプトファイルと、 VRMLファイルの両方を修正する必要がある。 さ らにこれら両者の間の整合性を保たなければならない。
また、 イベン トのルーティングを指定する際にも、 イベン トの型 (デ一夕形式 ) の整合をとらねばならない。 このル一ティング等の記述形式を誤ると、 VRM Lブラウザで読み込ませた際に、 構文エラ一が生じ、 再度、 ファイルを修正しな ければならない。 さらに、 各ノードを追加する度に、 VRMLブラウザで再読込 みする必要があるので、 非常に作業効率が悪い。
また従来の方法はィンタラクシヨン (対話) の性能に改善すべき点が見いださ れた。 インタラクションの不備の 1例として、 ワールド作成時の確認動作の煩雑 さ、 非効率さがある。 図 1に従来のワールドの作成方法の手順をフローチャート として示した。 ワールドの作成は 2つに大別される。 前半でモデルを作成し、 後 半でィンタラクションを作成する。 その詳細については本発明の実施の形態との 対比において後述するが、 ワールド作成時にはその確認が必要となるが、 図 1に 示す従来の再生方法では、 ステップ 1 08に図解したように、 別途、 VRMLブ ラウザを用いなければならなかった。 すなわち、 修正した VRMLファイルで表 現される 3次元仮想空間内でのオブジェク トを確認する度に、 一々 VRMLブラ ゥザを起動し、 修正済 VRMLファイルの読込みを指定するか、 もしくは既に V RMLブラウザが起動していたとしても、 その修正済フアイルの再読込みを指定 しなければならず、 VRMLコンテンツを作成する上での作業効率が非常に悪か つた。
さらに、 J a v aなどの言語を用いてよりインタラクティブなワールドにする ため、 スクリプトを用いるが、 スクリプトの作成はコンテンツを作成する上で難 しいものとして知られている。 特に、 J a v aの言語と V R M Lと結合部分が難 しい。 発明の開示
本発明の目的は、 上述した課題、 すなわち、 スクリプト作成の課題を克服して
、 容易にスクリプトが作成できる図形デ一夕生成方法、 その図形データ生成方法 を実施する図形データ生成装置、 図形デー夕生成方法を実施するプログラムを媒 厶、す- る媒体を提供することにある。
本発明においては、 上記課題を克服するため、 新規にスクリプトエキスパート を開発した。 スクリプトエキスパートは、 インタラクティブな操作によりスクリ ブトのテンプレートを作成し、 ユーザの操作により、 動作確認の際にスクリプト を自動的にコンパイル可能にしたものである。 その結果、 スクリプトの作成のた めにコマンドの文字列入力入力 (コマンドライン) により行う必要がない。 また 、 ユーザ V R M L 2 . 0による 3次元仮想空間のコンテンッ作成時間を大幅に短 縮することできる。
したがって、 本発明の第 1の観点によれば、 表示装置の画面のゥィ ンドウにに おける仮想空間内に所定の情報を表示する工程と、 スクリプト作成用デー夕を入 力し、 前記表示装置のゥィンドウに表示されたォブジェクトに対する操作指示に 応じて発生するィベントを実現するスクリプトのソースプログラムを作成するェ 程と、 ルーティング用データを入力し、 生成した前記データおよび作成した前記 スクリブトを含むノ一ド間を対応付けてルーティングを行う工程と、 実行指示に 応答し、 前記作成した前記スクリプトのソースプログラムをコンパイルし、 前記 スクリプトのオブジェク トプログラムを作成する工程と、 実行指示データの入力 に応答し、 前記ォブジェク 卜が示す図形を前記ウイ ンドウに表示し、 表示した前 記ォブジェク 卜に対する前記操作指示手段からの操作指示に応じて、 少なくとも 前記オブジェクトに対応付けられた前記スクリプトのオブジェク 卜プログラムを 実行する工程とを有する図形データ生成方法が提供される。
好適には、 前記画像作成用データ、 前記スクリプト作成用データおよび前記ル 一ティング用データの入力に用いられる入力用画像を表示し、 表示した前記入力 用画像に応じて入力されるこれらのデータを入力する工程を有する。
また好適には、 前記ソースプログラム作成工程は、 前記スクリプトの入出力の 値を設定する入出力値設定工程と、 設定した前記スクリブトの入出力の値に適合 したスクリブトのソースプログラムのひな型を作成するひな型作成工程と、 作成 した前記スクリブトのソースプログラムのひな型を編集し、 所望の前記スクリブ トのソースプログラムを作成するソースプログラム編集工程とを有する。
また好適には、 前記ソースプログラム作成工程は、 設定した前記スクリプトの 入出力の値に適合するように、 前記ソースプログラムを変更するソースプログラ 厶変更工程を有する。
本発明の第 2の観点によれば、 上記図形データ生成方法を実施する図形データ 生成装置が提供される。 すなわち、 図形データ生成装置は、 表示装置の画面のゥ ィンドウににおける仮想空間内に所定の情報を表示する表示処理手段と、 前記表 示装置に表示された表示内容とユーザとの対話型操作を可能とする前記表示装置 と協動する操作指示手段と、 スクリプト作成用データを入力し、 前記表示装置の ウイ ンドウに表示されたォブジェクトに対する前記操作指示手段からの操作指示 に応じて発生するィベントを実現するスクリブ卜のソースプログラムを作成する ソースプログラム作成手段と、 ル一ティング用データを受け入れ、 生成した前記 図形データおよび作成した前記スクリブトを含むノード間を対応付けてルーティ ングを行うル一ティング手段と、 前記操作指示手段からの実行指示に応答し、 前 記作成した前記スクリブトのソースプログラムをコンパイルし、 前記スクリプ卜 のォブジェクトプログラムを作成するォブジェクトプログラム作成手段と、 前記 操作指示手段からの実行指示データの入力に応答し、 前記オブジェク トか示す図 形を前記ゥィンドウに表示し、 表示した前記オブジェクトに対する前記操作指示 手段からの操作指示に応じて、 少なく とも前記ォブジェク トに対応付けられた前 記スクリブトのオブジェク トプログラムを実行する表示 ·実行手段とを有する。 また本発明の第 3の観点によれば、 上記図形データ生成方法を実施するプログ ラムを媒介する媒体が提供される。 すなわち、 プログラムを媒介する媒体は、 表 示装置の画面のゥィンドウににおける仮想空間内に所定の情報を表示する工程と 、 スクリプト作成用データを入力し、 前記表示装置のウィ ン ドウに表示されたォ ブジェク 卜に対する操作指示に応じて発生するィベントを実現するスクリブトの ソースプログラムを作成する工程と、 ルーティング用データを入力し、 生成した 前記データおよび作成した前記スクリプトを含むノ一ド間を対応付けてルーティ ングを行う工程と、 実行指示に応答し、 前記作成した前記スクリプトのソースプ ログラムをコンパイルし、 前記スクリブトのォブジヱクトプログラムを作成する 工程と、 実行指示データの入力に応答し、 前記ォブジ ク 卜が示す図形を前記ゥ ィンドウに表示し、 表示した前記ォブジェクトに対する前記操作指示手段からの 操作指示に応じて、 少なくとも前記ォブジェク トに対応付けられた前記スクリプ トのオブジェクトプログラムを実行する工程とを有する図形デ一夕生成方法を実 施するプログラムを媒介する媒体である。
前記プログラムを媒介する媒体は、 コンピュータシステム内において媒介され る、 または、 ネッ トワークシステムを介して伝送される。 図面の簡単な説明
本発明の上記目的および特徴、 および、 他の目的および特徴は添付図面に関連 づけた下記の記述から明瞭になる。
図 1は従来の V R M Lコンテンッの作成方法を示すフローチヤ一トである。 図 2は本発明の図形データ生成装置が適用される 3次元仮想空間を統一的に扱 ぅネッ トワークシステムの構成を示す図である。
図 3は本発明のコンテンツ作成用ソフトウヱアツ一ルの構成図である。
図 4は図 3に図解したコンテンツ作成用ソフトウ アツ一ルによって実行され る V R M Lコンテンツの作成方法を示すフローチヤ一卜である。
図 5は図 4に図解した V R M Lコンテンツを作成する過程における基本的な確 認動作の処理を図解したフ π—チャートである。
図 6は図 4に図解した V R M Lコンテンツを作成する過程における好適な確認 動作の処理を図解したフローチヤ一トである。
図 7は図 2に示したネッ 卜ワークシステムにおけるコンピュータシステムの構 成を示す図である。
図 8は図 3に図解したコンテンツ作成用ソフトウヱァツールの実施の形態とし てのコンテンツ作成用ソフトウエアツールの構成図である。
図 9はコンピュー夕システムにおける表示装置に図 8のコンテンツ作成用ソフ トウエアツールのグラフィカルユーザーィン夕一フェース部によって表示される 各ウィンドウを示す図である。
図 1 0 A〜図 1 0 Cは図 9に図解された Conductor ウィンドウの拡大図である 図 1 1は図 9に示した 3 D V i e wウイ ンドウ (編集ゥィンドウ) の表示例 を示す図である。
図 1 2〜図 1 4は表示装置の画面のウィンドウにおける P 0 i n t O f I n t e r e s tの図形を示す図である。
図 1 5はセンサノードの領域表示と設定の処理を示すフローチヤ一トである。 図 1 6〜図 1 7は P a r a 1 1 e 1 V i e w機能による表示例を示す図であ 図 1 8〜図 2 2は A t t e n t i 0 n機能による表示例を示す図である。 図 2 3は A t t e n t i 0 n機能の処理を示すフロ一チヤ一トである。
図 2 4はルーティング編集処理のフローチヤ一トである。
図 2 5〜図 2 7はルーティング編集処理における表示例を示す図である。 図 2 8は V R M Lコンテンツを作成のォブジヱク トの表示例である。
図 2 9は第 1の V R M Lコンテンツを作成する処理を示すフローチヤ一トであ 。
図 3 0〜図 3 4は第 1の V R M Lコンテンツを作成するときのウイ ンドウにお ける表示例である。
図 3 5は第 2の V R M Lコンテンツを作成する処理を示すフローチヤ一トであ る。
3 7は第 2の V R M Lコンテンツの作成するとき、 スクリブトェキ スパー卜のウインドウを例示する図である。
図 3 8〜図 4 4は第 2の VRMLコンテンツを作成するときのウイン ドウにお ける表示例である。
図 4 5は第 3の VRMLコンテンツを作成する処理を示すフローチヤ一トであ る。
図 4 6〜図 4 9は第 3の VRMLコンテンツを作成するときのウインドウにお ける表示例である。 発明を実施するための最良の形態
本発明の図形データ生成装置、 図形データ生成方法およびこの図形データ生成 方法を実施するプログラムを媒介する媒体の実施の形態を述べる。
ネッ トワークシステム
図 2は本発明の図形データ生成装置、 図形データ生成方法および媒体が適用さ れる 1例としての、 3次元仮想空間を統一的に扱うネッ トワークシステム 1の構 成を示す図である。
ネッ トワークシステム 1は、 企業内ネッ トワーク 1 0、 インタ一ネッ ト 1 2、 インターネッ 卜プロノぐイダ 1 4、 I S DNCintegrated services digital netwo rk 1 6およびクライアント (加入者) システム 2が相互に接続されて構成され 実際のネッ トワークシステム 1は、 企業内 (In house) ネッ トワーク 1 0、 ィ ン夕ーネッ 卜 1 2、 ィン夕一ネッ トプロバイダ.1 4およびクライアン卜システム 2などが複数存在しうるが、 図示の簡略化のために、 図 2にはそれぞれ一^ ^ずつ のみ図解している。
企業内ネッ トワーク 1 0は、 ハ一ドディスク装置 1 0 0、 サーバ装置 1 0 2、 L ANdocal area network) 1 0 4およびゲートウエイサーバ (GWS) 1 0 6 から構成されている。
企業内ネッ トワーク 1 0に接続されているインタ一ネッ ト 1 2は、 ルー夕装置 1 2 0, 1 2 4およびディジタル通信回線 1 22から構成されている。
インターネッ トシステム 1 2と I SDN 1 6との間にィン夕一ネッ トプロバイ ダ 1 4が設けられている。
図 2にネッ トワークシステム 1において、 企業内ネッ トワーク 1 0とクライア ン ト (加入者) システム 2とは、 インターネッ トシステム 1 2、 インタ一ネッ ト プロバイダ 1 4、 I SDN 1 6を介して接続されている。 本明細書においては、 LAN 1 0 4, ィン夕一ネッ ト 1 2、 ィンターネッ トプロバイダ i 4および I S DN 1 6をネッ トワークと略称することにしたが、 このネッ トワークは、 サーノく 装置 1 0 2とクライアントシステム 2との間のデータ通信を行う。
I SDN 1 6に接続されているクライアントシステム 2は、 パーソナルコンビ ユー夕 (PC) 20、 表示装置 (DSP) 24および入力装置 ( I N) 2 6を有 するコンピュータシステムを有する。 コンピュータシステムには記憶装置 2 8力 接続されている。 しカヽしな力 ら、 コンピュータシステムとして、 パーソナルコン ピュータ (PC) 2 0に接続される表示装置 24、 入力装置 2 6、 外部記憶装置 2 8はコンピュータシステムを構成する一部であっても、 外部に設けられたもの でも構わない。 本実施の形態においては、 表示装置 24、 入力装置 2 6はコンビ ユー夕システムの一部を構成し、 外部記憶装置 28はコンピュータシステムの外
サーバ装置 1 0 2
企業内ネッ 卜ワーク 1 0のサーバ装置 1 0 2は、 例えば、 C ommu n i t y
P l a c e (商標) 用のサーバ装置 (例えば、 http'V/vs.sony.co. jp/ ) であ つて、 VRMLコンテンツ、 つまり、 ュ一ザ (クライアント) が VRML 2. 0 で記述した 3次元的なォブジェクトの形状および位置等を示す VRMLファイル 、 および、 ユーザが J a V a言語等のプログラム言語により記述し、 オブジェク 卜に対するユーザの操作に応じて起動するスクリプトフアイル等からなる V R M Lコンテンツをネッ トワーク等を介して取得してハードディスク装置 1 0 0に記 憶し、 記憶結果を管理する。
以下、 VRMLファイル (拡張子. wr 1 ) と J a v a言語によるスクリプト ファイル (拡張子. j a V a ) 等の集合体を V R M Lコンテンツと呼ぶ。
またサーバ装置 1 0 2は、 ハードディスク装置 1 0 0に記憶した 3次元的な仮 想空間の V R M Lコンテンツを、 サーバ装置 1 0 2、 L A N 1 0 4、 インターネ ッ トシステム 1 2、 インタ一ネッ トプロバイダ 1 4および I S D N 1 6 (以下、 ネッ トワークシステム 1内のこれらの通信ノードを総称して、 単にネッ 卜ワーク とも記す) を介してクライアントシステム 2に送 i し、 表示装置 2 4に表示する o
さらにサーバ装置 1 0 2は、 クライアントシステム 2の要求に応じて例えば、 ハードディスク装置 1 0 0に記録されたコンテンツ作成用ソフトゥヱァツールで あるプログラムをネッ トワークを介して、 クライアントシステム 2へ転送する。 あるいは、 コンテンッ作成ソフトウエアツールであるプログラムを F D 2 8 0ま たは M Oディスク 2 8 2に格納した状態でクライアントシステム 2に配信する様 にしても構わない。 プログラムを媒介する媒体の説明
本発明の図形データ生成装置、 図形データ生成方法およびその方法を実施する プログラムを媒介する媒体として、 下記に、 クライアントシステム 2における構 成および動作を中心に述べるが、 本発明における 「媒体」 とは、 本発明の図形デ 一夕生成方法を実現するコンピュータ ·プログラムを記憶した記録媒体は勿論含 むが、 単にプログラム記憶媒体を意味するものではなく、 下記の実施の形態にお いてその内容について詳述するクライアント (加入者) システム 2はもとより、 本発明の図形データ生成方法を実現するために、 図 2のネッ トワークシステム 1 を介してコンピュータ ·プログラムをクライアントシステム 2へダウン口一ドす る際のプログラム伝送媒体をも意味する。 その理由は、 下記の記述から明らかな ように、 本発明の図形データ生成方法の実施には際しては、 実施に際して集中化 の制約を受けず、 ある処理を任意の場所で実現できるからである。 もちろん、 本 発明を局所化して実現することもできる。 図 3は図 1において、 特に、 クライアント (加入者) システム 2において、 処 理される本発明の図形データ生成方法と図形データ生成装置、 特に、 コンテンツ 作成用ソフトウエアツール 3 (Co瞧 uni ty Place ( 商標 ) Conductor) の構成を 示す図である。 コンテンツ作成用ソフトウェアツール 3は、 グラフィカルユーザ 一イン夕一フェース部 (GU I) 3 1、 オブジェクトマネジャ 32、 J a v aコ ンパイラ 3 3、 シーングラフマネジャ 34、 J a V a VM 34 B, パーサー 34 C, HTMLブラウザ 35、 バックアップマネジャ 3 6を有する。
グラフィカルユーザーィンターファース部 3 1は、 各種ウインドウ表示を行う 外部プログラムとしての J a V aコンパイラ 33は J a vaプログラムをコン パイルする。 シーングラフマネジャ 34はブラウザと共通している部分であり、 シーングラフマネジャ 34 Aは VRMLノードの階層構造を扱う。 パーサー 34 Cは VRMLファイルを解析する。 J a V a VM34 Bは J a v aで記述された スクリプトを実行する。
外部プログラムとしての HTMLブラウザ 35はアンカ一ノードの表示、 また は HTML形式で記述された VRMLノ一ドのヘルプフアイルの表示をするため に使用する。
シーングラフマネジャ 34 A、 J a V a VM34 B, パーザ一 34 Cからなる 部分 34は、 たとえば、 ソニー株式会社が提供する C ommu n i t y P 1 a c e (商標) ブラウザと共通して利用することができる。
パ 、ソクアップマネジャ 36は、 表示装置の画面の 「P 1 a yボタン」 がマウス で押されて 「P 1 a モード」 になるとイネ一ブル状態になり、 各フィールド値 のバックアップの準備を開始する。 「S t o pボタン」 が押されたとき蓄積した 順にフィールド値を復元して、 元の画面を復活させる。 すなわち、 コンテンツ作 成用のソフトウェアツールである 「Co n d u c t o r」 ではヮ一ルドの編集か ら動作の確認まで行うことができるように設計されている。 ユーザが 「P 1 a y ボタン」 を押すことにより 「P 1 a yモード」 に入ると、 C o n d u c t o rは ブラウザのエミユレーシヨンを開始する。 この状態では、 ュ一ザからのインタラ クションに応じて、 例えばォブジヱク卜が動き出したりするといつたように各フ ィ一ルドの状態が変化する。 し力、し、 表示装置の画面の 「S t o pボタン」 をマ ウスで押して 「通常の編集モード」 に戻った時には、 全て 「P 1 a yボタンを押 す前の状態」 に戻っていなければならない。 この時に必要となるのが、 各フィー ルド値の くックァップとその復活処理である。
クアップ ジャ 3 6の動きは次のようになる。 クアップ ジャ 3 6は 「P 1 a yモ一ド」 に入るとィネーブル状態になり、 各フィールド値のバッ クアップの準備を開始する。 そして、 動的なオブジェク トの変化などによって初 めてフィールド値が変更された時に、 元のフィールド値を保存する。 フィールド 値の保存は順次スタック記憶していく方式 (S t a c k方式) ) であり、 「 S t o pボタン」 を押したときに順次記憶したものから復元していき (S t a c kを p o pしながら) 、 元のウィ ン ドウの表示状態を復元していく。
大規模なプログラムを作成する場合に複数のファィルに分割するように、 ヮ一 ルドがある程度大きくなつてきた場合、 複数のファイルに分割することが望まし い。 オブジェク トマネジャ 3 2はそのような場合にコンシンテンシ (一貫性) を 管理する部分である。
ルートエディタ (図解せず) は、 ルート文を用いてフィールド間のイベントを 定義していくときに使用する。 本発明においては G U I 3 1を用いてノードを指 定するので、 間違った名前を指定することがなくなる。 またユーザがルートのつ いてノードを変更してもォブジヱクトマネジャ 3 2が各スコープごとの D E Fを 管理しているまで間違し、がなく、 自動的にルート文が更新できる。
J a V aなどの言語を用いてよりインタラクティブなワールドにするため、 ス クリブトを用いる力% スクリブトの作成はコンテンッを作成する上で難しいもの として知られている。 特に、 J a v aの言語と、 V R M Lと結合部分が難しい。 本発明においては、 この課題を克服するために、 詳細を後述するスクリプトェキ スパート (図示せず) を設けた。
図 4はコンテンツ作成用ソフトウヱアツ一ル 3が行う処理を示すフローチヤ一 トである。 本発明では上述した従来の不備を改善するため、 手作業を配して G U I 3 1を用いて全ツール内を効率的かつ自動的に行えるように構成した。 その概 要を述べる。 上述したように、 図 3に図解したコンテンツ作成用ソフ トゥヱアツ ー儿 3はネッ 卜ワークシステム 1の任意の部分で任意のものを実施することがで きるが、 以下の記述においては、 記述を簡単にするため、 主として、 クライアン
2において実施される場合を述べる。 図 4の処理内容を述べる。 コンテンッ作成用ソフ トウエアツール 3の処理は大 別すると、 ( 1 ) 初期化、 (2) モデルの作成、 (3) インタラクションの作成
(こ7 る o
ステップ 2 0 1において、 たとえば、 ハードディスク装置 1 0 0からコンビュ —夕システム 2 0のハ一ドディスク装置 2 1 4にモデルデータのダウンロードを 行う。 すなわち、 VRML 2. 0で記述されたモデルをクライアントシステム 2 のコンピュータシステム 2 0にロードする。 ロードの方法としては、 ネッ トヮ一 クシステム 1の任意の部分からコンピュー夕システム 2 0にダウン口一ドするこ ステップ 2 02において、 モデル (オブジェク ト) の編集、 たとえば、 モデル の再配置、 属性の変更などの編集処理を行う。
ステップ 2 0 3〜2 0 7においてィン夕ラクションの作成を行う。 すなわち、 ステップ 2 0 3においてセンサの追加を行い、 ステップ 2 0 4においてスクリプ トノードの追加を行い、 ステップ 20 5において J a V aプログラムの編集を行 い、 ステップ 20 6において J a V aプログラムのコンパイルを行い、 ステップ 2 0 7においてルーティングの編集を行う。
ステップ 2 0 8において、 上記の処理結果の動作確認を表示装置の画面の Cond uctor ゥィンドウ (図 1 0) に示した 「P 1 a yボタン」 をマウスで押して実行 する。 図 1を参照して述べた確認動作は、 VRMLコンテンツの作成終了後にブ ラウザを起動して行われるが、 ステップ 20 8の動作はブラウザを起動すること なく、 任意のタイミングで可能となっている。 その詳細は、 図 5〜図 6を参照し て後述するが、 本願発明の方法によれば、 つまり、 コンテンツ作成用ソフトゥェ ァツール 3は、 ユーザが 「P l a yボタン」 を押下すると、 図 9等に示す 3 D P e r s p e c t i v e V i e wウィンドウ (編集ゥィンドウ) である編集画 面がそのまま V R M Lブラウザの表示画面に代わり、 作成しているコンテンツの 内容が表示される。
また、 センサの追加およびルーティングの編集等が、 本実施の形態のコンテン ッ作成用ソフトウエアツール 3においてはグラフィカルユーザ一ィン夕一フエ一 ス部 (GU I ) 3 1によるインタラクティブな操作で可能になっている。 またコンテンツ作成用ソフ トウェアツール 3には、 スクリプトエキスパート ( S c r i p t Exp e r t) と呼ばれ、 イン夕ラクティブな操作によりスクリ ブトのテンプレートを作成し、 ユーザの操作により動作確認の際に自動的にコン パイルする機能が付加されている。 従って、 本実施の形態のコンテンツ作成用ソ フ卜ウェアツール 3においては、 動作確認の際に自動的にコンパイルする機能が 付加されている。 その結果として、 本実施の形態のコンテンツ作成用ソフ トゥェ ァツール 3においては、 これらの作業をコマンドの文字列入力入力 (コマンドラ イン) により行う必要をなく している。 これらの機能により、 ユーザ VRML 2 . 0による 3次元仮想空間のコンテンツ作成時間を大幅に短縮することできる。 本発明においては、 ステップ 2 0 3におけるセンサの追加はドラッグ &ドロッ プにより簡単に行えるようにしている。
また本発明においては、 ステップ 20 7におけるルーティングの編集も GU I を用いて簡単に行えるようにしている。
さらに本発明においては、 ルードエディ夕を用いてルートを追加するときもィ ベン卜の型をチヱックする機能を有しており、 ユーザが誤ったルー卜を指定する ことが防止できる。
特に本発明においては、 図 1.を参照して述べた不備を改善するため、 ステップ 2 0 8として上述したように、 かつ、 図 5に図解したように、 ブラウザを起動す ることなく任意のタイミングで、 ( 1 ) S 2 1 1 :所定の第 1の操作としてユー ザによって表示装置の画面に設けられた 「P l-a yボタン」 が押されたら、 (2 ) S 2 1 2 :エミユレ一夕が起動してエミユレ一夕の動作によってその時の動作 が確認できるようにしている。 (3) S 2 1 3 :確認後、 ユーザによる所定の第 2の操作として表示装置の画面に設けられた 「S t o pボタン」 を押すと通常の 編集モードに復帰する。 これにより、 通常の VRMLコンテンツの作成と同時に ノ一ドを追加したり、 スクリプトノードに対するプログラムを変更したとき、 「 P 1 a yボタン」 を押すだけで、 ェブラウザエミュレータを活用して、 その場で 簡単に確認できる。 その結果、 もしコンパイラエラーが発生したとしたら、 容易 にそのエラーを検出でき、 即座にそのエラ一を修正し、 再コンパイルできること になる。
上記確認動作においてさらに好ましくは、 上述した、 くックアップマネジャ 3 6をブラウザエミユレ一夕と連動させて動作させることが望ましい。 すなわち、 ステップ 2 0 8の確認動作中、 図 6に図解したように、 ( 1 ) S 2 2 1 ザ による第 1の所定の操作として 「P 1 a yポタン」 が押されたとき、 (2) S 2 2 2 :上述と同様ブラウザブラウザエミュレータが動作するとともに、 バックァ ップマネジャ 3 6がイネ一ブルになりバックアップ可能な状態になる。 (3) S
2 2 3 : この状態で、 たとえば、 クリックされることにより移動を開始する動的 なオブジェク トがクリックされたとき、 (4) S 224 くックアップマネジャ
3 6はォブジェク 卜の動的な振る舞いを規定するフィールド値を順次保存する。
(5) S 2 2 5 :ユーザによる第 2の所定の操作として 「S t o pボタン」 が押 されると確認動作の完了となる力、 ( 6 ) S 2 2 6 :バックアップマネジャ 3 6 は保存しておいたフィールド値を順次復元し、 初期状態のフィールド値にリセッ トする。 これにより、 確認動作の前の元の状態のオブジェクトが復元できる。 こ れらの操作は 「P 1 a yボタン」 と 「S t 0 pボタン」 の操作のみでよく、 操作 性が向上する他、 処理時間も短縮できる。 クライアント (加入者) システム 2およびコンピュータシステム 20
図 7は図 2に示したコンピュータシステム 2 0の構成を示す図である。 図 7に おいて、 図 2に図解した外部記憶装置 2 8がフロッピーディスク (FD) 2 8 0 、 および /または、 光磁気 (MO: magneto-op'tical)ディスク 28 2として具体 的に図解されており、 入力装置 2 6がキーボ一ド (KB) 2 6 0および/または マウス (MOUSE) 2 6 2として具体化されている。
本発明の実施に際して、 表示装置 24は、 キーボード、 マウスなどの情報入力 手段と協動してインタラクティブな情報表示処理に適した任意の力ラ一表示装置 、 たとえば、 カラー CRT表示装置、 カラー液晶表示装置を用いることができる 。 以下、 本明細書において表示装置 24というとき、 キーボード、 マウスなどの 情報入力手段と協動するカラー CRT表示装置またはカラー液晶表示装置につい て例示した場合について述べる。 コンピュータシステム 2 0は、 例えば、 I SD^^ l 6に接続された通信機能 を有するマルチメディア対応のコンピュータであって、 CPU 2 0 2、 ROM2 0 4、 入力インターフェース ( I N IZF) 2 0 8、 表示装置 24用コント口 ーラ (DSP— C) 2 1 0、 ビデオ信号記録用 RAM (VRAM) 2 1 2、 ハ一 ドディスク装置 (HDD) 2 1 4、 フロッピーディスク ドライブ装置 (FDD) 2 1 6、 M〇ディスクドライブ装置 2 1 8および回線インターフェース 22 0力 バス 2 0 0を介して接続されている。
CPU 2 0 2は、 ROM 20 4および HDD 2 1 4に記憶されている種々の制 御プログラムを動作させて下記に述べる種々の動作を行う。 たとえば、 CPU 2 0 2は、 DS P— C 2 1 0を介して表示装置 24に種々の画像デ一夕を表示させ 、 入力インターフヱ一ス 2 0 8を介して KB 2 6 0からのデータ入力またはマウ ス 2 6 2からのデ一夕の入力を行う。 C PU 2 0 2はまたフロッピ一ディスク ド ライブ装置 2 1 6を介して外部記憶装置 28としてのフロッピーディスク 28 0 へのデータ記憶または FD 2 8 0からのデ一夕の読み出し、 または、 MOデイス クドライブ装置 2 1 8を介して外部記憶装置 2 8としての MOディスク 2 8 2へ のデータ記憶または MOディスク 2 8 2からのデータの読み出しを行う。 CPU 2 0 2はまた回線ィン夕一フヱース 22 0を介して I SDN 1 6と通信を行う。 コンピュータシステム 2 0は、 サーバ装置 1 0 2から I SDN 1 6を含むネッ トワークを介して送られてきた 3次元仮想空間の V R M Lコンテンッの画像を表 示装置 2 4に表示してユーザ (クライアント) に示す。
コンピュータシステム 2 0は、 サーバ装置 1·0 2からネッ トヮ一クあるいは外 部記憶装置 2 8を介して供給されるコンテンツ作成用フフ 卜ウェアツール 3をハ ―ドディスク装置 2 1 4にィンストールし、 KB 26 0またはマウス 2 6 2を用 いたクライアントの操作に応じてコンテンツ作成用ソフトウエアツー儿 3 (プロ グラム) を起動して、 3次元仮想空間の VRMLコンテンツを作成し、 ハードデ イスク装置 2 1 4に格納し、 または、 ネッ トワークあるいは外部記憶装置 2 8 ( フロッピーディスク 2 8 0および/または M〇ディスク 2 8 2 ) を介してサーバ 装置 1 02にァップロードする。
またコンピュータシステム 2 0は表示装置 2 4に表示したオブジェク トに対し て、 ユーザによって入力装置 2 6を用いたポインティ ング操作等に応じて、 例え ば、 ポインティングされたオブジェクトの表示色を変更したり、 3次元仮想空間 のォブジェク 卜の表示内容を変更する。
3次元仮想空間の表示: このように、 コンピュータシステム 2 0を有するクラ イアントシステ厶 2によれば、 3次元仮想空間におけるオブジェク トに対するュ 一ザの操作に応じてインタラクティブに表示装置 24における表示内容を変更す ることができるから、 クライアントシステム 2を用いるとあたかも実際に 3次元 仮想空間内においてユーザ自身がオブジェク トを移動させたり、 オブジェク トに 触れて操作し、 移動させたり音を出したりしているかのような現実的な感覚 (実 在感) を起こさせることができる。
またクライアントシステム 2からネッ トワークを介して 3次元仮想空間の V R MLコンテンツを取得したサーバ装置 1 0 2は、 VRMLコンテンツをハードデ イスク装置 1 0 0に記憶することでインタ一ネッ トシステム 1 2上でインターネ ッ トの加入者に公開することが可能である。 サーバ装置 1 0 2はクライアントシ ステ厶 2からネッ トワークを介してアクセスを受けると、 VRMLコンテンツを クライアントシステム 2にネッ トヮ一クを介して転送する。
クライアン 卜システム 2のコンピュータシステム 20は、 サーバ装置 1 0 2力、 ら送られてきた V R M Lコンテンッに基づく 3次元仮想空間をブラゥザにより表 示装置 24に表示する。
クライアン トシステム 2内で閉じた 3次元仮想空間の VRMLコンテンツを作 成し他のユーザと 3次元仮想空間の VRML ^テンッを共有しなし、場合には、 作成した VRMLコンテンツをブラウザを用いてそのまま表示装置 24に表示す れぱ足り、 必ずしも作成した VRMLコンテンツをサーバ装置 1 0 2にアップ口 一ドする必要はない。
インタラクション表示:ユーザは表示装置 2 4に表示されている画像の所望の 位置をマウス 2 6 2を用いてポインティングし、 3次元仮想空間内を移動させる 操作データ、 あるいは、 3次元仮想空間内のオブジェク トを指定する操作データ を入力する。 コンピュータシステム 20は操作データに応じて 3次元仮想空間の 内容を変更し、 VRMLブラウザを用いて表示装置 24に表示する。 好適実施の形態
本発明の好適な実施の形態を説明する。
上述したように、 従来は、 ォブジヱタ トの図形データ (V MR Lファイル) に 対するセンサの付加およびルーティング等のインタラクション作成作業はテキス トエディタ機能を用いて、 ュ—ザ (クライアント) が手作業で行うので、 単純な ミスが生じやすい。 また、 インタラクション作成作業の結果が正しいか否かは、 図 1におけるステップ 1 0 8に示した V R M Lブラウザを用いて確認するまで判 明しないので、 インタラクションプログラムに変更を加えるたびに V R M Lブラ ゥザを起動して確認を行う必要があり、 作業効率が低く、 時間がかかる。 本発明 の実施の形態は上述した不具合を解消する。 すなわち、 本発明の実施の形態は、 モデル作成の動作とインタラクション作成エディ夕の動作との連携を図ることに より、 これらの作業を統合的に行って、 3次元仮想空間のコンテンツの作成作業 を効率よく、 短時間に容易に行うことを可能とする。
図 8は図 3に図解したコンテンッ作成用ソフトゥヱァツール 3の実施の形態と して示すコンテンツ作成用ソフトウエアツール 4の構成を示す図である。 モデル 作成作業とインタラクション作成作業とを統合的に関連付けて行うため、 コンテ ンッ作成用ソフトウエアツール 4は、 グラフィカルユーザーィン夕一フェース部 ( G U I ) 4 0、 編集ツール 4 2、 シーングラフデ一夕ベース (S G D B ) 4 4 、 作業ツール 4 6、 スクリプト作成部 4 7および V R M Lブラウザ 3 0 8から構 成される。 - 編集ツール 4 2はモデル編集ツール 4 2 0、 ルーティ ング編集ツール 4 2 2、 シーングラフ編集ツール 4 2 4、 テキストエディ夕 4 2 6およびテンプレート作 成ツール 4 2 8から構成されている。
作業ツール 4 6はブラウザエミ ュレータ 4 6 0、 ファイル入出力部 4 6 2、 フ アイルスコープマネージメント部 4 6 4およびバックアップ ' レストァ部 4 6 6 から構成される。
スクリブト作成部 4 7は J a V aエミユレ一夕 4 7 0、 J a v aデバッガ 4 7 2および J a v aコンパィラ 4 7 4から構成されている。 コンテンツ作成用ソフトウェアッ一ル 4は、 たとえば、 ハードディスク装置 1 0 0に記憶されておりネッ トワークシステム 1を介して、 あるいは、 ネッ トヮー クあるいは外部記憶装置 2 8 (フロッピ一ディスク 2 8 0または M〇ディスク 2 8 2) に記憶されており外部記憶装置 2 8からコンピュータシステム 2 0に人力 され、 ハードディスク装置 2 1 4にインストールされて用いられる。 すなわち、 本実施の形態においては、 コンテンッ作成用ソフトウエアツール 4はコンビユ ー 夕システム 2 0において実現される例を述べる。 コンテンッ作成用ソフ トウェアツール 4の構成部分を説明する。
ダラフィカルユーザーインタ一フェース部 (GU I ) 4 0
ゲラフィカルユーザ一ィン夕一フェース部 (GU I ) 4 0は、 図 3のグラフィ カルユーザーインターフェース部 (GU I ) 3 1に対応しており、 3次元仮想空 間の VRMLコンテンツ作成に用いられる各種デ一夕の入力に用いられる画像を PC 2 0を介して表示装置 24にウィンドウ形式で表示する。
図 9は GU I 4 0が表示装置 2 4に表示する 1実施例としての GU I画面を示 す図である。 図 9に図解した GU I画面は、 Conductor ウィンドウ、 3D Perspec tive View ウィンドウ、 Parallel View ウィンドウ、 リソースライブラリ ' ウイ ン ドウ、 シーングラフゥィ ン ドウ、 World 【nfoゥィ ンドウ、 Appearanceゥィ ン ド ゥ、 ルートウィ ン ドウ、 Attribute ウィ ンドウ、 Script Expert ウィ ン ドウ (図 示せず) 、 Script Editor ウィ ンドウを有する。
( 1 ) Conductor ウィンドウは Conductor 全体の管理に用いる。
(2) 3D Perspective View ウィ ンドウは 3次元的に画像を表示する部分であ る。 以下適宜、 3D View ゥィンドウと略称する。
(3) Parallel View ウインドウは平行投影で画像を表示する部分である。
リソースライブラリ 'ウィンドゥはライブラリの管理をする部分である
( 5 ) シーングラフウィンドウはワールドの階層的なッリ一構造を表示する部 分である。
( 6 ) World ίηίοゥィンドウはワールドの属性を設定する部分である。 (7) Appearanceウインドウはォブジ iク 卜の色とテクスチャ一を設定する部 分である。
( 8) ルートウインドウはィベントのルーティング設定する部分である。
( 9) Attribute ウィンドウはノードの属性とノード名を設定する部分である
( 1 0) Script Expert ウィンドウはスクリブトのひな型を作成する部分であ る。
( 1 1 ) Script Editor ウィンドウは Javaファイルを編集するテキストエディ 夕の部分である。
図 1 0 Aは図 9に図解した Conductor ウィ ン ドウの拡大図であり、 図 1 0 B、 図 1 0 Cは図 1 0 Aの拡大図である。 Conductor ウインドウは Conductor 全体を 管理するウィンドウであり、 Conductor ウィンドウを用いるとワールドの新規作 成、 読み込み、 保存、 実行、 停止、 マウスモー ドの切り替え、 オブジェクトの追 加、 削除などの処理が行える。
(a) Fileメニューの 「New 」 を選択すると新規にワールドを作成できる。
(b) ワールドをファイルから読み込むには、 Openボタンを押すか、 Fileメニ ユーの 「0peii」 を選択する。
(c) ワールドをファイルに保存するには、 Saveボタンを押すか、 Fileメニュ 一の 「Save」 を選択する。
(d) ワールドの動きを確認するには、 「P 1 a yボタン」 を押す。
( e) Play中に Pause ボタンを押すと、 Playが一旦停止し、 再度 Pause ボタン を押すか 「P 1 a yボタン」 を押すと Playが再開される。
Conductor では図 1 0 Bに拡大して図解したマウスモードがある。
( f ) Navigate (視点移動) は 2D/3D View ウィンドウ内で視点を移動すると きに使用する。
(g) Move (移動) はオブジェクトを移動させるときに使用する。
(h) Rotate (回転) はオブジェクトを回転させるときに使用する。
( i ) Scale (スケール変更) はオブジェクトのスケールを変更するときに使 用する。 また Conductor では図 1 0 Cに拡大して図解したプリ ミティブバーが設けられ ており、 Box とか Coneなどのプリ ミティブなオブジェク トを追加するときにプリ ミティブバーで追加したいォブジヱク トを選択し、 3D View ウインドウをクリッ クする。 プリ ミティブバーには、 「S e n s o r」 も設けられている。
GU I 4 0は表示装置 2 4に表示されたウインドウ内の各種ボタンをユーザが 入力装置 2 6としてのマウス 2 6 2を用いて押下することにより入力された操作 人力デ一夕、 あるいは、 キーボード 2 6 0を用いて人力された操作データを受け 入れ、 必要な操作デ一夕を編集ツール 4 2の各ツールおよびシーングラフデータ ベース 4 4に提供する。 このように、 GU I 4 0はュ—ザに GU I環境を提供す る。
GU I 4 0は、 編集ツール 4 2およびシーングラフデータべ一ス 4 4から表示 出力データを受け、 受信したデ一夕を表示装置 24の所定のゥィンドウ内に表示 する。 編集ツール 4 2、 シーングラフデータベース 4 4、 作業ツール 4 6の各構 成部分は、 GU I 4 0に入力される操作デ一夕に応じて起動され、 GU I 4 0に より提供される操作デー夕に基づ 、て処理を行う。
VRMLブラウザ 3 0 8
VRMLブラウザ 3 0 8はコンピュータシステ厶 2 0において作成された VR MLコンテンツの最終的な内容確認、 および、 サーバ装置 1 0 2から取得した V R MLコンテンツの表示を行うほ力、、 GU I 4 0〜作業ツール 4 6の各構成部分 の動作と連動したヘルプファイルの表示を行う。 VRMLブラウザ 3 0 8は、 た とえば、 ソニー株式会社が提供する C 0 mm u n i t y P l a c e (商標) ブ ラウザを用いることができる。 以下、 C ommu n i t y P I a c eブラウザ を例示する。 編集ツール 4 2
編集ツール 4 2は全体としては、 3次元仮想空間内のォブジェク トの図形デ- 夕およびインタラクションプログラムの作成に必要な機能をユーザに提供する c 以下、 編集ツール 4 2のそれぞれの部分について述べる。 モデル編集ツール 4 2 0
下記にモデル編集ツール 4 2 0の処理機能を列挙する。
( 1 ) モデル編集ツール 4 2 0は、 表示装置 2 4に表示されたモデル編集用ゥ ィンドウに対するユーザの操作により入力されるモデル作成用のデータを用いて 、 オブジェク 卜の大きさ ,色 (形状) 、 位置および動作等の属性を示す図形デー 夕を作成する。
( 2 ) モデル編集ツール 4 2 0は、 作成した図形データ 〔ォブジヱク 卜の属性 〕 をシーングラフデータべ一ス 4 4に出力する。
( 3 ) モデル編集ツール 4 2 0は作成した図形データに基づくオブジェク 卜を G U I 4 0を介して表示装置 2 4上のモデル編集用ウインドウの所定の位置に 3 次元的に表示する。
( 4 ) モデル編集ツール 4 2 0は、 ハードディスク装置 2 1 4から読み出され た図形データを編集することも可能である。
( 5 ) モデル編集ツール 4 2 0はフロッピーディスクドライブ装置 2 1 6を介 してフロッピーディスク 2 8 0から読み出された図形データ、 または、 M Oディ スク ドライブ装置 2 1 8を介して M Oディスク 2 8 2から読み出された図形デー 夕を編集することも可能である。
( 6 ) モデ儿編集ツール 4 2 0はさらにネッ 卜ワークからコンピュー夕システ 厶 2 0にダウンロードされた図形デ一夕を編集することも可能である。
以上のように種々の機能を有するモデル編集.ツール 4 2 0は、 下記に述べる本 発明の特徴的な機能を遂行する。
a . ォブジェク 卜の表示機能
オブジェク 卜の視点を変えた観察のためのォブジヱク 卜の回転 (Conducto r ウィンドウの 「Rotate操作」 による) 、 移動 (Conductor ウィンドウの 「Move 操作」 による) 、 ナビゲート (Conductor ウィンドウの 「Navi gate操作」 による 、 スケール (Conductor ウインドウの 「Scale 操作」 による の処理 b . オブジェク トのスケーリング機能
Conduc tor ウィンドウの 「Scal e 」 を用いる。 C . センサノードの領域表示 ·設定機能
ブラウザエミュレー夕 460との協動
d. P a r a l l e l V i e w機能
f . ァテンショ ン機能 ルーティング編集ツール 422
ルーティ ング編集ッール 422はカレントスコープ (編集対象となっている V RMLファイル) 内で名前が付されたォブジェク卜の図形データおよびスクリブ ト等の各ノードを対応付けるルーティング編集を行う。 なおルーティングの際に はルーティ ング元とルーティング先のノードのフィールド値の型、 例えば、 SFBo ol (真偽を示すブール値) 等を合わせる必要がある。
なお、 ルーティング編集ツール 422を用いたルーティング編集処理の詳細に ついては、 入力データの型の設定として、 後述する。 シーングラフ編集ツール 42
VRMLにおいては各ノ一ドを階層的に配置することが可能である。 シ一ング ラフ編集ツール 424は、 ォブジヱク 卜の階層構造、 および、 目に見えないノ一 ド (スクリブトノード等) を編集する。 ノ一ドの階層構造としては、 例えば、 葉 を示す子ノ一ド (VRMLファイル) F 1、 技を示す子ノ一ド (VRMLフアイ ル) F 2、 幹を示す子ノード (VRMLファイル) F 3および根を示す子ノード
(VRMLファイル) F 4を、 木全体を示す親ノード (VRMLファイル) F 5 が階層的に構成される。 テキストエディ夕 426
テキストエディタ 426は J a V a言語等のスクリプトの作成に適したプログ ラミング言語のエディ夕機能を有し、 スクリプトのソースプログラムの作成を行 うとともに、 スクリプトノードに対する編集作業に連携して、 変数の追加、 削除 および変更を自動的に行う。 テンプレー ト作成ツール 4 2 8
テンプレート作成ツール 4 2 8は、 ユーザの便宜を図るために用いられるツー ルであって、 テキストエディタ 4 2 6と連携して動作し、 表示装置 2 4の 「Scri pt Expert ウィンドウ」 に対するユーザの操作に応じて、 スクリプトの原型とな るプログラム (テンプレート) を対話形式で作成してテキストエディ夕 4 2 6に 出力する。 ユーザはテンプレート作成ツール 4 2 8によって提供され既にある程 度でき上がっているソースプログラム (スクリプトのひな型) にテンプレート作 成ツール 4 2 8を用いて必要に応じて変更を加えることにより容易にスクリプト を作成することができる。 シーングラフデータベース (S GDB) 4 4
S GDB 4 4は編集ッ一ル 4 2の各ッールが作成したデ一夕をコンピュータシ ステム 2 0の RAM 2 0 6に記憶し、 記憶したデ一夕を管理して、 編集ツール 4 2および作業ツール 4 6の各構成部分の要求に応じて、 即座に、 記憶したデータ を提供する。 作業ツール 4 6
作業ツール 4 6は作成したコンテンッの確認、 スクリブトの動作確認、 および 、 入力装置 2 6に対するデータの記録および再生等の VRMLコンテンツ作成作 業に必要な機能をクライアントに提供する。 以下、 作業ツー儿 4 6のそれぞれの ツールについて述べる。 - ブラウザェミュレ一夕 4 6 0
ブラウザエミュレー夕 4 6 0は VRMLブラウザ 3 0 8の動作をエミユレ一卜 し、 λ RMLブラウザ 3 0 8を用いた場合と同じ VRMLコンテンツをユーザに 提示する。 したがって、 たとえば、 作成した VRMLコンテンツの動作をユーザ が確認する場合などに、 ブラウザエミユレ一夕 4 6 0が使用される。
ブラウザエミュレータ 4 6 0は、 表示装置 2 4の Conductor ウィンドウに表示 される 「P l a yボタン」 の押下に応じて起動され、 あるいはキーボード 2 6 0 に割り当てられた 「Play」 ボタンの押下に応じて起動され、 VRMLコンテンツ をエミュレートした結果がシーングラフデータベース 4 4に記憶され、 その結果 としての VRMLコンテンツを表示装置 2 4の画面の、 例えば図 9等に示す 3 D V i e wウィンドウ (編集ウインドウ) に表示し、 さらに、 ユーザの操作に応 じて表示内容を変更する。 ブラウザエミユレ一夕 4 6 0は、 Conductor ウィ ンド ゥに表示されている 「S t o pボタン」 の押下に応じて動作を停止し、 ブラウザ エミュレータ 4 6 0の動作停止時には GU I 4 0は元の編集用 VRMLコンテン ッを表示する。
なお、 ブラウザエミュレータ 4 6 0を用いた動作確認において、 動きのある動 的なオブジェク トに起因するフィールドの値の変化を順次蓄積保存しておき、 そ の後、 「S t o pボタン」 に応じてブラウザエミユレ一夕 4 6 0の終了に伴って 、 元のォブジヱク ト表示状態を復活させるこめ、 後述するバックアップマネジャ 4 6 6かブラウザエミユレ一夕 4 6 0と同時的に動作することが望ましい。 フアイ儿入出力部 4 6 2
ファイル入出力部 4 6 2はシーングラフデータベース 4 4に記憶された VRM Lコンテンツの図形デ一夕 [VRMLファイル (拡張子. wr 1 ) 〕 、 スクリブ ト (拡張子. j a v a) 、 テクスチャファイル (拡張子. bmp, . j p g, . g i ΐ ) およびサウンドファイル (拡張子. wa v, . mo d) をコンピュータ システム 2 0のハードディスク装置 2 1 4、 フロッピーディスク 2 8 0または M 〇ディスク 2 8 2に記録する。 またファイル入出力部 4 6 2は、 ハードディスク 装置 2 1 4等により読み出された上記 VRMLコンテンツの各種データをシーン グラフデータベース 4 4に出力する。 ファイルスコープマネージメン ト部 4 64
VRMLにおいては、 図形データのファイル (拡張子. wr 1 ) ごとに 1つの スコープ (ノードに付された名前およびルーティングが有効な範囲) が与えられ 、 ノード名およびルーティ ングの管理はスコープを単位として行われる。 フアイ ルスコープマネージメント部 4 6 4は、 シーングラフデ一夕ベース 4 4における ノ一ド名の管理、 ノ一ド名の自動作成、 および、 ノ一ドの検索を行うとともに、 ノ一ドが同一の図形データファィルを複数、 参照する場合に、 図形データフアイ ルに対する変更を、 参照するノード全てに伝播させる。 くック プマネジャ 4 6 6
くックアップマネジャ 4 6 6は図 3のバックアップマネジャ 3 6に対応する。
V R M Lコンテンツの内容確認のとき 「P l a yボタン」 によって起動されたブ ラウザェミュレ一タ 4 6 0がィンタラタティブ操作可能なシーンを表示するとュ —ザによる操作に応じてノードの状態が変化し、 各ノ一ドのフィールド値が変化 してしまい、 何らの手当てもしなければ、 元のシーンの表示ができなくなる。 こ のため、 クアップ ジャ 4 6 6はブラウザエミユレ一夕 4 6 0が表示装置 2 4の Conductor ウィンドウの 「 「P 1 a yボタン」 の押下に応じて起動された 際に 3 D V i e w ウィンドウ (編集ウィンドウ) に最初に表示したシーン ( V R M Lファイルから生成された 3次元仮想空間) の各ノードのフィールド値の 初期状態 (フィールド値として) をシーングラフデータベース 4 4から受けて記 憶 ^る。
ブラウザェミュレ一夕 4 6 0は、 ブラウザェミュレ一夕 4 6 0が表示装置 2 4 の Conductor ウィンドウの 「S t o pボタン」 の押下に応じて動作を停止した場 合に、 記憶した各ノ一ドのフィールド値をシーングラフデータべ一ス 4 4に出力 して、 元のオブジェクトの表示状態を復元する。
これにより G U I 4 0は、 シーングラフデー.夕ベース 4 4に入力された各ノ一 ドの初期状態におけるフィールド値に基づいて表示装置 2 4の 3 D V i e w ウィ ンドウ (編集ゥィンドウ) 内に元の 3次元仮想空間の画像を表示する。 スクリブト作成部 4 7
スクリプト作成部 4 7はユーザがテキストエディ夕 4 2 6を用いて作成したス クリプトのコンパイル、 動作確認およびデバッグ機能を有する。 以下、 スクリブ ト作成部 4 7のそれぞれの部分について述べる。 J a v aコンパイラ 4 7 4
J a v aコンパイラ 4 74は、 シーングラフデータベース (SGDB) 4 4に 記憶された J a v a言語によるスクリブトのソースプログラムをコンパイルして オブジェク トプログラムを作成し SGDB 4 4に出力する。 本実施の形態におい ては、 Conductor ウィンドウの 「 P 1 a yボタン」 を押したとき、 J a v aコン パイラ 4 7 4がスクリプトのソースプログラム、 例えば、 拡張子として 「- j a v a J を有するファイルを自動的にコンパイルし、 オブジェク トプログラム、 例 えば、 拡張子として 「. c l a s s」 を有するファイルを自動的に生成すること ができるようにした。
J a Y aエミュレータ 4 7 0および J a v aデバッガ 4 7 2
J a v aエミュレータ 4 7 0および J a v aデバッガ 4 7 2は、 J a v a言語 で記述されたプログラムのィンタプリタとして動作し、 ユーザがスクリプトプロ グラムの動作確認およびデバッグを行うために用いられる。 つまり、 J a v aェ ミュレ一夕 4 7 0は、 シーング'ラフデータべ一ス (SGDB) 4 4に記憶された スクリプトのォブジヱク トプログラムの動作をェミュレ一卜し、 J a V aデバッ ガ 4 7 2は J a v aエミユレ一夕 4 7 0のエミユレ一ト動作時の状態、 および、 発生したエラーを SGDB 4 4に出力する。 コンテンツ作成用ソフ トウェアツール 4の特徴的な機能
以下、 本実施の形態のコンテンツ作成用ツール 4の特徴的な処理内容 (機能) を説明する。 動作確認機能およびバックアップ管理機能 (ブラウザエミュレー夕 4 6 0、 ヅクアップマネジャ 4 6 6 )
図 4〜図 6を参照して述べたように、 ユーザが表示装置 24の画面内の Conduc tor ウィンドウに表示された 「P 1 a yボタン」 をマウス 2 6 2で押下すると ( 図 5、 S 3 0 1、 図 6, S 3 1 1 ) 、 ブラウザエミユレ一夕 4 6 0がその時点ま でに作成された VRMLコンテンツを解釈し、 表示装置 24に表示する。 好まし くは、 図 6に図解したように、 バックアップマネジャ 4 6 6も同時に動作しバッ クアツプ可能な状態にする。 ノくックアップマネジャ 4 6 6は動的ォブジヱク トな どがクリックされた場合 (図 6, S 2 2 3 ) 動的オブジェク トを表現する各ノー ドのフィールド値を順次保存していく ( S 2 2 4 ) 。 そして、 「 S t 0 pボタン 」 が押されたとき (図 6 , S 2 2 5 ) 、 通常の編集モ一ドに復帰し、 バックアツ プマネジャ 4 6 6はフィールド値を復元していく (図 6 , S 2 2 6 ) 。
すなわち、 動作確認開始時の V R M Lコンテンツの状態をバックアツプマネジ ャ 4 6 6が保存し、 ユーザが表示装置 2 4の画面内の Conductor ゥィンドウに表 示された 「S t 0 pボタン」 をマウス 2 6 2で押下し、 ブラウザエミ レ一タ 4 6 0が V R M Lコンテンッの実行を停止した際に、 V R M Lコンテンツを動作確認 開始時のフィールド値に戻し、 ゥィンドウのォブジヱク ト (モデル) の表示内容 を動作確認開始時に戻すことができる。
この動作確認およびバックアツプ管理処理により、 図 1を参照して述べた従来 のように、 作成した V R M Lコンテンツを一度、 ハードディスク ドライブ装置 2 1 4等へ保存してから V R M Lブラウザを起動して動作確認を行う手間が不要と なる。 し力、も、 ユーザは V R M Lコンテンツ作成作業中の任意のタイミングで、 それまでの作業により作成したコンテンッの動作を確認することができる。 フアイ几自動作成機能 ( J a V aコンパイラ 4 7 4 )
たとえば、 ユーザが V R M Lコンテンツの内容を確認するため、 Conductor ゥ ィンドウの 「P 1 a yボタン」 を押してブラウザエミユレ一夕 4 6 0を起動させ ると、 J a V aコンパイラ 4 7 4がスクリプトのソースプログラム、 例えば、 拡 張子として j a v a」 を有するファイルを自動的にコンパイルし、 オブジェ ク トプログラム、 例えば、 拡張子として 「. c 1 a s s」 を有するファイルを自 動的に生成することができる。 スクリブトプログラムの作成 ·デバッグ機能 (テキストエディタ 4 2 6 ) ユーザはテキストエディタ 4 2 6を用いて J a v a言語等のスクリプト作成 ( 適したプログラム言語でスクリブトのソースプログラムを作成し、 J a Y aコ
3 o パイラ 4 7 4を用いて作成したソースプログラムをコンパイルし、 オブジェクト プログラムを作成することができる。
このオブジェクトプログラムは、 VRMLブラウザ 3 0 8で VRMLコンテン ッを動作させる場合の他、 ブラウザェユミレ一夕 4 6 0により動作確認を行う場 合にも実行される。
さらにソースプログラムにデバッグコ一ドを追加し J a V aエミュレータ 4 7 0で実行すると、 J a v aデバッガ 4 7 2がスクリプトの入出力の値等を表示し 、 スクリブ卜のデバッグ作業が可能になる。 テンプレート自動作成機能 (テキストエディ夕 4 26)
ユーザがスクリブトノードの入出力の値を対話形式で設定すると、 テンプレー ト作成ツール 4 2 8は、 この設定に適合したスクリプトのソースプログラムのひ な型 (テンプレート) を作成する。 ユーザはテキストエディタ 4 2 6を用いてテ ンプレー卜に必要な変更を加えることにより、 所望のィベン卜を実現するスクリ プ卜のソースプログラムを作成することができる。 この機能によりユーザはスク リブトのソースプログラムを最初から全てエディ夕で作成する手間を省くことが でき、 しかも、 単純なコーディングミスの発生を防ぐことができる。 ォブジェク 卜の表示機能 (モデル編集ツール 4 2 0 )
モデル編集ツール 4 20は、 通常的な表示と視点を変えた表示を可能にする。 図 1 1はモデル編集ツール 4 2 0力、 表示装置 24の GU I画面の 3 D V i e wウィンドウに表示されるォブジェク 卜の 1例を示す図である。
モデル編集ツール 4 2 0は、 GU I画面 (図 9 ) 内の 3 D P e r s p e c t i v e V i ewウィンドウに、 作成した図形データが示すォブジヱク 卜の 3次 元透視投影図(3D perspective view) を表示する。 以下、 3D V i ewウィン ドウと呼ぶ。 この状態でユーザが 3 D V i ewウィンドウ内のォブジヱク トを クリ ックして選択し、 図 1 0 Aに示した GU I画面の Conductor ウィ ンドウに表 示されている 「R 0 t a t e (回転) 」 ボタン、 「Mo v e (移動) 」 、 「Na Λ· i g a t e (視点移動) 」 、 「S c a 1 e (スケール変更) 」 ボタンのいずれ かをマウス 2 6 2でクリックして選択して、 回転、 移動、 視点移動の動作モ一ド を変更し、 さらにュ一ザがマウス 2 6 2の左ボタンを押下しながら、 3 D V i e wウィンドウ内をドラッグし、 あるいは、 マウス 2 6 2の左ボタンでクリック すると、 モデル編集ツール 4 2 0は、 マウスモード (回転、 移動) および 3 D V i e wウイ ンドウに対するユーザの操作に応じて、 選択されたォブジヱク トを 回転または移動させた画像 (オブジェクト) を表示装置 2 4に表示する。 ユーザ が動作モードとして 「N a V i g a t e (視点移動) 」 を選択した場合には、 モ デル編集ツール 4 2 0はユーザがクリックした 3 D V i e wウィンドウ内の位 置を視点として、 この視点から選択されたォブジェク トを見た場合の画像を表示 する。 したがって、 モデル編集ツール 4 2 0の上記処理によれば、 ォブジヱク ト を種々の視点から観察することができる。 すなわち、 この機能を用いれば、 ユー ザはオブジェク トを種々の視点から観察することができる。
なお、 これらの視点を変えたオブジェク トの観察に際しては、 対象となるォブ ジェクトをウィ ンドウの中央に位置させること力 操作性の簡単から好ましい。 したがって、 本実施の形態においては、 モデル編集ツール 4 2 0は視点変化処理 に際しては、 自動的に、 対象となるオブジェク トをウィンドウの中央に移動させ るている。
さらにマウス 2 6 2の動作モードには、 図 1 2に示したように P〇 I (poi nt o f interes t ) モードがあり、 図 1 3に示したようにユーザがマウス 2 6 2でボイ ンティングして 3 D V i e wウィンドウ内のオブジェク ト (コーン :円錐) を 選択すると、 モデル編集ツール 4 2 0が選択ざれたォブジ Xク 卜に視点を合わせ て、 図 1 1および図 1 4に示したように 3 D V i e wウィン ドウの中心に表示 する。 オブジェク 卜のスケ一リ ング機能 (モデル編集ツール 4 2 0 )
図 1 0 Aに示した Conductor ウィンドウ内で、 マウス 2 6 2の動作モードを 「 スケール」 として、 例えば、 ユーザがマウス 2 6 2の所定のボタンを押下しなが らカーソルを移動させ、 あるいは、 キ一ボード 2 6 0からオブジェク トの大きさ の変更を指示する操作および変更後の大きさを示すデータを入力すると、 モデル 編集ツール 4 2 0はカーソルの移動に応じてォブジヱク 卜の寸法 (大きさ) を変 更して表示する。 ユーザがマウス 2 6 2のボタンを離すと、 モデル編集ツール 4 2 0はオブジェク トの大きさを確定し、 確定時の大きさのオブジェク トを表示装 置 2 4の 3次元仮想空間内に表示するように、 オブジェク 卜の図形データの内容 を変更する。
なおユーザはマウスモードの変更およびマウス 2 6 2の操作を組み合わせて、 例えば、 ルーティング編集ツール 4 2 2に、 オブジェク トを回転させ、 移動させ 、 さらに拡大 (または縮小) して視点、 見方を変えた画像を表示装置 2 4の 3 D
V i e wウィンドウ内に表示せることが可能である。 すなわち、 この処理も、 ォブジェク トを視点を変えて観察する場合に有効な処理となる。
またユーザが、 例えば、 マウス 2 6 2の上記所定のボタンを離す等の図形デ一 夕の変更を指示する動作を行うと、 モデル編集ツール 4 2 0は、 ォブジヱク 卜の 図形データの内容を表示装置 2 4に表示されているォブジェク トに合わせて変更 する。 センサノードの領域表示 '設定機能 (モデル編集ツール 4 2 0、 ブラウザエミ ユレ一夕 4 6 0 )
表示装置 2 4の画面のゥィンドウに仮想空間内のオブジェク トとして表示され ているものを、 ユーザがクリ ックしてボインティングした場合にィベントを発生 させるものとして、 図 1 0 A、 図 1 0 Cに図解のプリ ミティブバーの中にセンサ ( S e n s o r ) が設けられている。 センサがィベントを発生し、 センサにルー ティングされたスクリプトが実行され、 カーソルをセンサノードの領域 (バウン デイングボックス) 外に移動すると、 スクリプトの実行が停止される。
センサノードの領域表示 '設定機能は、 オブジェク トに付され、 マウス 2 6 2 等による操作に応じてイベントを発生する夕ツチセンサ、 あるいは、 マウス 2 6 2などの操作に応じて音を出力するサゥンドノード等 3次元仮想空間内における 有効領域の範囲の確認および変更を行う機能である。
図 1 5を参照してセンサノードの領域表示 ·設定処理について述べる。
S 3 0 1 : ュ一ザがマウス 2 6 2を用いて表示装置 2 4の 3 D V i e wウイ ンドウ上でオブジェクトをクリツクする。
S 3 0 2 :上記ユーザの動作に対応してモデル編集ツール 4 2 0が動作し、 モ デル編集ツール 4 2 0はクリツクされたオブジェク トを選択し、 選択したォブジ ェク トを囲むバウンディングボックスを点滅させる。
S 3 0 3 : さらにユーザがメニュー画面内の Conductor ウィ ンドウの Sensor夕 ブをクリックし、 例えば、 夕ツチセンサ (TouchSensor ) 等を指定する。
S 3 0 4 :そのユーザの動作に対応して、 モデル編集ツール 4 2 0はオブジェ ク 卜に夕ツチセンサ等を付加する。
この初期段階においては、 ォブジヱクトの選択を示すバウンディングボックス が示す範囲が夕ッチセンサ等の有効領域の範囲となる。
S 3 0 5 : さらにユーザがキーボード 2 6 0からセンサの有効領域の範囲変更 を指示するコマン ド、 および、 変更後の有効領域の範囲を示すデータを入力し、 あるいは、 マウス 2 6 2を用いて変更後の有効領域の範囲をポインティングする
S 3 0 6 :そのユーザの動作に対応して、 モデル編集ツール 4 2 0はセンサ等 の有効領域の範囲を変更して、 変更後のセンサ等の有効領域の範囲をバウンディ ングラインで表示する。 なお、 下記に例示する実施の形態としては、 ボックス状 にしている (すなわち、 パウンデイングボックス) 力、 本発明の実施に際しては 、 バウンディングラインの形状はボックス状に限定されない。
上述の表示機能およびスケーリング機能は、 パウンデイングライン (バウンデ イングボックス) に対しても可能であり、 ユーザは上記操作により、 バウンディ ングボックスの回転、 移動および拡大 ·縮小表示をモデル編集ツール 4 2 0に行 わせることができる。 モデル編集ツール 4 2 0は、 これらの操作により変更され たバウンディングボックスによって規定される範囲を、 変更後のセンサ等の有効 領域の範囲として設定する。
S 3 0 7 : さらにュ一ザが上記変更内容の確認のために、 Conductor ウィンド ゥに表示された 「P 1 a yボタン」 をマウス 2 6 2で押下する。
S 3 0 8 :そのュ一ザの動作に応答してブラウザエミユレ一夕 4 6 0が動作し 、 ブラウザェュミレー夕 4 6 0がコンテンツの解釈表示動作を実行する。 なお、 好ましくは、 上記 「確認動作」 の項で述べたように、 ノくックアツプマネジャ 4 6 6もブラウザェミュレ一夕 4 60と同時的に起動されて、 ブラウザェミュレ一夕 4 60による VRMLコンテンツの確認の間の動的ォブジヱク 卜に起因するフィ ールド値の保存と復活が可能になっているのが好ましい。
S 30 9、 S 3 1 0 :ブラウザエミユレ一夕 4 6 0が動作している状態におい て、 例えば、 ユーザがマウス 262のカーソルをバウンディングボックス内に移 動すると、 センサがイベントを発生し、 センサにルーティングされたスクリプト が実行され、 カーソルをパウンデイングボックス外に移動すると、 スクリプトの 実行が停止される。
S 3 1 1 :ブラウザェュミレー夕 4 60による VRMLコンテンッの実行は、 ユーザが、 Conductor ウィン ドウに表示された 「S t o pボタン」 を押下して、 コンテンッ作成用ソフトウェアツール 4の動作が編集モードに戻ることにより停 止する。
P a r a l l e l V i e w機能 (モデル編集ツール 4 20)
図 1 6は表示装置 24の 3D V i ewウィンドウに表示されるポップアップ メニューを示す図である。 図 1 7は P a r a l l e l V i ew機能を示す図で ある。
ブラウザェユミ レー夕 4 60が停止している状態で、 3D V i e wウィンド ゥ内で、 ユーザがマウス 26 2で所定のボタン (マウスの右ボタン) をクリック すると、 図 1 6に示すように、 モデル編集ツール 4 20は 3D V i ewウィン ドウにポップァップメニューを表示する。 ユーザがポップァップメニューのいず れかを選択すると、 モデル編集ツール 4 20は、 図 1 7に示すように、 オブジェ ク トの側面図 (S i d e V i ew) 、 上面図 (To p V i ew) あるいはヮ ィャフレームによる図 (Wi r e f r ame) を、 表示装置 24のメニュー画 面中の P a r a 1 1 e 1 V i e wウィンドウに 2次元表示する。 ァテンション機能 (モデル編集ツール 420 )
アテンション (A t t e n t i 0 n) 機能は、 3D V i ewウィンドウに表 示したォブジヱク卜の形状を確認するために用いられ、 ユーザが 3 D V i e w ゥィンドウ内でマウス 2 6 2により選択した 1つ以上のオブジェク 卜の内のいず れかを中心とし、 ユーザがコンテンッ作成用フフトウエアツール 4内に指定した 視点から見た場合のオブジェク トそれぞれを 3次元仮想空間内に配置し、 表示す る機能である。
モデル編集ツール 4 2 0は、 3 D V i e wウィンドウ内に作成した 1つ以上 のオブジェク トを 3次元仮想空間内に配置して表示する。
表示装置 2 4に表示されるメニュー画面としては、 図 1 8および図 1 9に例示 するものが表示される。 図 2 0〜図 2 2はアテンション機能を示す第 1〜第 3の 例として、 3 D V i e wウィンドウに表示されるオブジェク トの図である。 た だし、 図 1 8〜図 1 9に示したオブジェクトは円錐であるが、 図 2 0〜図 2 2に 示したオブジェクトは円維の他、 模様が付加されている。
ァテンション機能を図 2 3のフローチヤ一トを参照して述べる。
S 3 2 1 :ユーザは、 図 1 8に示すように、 Conductor ウィンドウにおいてマ ウス 2 6 2により 「N a V i g a t e」 ボタンをクリックして視点移動 (N a v i g a t e ) モー i、にする。
S 3 2 2 :ユーザは、 図 1 8に示した円錐形のオブジェクト、 または図 2 0に 示すように円維形のオブジェク 卜と模様が付された円筒形のォブジ ク ト、 が表 示されている 3 D V i e wウィ ンドウ内で、 図 1 8または図 2 0に示すように 、 マウス 2 6 2の左ボタンで円錐形のオブジェクトをクリックして選択する。 こ れにより、 モデル編集ツール 4 2 0は、 選択ざれ円錐形のォブジヱクトをバウン デイングボックスで囲み、 選択されたことを示す。
S 3 2 3、 S 3 2 4 :ユーザは図 1 8に示すように、 マウス 2 6 2の右ボタン をクリ ツクすることで表示されるポップアップメニューの 「A t t e n t i 0 n
〇N」 を選択する。 それにより、 モデル編集ツール 4 2 0は、 図 1 9または図 2 1に示すように、 視点位置表示パネルの背景を黄色に変え、 選択されたォブジ ェク トが 3 D V i e wウインドウの中心になるように視線方向を変えて表示す る。 ただし、 視点位置は変わらないのでオブジェクトまでの距離は同じである。 S 325 :ユーザはオブジェク 卜の周りでマウス 262の左ボタンを押しな力 らドラッグすると、 図 22に例示したように、 それに応じてォブジヱクトの視点 位置、 視線方向が変化するので、 様々な方向からオブジェク トを観察することが できる。 すなわち、 モデル編集ツール 420は、 ユーザの指定に応じて、 3D V i e wウィ ン ドウの表示内容を、 3次元仮想空間内で指定した位置を視点とし た場合に見える円錐形のオブジェクトおよび円筒形のォブジェク 卜の画像に変更 する。 このように、 アテンション機能を用いることにより、 ユーザはォブジェク トそのものが回転するのではなく、 3次元仮想空間の内、 実際に 3D V i ew ゥィ ンドウに表示されているシーン全体を回転させて見ることができ、 オブジェ ク 卜の全体像を容易に把握することができる。
S 326 :観察を終了するときは、 ユーザは、 図 1 9に示したように、 ポップ アップ/ニューで 「A t t e n t i 0 n 0 F F」 を選択する。 これにより、 乇 デル編集ツール 420によるアテンション機能が終了する。 ルーティング編集機能: 人力デ一夕の型の設定 (ルーティング編集ツール 4 2 2)
VRML 2. 0では、 以下に示すような ROUTE文によって各ノードのフィ ー儿ド間のィベン卜の授受を定義することができる。
ROUTE NODE 1. f i e l d l TO NODE 2. f i e 1 d 2 この例では、 NODE 1というノード名 (No d eName) がつけられたノ ードの f i e 1 d 1 というフィールド名 ( e e n t〇 u t ) がつけられたフィ ールドに対してィベントを伝達することが定義されている。 この ROUTE文で は、 イベントを出力する側のフィールド名 (e v e n t Ou t) に対して予め設 定されたデータ型 (D a t a Typ e) と、 イベントを入力する側のフィ一ル ド名 (e V e n t Ou t) に対して予め設定されたデータ型 (Da t a Ty p e) とが一致している必要がある。
ルーティ ング編集機能は、 ユーザがィベントを入力する側のノードのフィ一ル ド名を選択する際に、 既に選択したィベントを出力する側のノードのフィ一ルド 名に対して予め設定されているデータ型に一致するフィ一ルド名のみをプルダウ ンリスト (ドロップダウンリスト) として C omb 0 B 0 X内に表示し、 これに よりルーティング可能なフィールド名のみをユーザに提示することで、 ユーザが 間違った ROUTE文を記述してしまう不都合を回避し、 これにより、 ユーザに よるルーティングの記述作業の便宜が図られている。
図 24および図 25〜図 27を参照してルーティ ング編集機能をさらに説明す る。
図 24はルーティング編集機能の処理を示すフローチャートである。
図 25〜図 27はルーティング編集機能の例を示すルートウインドウの図であ 以下、 図 24を参照してルーティング編集処理、 換言すれば、 入力可能なの型 の設定処理について述べる。 下記の処理はルーティ ング編集ツール 422がユー ザとの対話形式で実行される。
S 33 1 :ユーザによってルートウインドウが開かれ、 上段のィベン卜出力側 のノード名 (N 0 d e N am e) またはそのフィールド名 ( e v e n t 0 u t ) のプルダウンリスト (ドロップダウンリスト) を表示するためのマウス操作がな されたか否かが、 ルーティング編集ツール 422において判別される。
S 332 : ル一ティング編集ツール 4 22は、 選択可能なィベン卜出力側のノ 一ド名 (N 0 d e N am e ) またはそのフィールド名 ( e v e n t 0 u t ) を抽 出し、 プルダウンリスト (C omb o B o xと.も称される) として一覧表示する o
S 333 :図 25に示すように表示されているプルダウンリストの中からユー ザによるマウスによるメニュ一選択操作によつて選択されたィベント出力側のノ —ド名 (No d eName) として、 例えば、 T S 1をルーティ ング編集ツール 4 22が表示し、 そのフィ一ルド名 ( e V e n t〇 u t ) として、 例えば i s A c t i v eがルーティング編集ツール 422によって表示されると共に、 選択さ れたフィールド名に予め設定されているデータ型 (Da t a Typ e) 、 例え ば SFB o o l (真偽を示すブール値で、 FALSE (0) か TRUE ( 1 ) の 何れかの値を取る) 等が、 ルーティング編集ツール 4 22によって、 フィ一ルド 名 (e V e n t〇u t ) の右隣の領域に参考として表示される。
S 3 34 : ュ一ザによって下段のイベン ト入力側のノード名 (No d eNam e ) のプルダウンリストを表示するためのマウス操作がなされたか否かが、 ルー ティ ング編集ツール 4 2 2によって、 判別される。
S 3 3 5 :図 2 6に示すように選択可能なイベント入力側のノード名 (No d eName) として、 例えば、 P L 1 と T S 1がプルダウンリストとして、 ルー ティング編集ツール 4 2 2によって、 一覧表示される。
S 3 3 6 :図 2 6に示されるプルダウンリス卜の中からユーザによるマウス 2 6 2のメニュー選択操作によって選択されたィベント入力側のノ一ド名 (No d eName) がルーティング編集ツール 4 22によって表示される。
S 3 3 7 :ユーザによって下段のィベント入力側のノ一ド名 (No d eNam e) のフィールド名 (e v e n t I n) のプルダウンリストを表示するためのマ ウス操作がなされたか否かが、 ル一ティング編集ツール 4 22において、 判別さ れる。
S 3 3 8 : ルーティング編集ツール 4 2 2によって、 図 2 7に示すように選択 可能なィベント入力側のフィールド名 ( e V e n t 0 u t ) のみがプルダウンリ ストとして一覧表示される。 この場合、 既にユーザが選択したイベン トを出力す る側のノードのフィールド名に対して予め設定されているデ一夕型に一致する ( この場合、 S FB o o lに一致する) フィールド名である 「on」 と名づけられ たフィールド名のみが、 ルーティング編集ツール 4 22によって、 プルダウンリ ストとして表示される。
S 3 3 9 :図 2 7に示されるプルダウンリス卜の中からマウスによるメニュー 選択操作によつて選択されたィべント入力側のノ一ドのフィ一ルド名 (e v e n t Ou t) がルーティング編集ツール 4 22によって表示されると共に、 以上の メニュー選択されたィベントを授受するノード名とフィ一ルド名に対応した R0 UTE文がルーティング編集ッ一ル 4 2 2において生成される。
このように、 ルーティング編集機能によれば、 ノードのフィールド間で授受す るィベン 卜のデータ型に適合するノードのフィールド名のみがユーザに対して表 示されるので、 ユーザは表示されたフィ一ルド名のいずれかを選択してルーティ ングの型の設定を行うことができる。 従って、 ル一ティングのデ一夕型の設定が 容易になり、 単純ミス等によるノード間のデータの型の不一致等の不具合が防止 される。
ルーティングの削除は、 削除したいルーティングを選択して Deleteボタンを押 す。 ルーティング編集ツール 4 2 2はこの操作に応じて、 該当するルーティング を削除する。 スクリプト編集機能 (テキストエディ夕 4 2 6 )
ユーザがスクリブトノードの入出力 (evenUn, eventOut の値を変更すると、 テキストエディ夕 4 2 6がスクリプトノードに対応するスクリプトのソースプロ グラムを変更後の入出力の値に適合するように自動的に変更する。 ファイルスコープ機能 (シーングラフ編集ツール 4 24 )
ユーザが表示装置 24のメニュー画面の Conductor ウィンドウ等で編集対象の VRMLファイルを選択すると、 シーングラフ編集ツール 4 2 4は選択した編集 対象の VRMLファイルが参照しているノードを、 シーングラフウインドウ内に 、 例えば、 階層的なツリー形式で表示する。 このように、 編集対象の VRMLフ アイ儿により参照されてし、るノードの集合を 「ファイルスコープ」 とも呼ぶ。 シーングラフ編集ツール 4 24は、 ルーティングぉよびスクリブ卜作成等の編 集の対象とされるノードを、 シーングラフウインドウ内に表示しているファイル スコープに限定する。 ファイルスコープの内容、 および、 編集対象となりうるノ ードは、 ユーザによる編集対象の VRMLファイルの変更に応じて、 変更後の V R M Lフアイルが参照しているノードに変更される。
なおスクリプト編集機能は、 同一 VRMLファイル内の各ノードを通じて (フ アイルスコープ内) で有効であり、 ユーザが同一 VRMLファイル内のスクリブ トノードの入出力 (evenUn, eventOut) の値を変更すると、 テキストエディ夕 4 2 6は同一 ' RMLファイル内の (同一ファイルスコープ内に表示されている) スクリプトノ一ドの間での記述の整合性を保っために、 スクリプトノ一ドに対応 するスクリブトのソースプログラムを、 変更後の入出力の値に適合するように自 動的に変更する ( I n 1 i n eマネ一ジメント機能) 。 また VRMLファイル内 では、 ノードの名前はユニークである必要があるので、 テキストエディ夕 4 2 6 は、 同一 VRMLファイル内で同一のノードをコピー/ペーストした場合に、 ノ 一ド名の重複を避けるために、 コピー/ペーストしたノードの名前が同一 λ RM Lファイル内でユニークになるように、 ノード名を自動的に変更する (P a s t e時の名前付け機能) 。
V R M Lコンテンッの基本的な作成方法
コンテンツ作成用ソフトウエアツール 4による VRMLコンテンツの作成方法 の例を述べる。
図 2 8はコンテンツ作成用フフトウエアツール 4により作成される円維形 (co ne) のオブジェクトを例示する図である。
コンテンツ作成用ソフトウエアツール 4を用いて簡単な 3次元仮想空間のコン テンッ (VRMLコンテンツ) の作成の第 1の具体例として、 図 2 8に示す円錐 形のオブジェク 卜にセンサを付し、 センサに対するボインティングに応じてコー ンを明るく したり暗く したりする (ライ ト (light)の ON/OFFをする) コン テンッ (第 1のコンテンツ) を作成する場合を述べる。
この VRMLコンテンツの作成は、 図 2 9に図解した工程をとる。 すなわち、
S 4 0 1 :図形データの作成 〔幾何学的なォブジヱク 卜のノード { Geometry ノ一ド(Cone)} の配置〕 を行い、
S 4 0 2 : センサの付加 〔 Sensor ノード(TouchSensor の配置〕 を行い、
S 4 0 3 : ライ トノード (light node) 〔VRMLが規定するノード { Commo n ノード(PointLight)} の配置〕 を付し、
S 4 0 4 : ルーティング対象のノードに名前を付け、
S 4 0 5 : ルートを設定し、
S 4 0 6 :動作確認を行う。 以下、 その工程の詳細を述べる。
S 4 0 1 :図形データの作成 〔 Geometry ノ一ド(Cone の配置〕 ユーザは 3次元仮想空間 (ワールド) 内にオブジェク トを配置し、 全体を構築 する。 コンテンッ作成用フフトウエアツール 4を用いてォブジヱク 卜として 3次 元仮想空間内に配置できるオブジェクトは、 例えば、 V R M L 2 . 0の基本ノー ド、 あるいは、 ライブラリウィンドウで提供されるものである。
コンテンツ作成用ソフトウエアツール 4は他のモデリングソフ卜で作成したォ ブジヱタ トの図形デ一夕を、 V R M L 2 . 0に適合したファイル形式に変換する ことにより、 読み込むことも可能である。
ュ一ザがコンテンツ作成用ソフトウェアツール 4を起動すると、 グラフィカル ユーザーインターフェース部 (G U I ) 4 0は、 図 9に示した G U I メニュー画 面を表示装置 2 4に表示する。 ユーザが Conductor ウインドウの 「Fi le/Nevv」 の 項目をマウス 2 6 2等を用いて選択すると、 コンテンツ作成用フフトウエアツー ル 4のモデル編集ツール 4 2 0は、 新規に空のワールドを作成する。
ユーザは作成した空のワールドに円錐形のオブジェク ト(Cone)を置く作業を行 う。 ユーザは、 Conductor ウィ ン ドウの Geometryタブから 「Cone」 を選択し、 図 形データ作成用のウィンドウ( 以下、 3 D V i e wウィンドウと記す) をクリ ックすると、 編集ツール 4 2のモデル編集ツール 4 2 0は、 オブジェクト (Cone) の図形データを作成し、 図 2 8に示した円錐形 (Cone) を 3 D V i e wウィン ドウに表示する。 この際に、 ユーザは、 上述したコンテンツ作成用ソフ トウェア ツール 4のァテンション機能を用いて、 3次元仮想空間内でオブジェク ト(Cone) の周囲を移動した場合に見える画像を 3 D V i e wウィ ンドウに表示させ、 ォ ブジェクト(Cone)の形状を確認することも可能である。
S 4 0 2 : センサの付加 〔Sensorノード (TouchSensor) の配置〕
3次元仮想空間内のォブジェク 卜に動きをつけたり、 ユーザの操作に反応する ようにするためにはセンサをォブジェクトに付加し、 オブジェク 卜に対するクラ イアン卜の操作について一定の条件を検出し、 その変化をィベントとして他のノ ―ドに伝える必要がある。
以下、 ォブジヱク トに対するマウス 2 6 2によるポインティング操作を検出す る夕ツチセンサ (TouchSensor ) の付加を例に説明する。
オブジェク トへのセンサの付加は、 オブジェク トを選択状態にしてから、 セン サ (TouchSensor を生成することにより行われる。
( 1 ) まず、 ユーザが 3 D V i e wウィンドウ上でオブジェクト(Cone)をク リックすると、 モデル編集ツール 4 2 0はクリックされたオブジェク トを選択し 、 選択したォブジヱク トを囲むバウンディングボックスを点滅させる。
( 2 ) さらにユーザが Conductor ウィンドウの Sensorタブをクリ ックし、 図 1 O Aに示すように、 Sensorタブの一番右側にある夕ツチセンサ (TouchSensor ) を選択し、 3 D V i e wウィンドウをクリ ックすると、 モデル編集ッール 4 2 0はォブジヱク トにタツチセンサを付加し、 そのデータをォブジヱク 卜の図形デ 一夕に付加する。 この段階において、 上述したように、 ユーザはキ一ボード 2 6 0あるいはマウス 2 6 2を用いて、 センサ(TouchSensor) の有効領域の範囲を変 更することも可能である。
図 3 0はメニュー画面内のシーングラフウインドウを示す図である。
シーングラフ編集ツール 4 2 4は、 オブジェクトへの夕ツチセンサの付加に応 じ、 ニュー画面内のシ一ングラフウインドウの表示内容を図 3 0に示すように 変更する。 ユーザは図 3 0に示すシーングラフウィンドウを参照することにより 、 ォブジヱク ト、 この例では Cone (円錐形) 、 に夕ツチセンサ(TouchSensor) が 付加されたことを確認することができる。
この例は、 Cone (円錐形) という単純なォブジェク トに対してセンサ(TouchSe nsor を付加する場合を例示しているが、 ユーザの同様な操作により円維形より 複雑なオブジェク 卜に対してセンサ(TouchSensor を付加することも可能である
S 4 0 3 : Co画 onノード(PointLight)の付加
V R M L 2 . 0においては、 センサ (Sensorノード) が検出したイベントを他 のノードに伝達し、 ィベン卜を受けたノードが状態を変更するという流れで動作 が記述される。
以下、 イベントを受けるノードとして、 ライト (光) を O N/O F Fするコモ ンノード (Poi ntLight)を付加する場合を例に説明する。
コモンノード(PointLight)ライ 卜は、 Conductor ウィンドウの Co画 onタブにあ る。 しかしながら、 図示した表示のままでオブジェク トと同じ位置にライ トを生 成すると見えなくなるので、 あらかじめ視点を移動する必要がある。
ユーザが、 3D V i ewウィンドウをアクティブにしておき、 例えば、 キー ボード 260の下矢印キー 「 」 を押下すると、 モデル編集ツール 420は、 少 し視点を引いた位置から見たオブジェク トを 3 D V i ewウィンドウに表示す る。 この状態で、 コモンノード (PointLight を選択すると、 モデル編集ツール 4 20は、 図 3 1に示すようにオブジェク 卜(Cone)を明るく表示する。
S 404 :ルーティング対象のノードに名前を付ける
次に、 ユーザはセンサ(TouchSensor) からコモンノード(PointLight)への対応 付けを行うといったように、 ノードの間でルーティングを行う。
ルーティングとは、 センサからスクリプトへといったように、 ノード間でィべ ントを伝達するために、 両者を結び付けることをいう。
このルーティングを行うためには、 まずセンサに名前 (DE F名) を付ける必 要がある。
図 32〜図 33は At t r i bu t eウィンドウによりセンサノードに名前を 付す作業を示す図である。
At t r i bu t eウィンドウは選択されているオブジェク 卜の属性を変更す るためのウィンドウであって、 名前 (DEF名) のノードへの付加は At t r i bu t eウイ ンドウに対する操作により行われる。 ここでは、 ユーザがシーング ラフウィ ン ドウからセンサ(TouchSensor) を選択し、 At t r i bu t eウィ ン ドウで DEF名 (TS 1, PL 1) を付ける場合を例に説明する。
図 32に示すように、 ユーザが、 At t r ibu t eウィンドウ内の 「DEF 名」 の位置を指定し、 キーボード 260から 「TS 1」 とタイプしてリタ一ンキ 一を押し、 さらに、 図 33に示すように、 シーングラフウィンドウからコモンノ —ド(PointLight)を選択し、 「PL 1」 とタイプしてリターンキーを押すと、 シ ーングラフ編集ツール 424は、 センサ(TouchSensor) およびコモンノード(Poi ntLighOにそれぞれ TS 1, PL 1という DEF名を付す。
ユーザが、 例えば、 At t r i bu t eウィ ンドウのコモンノ一ド (Pointし igh t)の onフィールドをダブルクリックすると、 テキストエディタ 426は、 ライ ト の初期状態を〇F Fし、 ォブジヱク 卜の図形データに付加する。 S 4 0 5 : ルー卜の設定
図 34はノード間のルーティングの設定に用いられるルートウインドウを例示 する図である。
ユーザはセンサ(TouchSensor:TSl) で発生したィベントをコモンノ一ド(Point Light:PLl に伝達するようにルーティングの設定を行う。 コンテンッ作成用ソフ トウエアツール 4は、 図 3 4に示すルート(Route) ウィンドウによりルーティン グ'の設定を行う。
図 34に例示するル一トウインドウにおいて、 上段の 「NodeName」 の位置が出 力側のノード名の設定に用いられ、 下段の 「NodeName」 の位置が入力側のノード 名の設定に用いられる。 イベントは、 センサ(TouchSensor) をクリックしたらラ イ トを ON/OFFするということなので、 ユーザが、 出力側の 「NodeName」 に は TS 1を設定し、 reventOutJ は 「isActive」 を選択すると、 右側に 「SFBooi 」 という型が表示される。 なお、 右側の 「SFBool」 という表示は、 「isActive」 で渡されるィベントの型が SFBoolであることを示す。
ユーザは入力側の設定として、 「NodeName」 には PL 1を設定し、 「eventin 」 には 「on」 を設定する。
以上のユーザによる設定に応じて、 ルーティング編集ツール 4 22は、 表示装 置 2 4におけるルートウインドウの表示を、 図 3 に示したように変更する。 以上の設定が終了し、 ユーザが A d dボタンを押下すると、 ルーティ ング編集 ツール 4 2 2は、 センサ(TouchSensor) とコモンノード(PointLight)とを対応付 けてルーティングを行い、 ノ一ド間のルートを追加する。
S 4 0 6 :動作確認
ユーザが表示装置 24に表示された 「P l a yボタン」 を押下すと、 コンテン ッ作成用ソフトウエアツール 4のグラフィカルユーザ一インターフェース部 (G U I ) 4 0に入力され、 コンテンツ作成用ソフトウエアツール 4のブラウザエミ ユレ一夕 4 6 0によって VRMLブラウザ 3 0 8の動作をエミユレ一卜する。 し たがつて、 V R M Lブラウザ 3 0 8を起動せずに VRMLコンテンッ作成作業中 の任意のタイミングで VRMLコンテンツを確認することができる。
さらにユーザが表示装置 2 4に表示された 「P 1 a yボタン」 を押すと通常の コンテンツ作成作業に戻る。
以下、 コンテンツの確認作業を詳述する。
Conductor ウィンドウの左下にある 「P 1 a yボタン」 (右向きの三角形が付 されたボタン) をマウス 2 6 2で押下すると、 コンテンツ作成用フフトウエアッ ール 4は、 VRMLコンテンツの作成動作 (作成モード) から、 ブラウザエミュ レー夕 4 6 0により VRMLブラウザ 3 0 8の動作をエミユレ一トして、 作成し たコンテンツの確認を行う動作 (シュミレ一ションモード) に移行する。
シユミレ一シヨンモードに移行すると、 くックアップマネジャ 4 6 6は、 この 時点の VRMLコンテンッの各ノ一ドの状態、 および、 ユーザの視点を保存し、 ブラウザエミュレータ 4 6 0が VRMLコンテンツを実行し、 表示装置 24に表 示する。 ブラウザエミユレ一夕 4 6 0が VRMLコンテンツの実行 ·表示を行つ ている間に、 ザがマウス 2 6 2で 3 D V i e wウィンドウに表示されたォ ブジェクト(Cone)を押下すると、 押下している間はォブジェク トを明るく表示し
(ライ ト ON) 、 押下しない間はォブジヱク トを喑く表示する (ライ ト〇FF) ο
二のように、 シユミレ一シヨンモードにおいては、 ユーザがオブジェク ト(Con e)をマウス 2 6 2でクリックすると、 ォブジヱク トに付されたセンサ (TouchSens or) がクリ ックを検出しイベントが発生する。 発生したイベントは、 ルーティン グの設定によりコモンノ一ド(PointUght)に伝えられ、 コモンノード(PointLigh 0が状態を変させ、 ォブジェクトを点灯させ、 クリックの終了時にも、 同様な流 れでィベン卜が発生しコモンノード(PointLight)がォブジェク トを消灯する。 さらに、 ユーザが Conductor ウィンドウの 「S t o pボタン」 (正方形が付さ れたボタン) をマウス 2 6 2で押下すると、 コンテンツ作成用ソフトウエアツー ル 4は通常のコンテンツ作成モードに戻る。
VRMLコンテンツ作成モードに戻ると、 くックアップマネジャ 4 6 6は、 V RMLコンテンツの状態をシュミレ一ションモ一ドに入った時点で保存した初期 状態に戻し、 さらに、 ユーザの視点をシュミレ一ションモードに入った時点の位 置に戻し、 モデル編集ツール 4 2 0は、 初期状態の図形データを 3 D V i ew ゥィ ンドウに表示する。 作成した VRMLコンテンツの保存
ファイルを保存する場合、 ユーザが、 メニュー画面の File/Save Asメニューで ファイル名を指定すると、 ファイル入出力部 4 62がシーングラフデータベース 4 4に記憶された VRMLコンテンツのファイルをハ一ドディスク装置 2 1 4、 または、 フロッピーディスク装置 2 1 6および M〇ディスク ドライブ装置 2 1 8 を介して外部記憶装置 28に記録する。 ユーザは記録した VRMLコンテンツの ファイルを VRMLブラウザ 308で開いて見ることも可能である。
以上説明したように、 円錐形のオブジェクトをマウス 262によるクリックに 応じて明るく表示したり、 暗く表示したりする簡単なコンテンツを作成し、 確認 する場合には、 グラフィカルユーザ一インタ一フエ一ス部 4 0によるイン夕ラク ティブな操作により、 複雑な文字列コマンド入力によるプログラミングなしに、 オブジェク 卜の図形データ、 センサ付加およびルーティングの追加が可能である ことが理解されよう。 複雑なコンテンツの作成
コンテンッ作成用ソフ トウェアツール 4を用いて 3次元仮想空間のコンテンツ (VRMLコンテンツ) の作成の第 2の具体例として、 オブジェク トの上にマウ スカーソルが来たらォブジエタトの色を変えるという V R M Lコンテンツ (第 2 のコンテンツ) を作成する場合を例を述べる。
上記 VRMLコンテンツは、 オブジェク トに付されたセンサ(TouchSensor) 力 発生したイベントを、 他のノード 〔コモンノー.ド(PointLight)〕 に伝達するよう に構成されていたが、 VRML 2. 0においては、 センサと他のノードの間に、 スクリブトを介在させて、 さらに複雑な動きを実現することができる。
例えば、 上述の第 2のコンテンツを VRML 2. 0により実現するためには、 ォブジェクト(Cone)の色を Ma t e r i a 1属性で指定する。 この Ma t e r i a 1属性には複数のフィールドがあり、 Ma t e r i a l属性として diifuseCol orを設定することにより、 オブジェクトの色を変えることができる。 このような 場合、 ィベン卜の発生に応じて、 Ma t e r i a 1属性 「dけ f useColor」 を設定 する必要がある。 このような場合、 スクリプトを介在させることにより、 diffus eColorを設定することができる。
第 2のコンテンツを作成する作業は、 図 3 5に図解した手順による。 すなわち
S 4 1 1 :図形データの作成 〔 Geometry ノード(Cone)の配置〕 、
S 4 1 2 : センサの付加 〔 Sensor ノード(TouchSensor の配置〕 、
S 4 1 3 : ルーティング対象のノードへの名前の付与、
S 4 1 4 :スクリプトの作成、
S 4 25 :スクリブトに対応するプログラム (デバッグコードのみ) の記述、 S 4 1 6 : スクリブトへのルートの設定、
S 4 1 7 :動作確認、
S 4 1 8 : スクリブトに対応するプログラムの記述 (色の設定する)
S 4 1 9 : Ma t e r i a l ノードへのル一卜の設定、
S 4 2 0 :動作確認
という流れになる。
なお、 第 2のコンテンツ作成作業の内、 ステップ 4 1 1、 1 2の動作は、 図 2 9を参照して述べたステップ 2 0 K 2 0 2の動作と同じであるから説明を省 略する。
以下、 第 2のコンテンツの作成の各作業を説明する。
S 4 1 3 : ルーティ ング対象のノ一ドへの名前の付与
VRML 2. 0 においては、 ルーティングを行うためにはまず名前をつける 必要がある。 第 1のコンテンツの作成においては、 上述のように、 センサ(Touch Sensor) およびコモンノード(PointLight)に名前 (TS 1, PL 1 ) を付与した 。 第 2のコンテンツの作成においては、 さらに、 Ma t e r i a l属性に名前を 付与する必要がある。
図 3 6はメニュー画面内の A p p e a r a n c eウィンドウを示す図である。 VRML 2. 0 においては、 Ma t e r i a l属性は、 オブジェクトへ付す 色およびビッ 卜マツプデ一夕等の属性を設定する A p p e a r a n e eノードに 含まれる。 コンテンツ作成用ソフトウェアツール 4においては、 メニュー画面の Ap p e a r a n c eウィ ンドウ力 \ 3 D V i e wウィ ン ドウ内で選択されて いるオブジェク 卜としての図形データの A p p e a r a n c eC Ma t e r i a 1. T e x t u r e等を含む) の編集に用いられる。
ユーザはォブジヱクトの Ma t e r i a 1属性に名前を付与する場合、 まずォ ブジ Xク 卜をマウス 262でクリックして選択し、 さらに、 図 36に示す Ap p e a r a n e eウィンドウの Ma t e r i a 1タブを選択して、 例えば、 「C0NE 1 —MAT 」 という名前を付与する。
S 4 1 4 :スクリプトノードの作成
VRML 2. 0では、 スクリプトノードと呼ばれるスクリプトプログラムとィ ン夕ーフヱースするためのノードがある。 このスクリプトノードは、 VRMLフ アイルに含まれ、 例えば、 J a V a言語で記述されるスクリプトを用いて、 複雑 な動作の記述を可能にする。 しかしながら、 スクリプトノードはイン夕一フエ一 スの機能があるので、 ィンターフェースを行う相手のスクリブトと密接な関係を 有し、 また、 複数の入出力の定義が可能なので、 ユーザにとって理解しにくいも のになつている。
このため、 コンテンツ作成用フフトウエアツール 4にはスクリブトの記述を簡 単にする S c r i p t Exp e r tと呼ばれる機能が設けられている。
S c r i p t Exp e r t機能によれば、 スクリブ卜の入出力を定義するこ とにより、 スクリプトプログラムのテンプレートを自動的に生成することができ 、 さらに、 A t t r i b u t eウィンドウを用いて、 人出カフィー儿ドの編集を 行うこともできる。
図 37および図 38はスクリプトを作成するためのダイアログを例示する図で ある。 図 3 8はポップアップした時のダイァログを示す。
ユーザが、 コンテンッ作成用フフトウエアツール 4のメニュー画面において、 マウス 262で 「Script/Expert 」 を選択すると、 テンプレート作成ツール 4 2 8は、 図 37、 図 3 8に示すスクリプトを作成するためのダイアログを開く。 このダイアログにおいて、 一番上の位置 「DEFj は、 スクリプトの VRML ファイルへのルーティングに用いられるスクリプトノードに名前を付すために用 いられ、 ユーザは、 例えば、 スクリプトノードの名前としてこの位置に 「SC 1 J を入力する。 ダイァ口グの 「D E F」 の下の位置 「C l a s s Name」 は、 J a v a言語 のスクリプトにクラス名を付すために用いられ、 ユーザは、 例えば、 スクリプト に仮の名前 SC 1を付す。
さらにユーザは、 ダイアログのさらに下の位置に、 スクリプトノードの入出力 を定義する。 第 2のコンテンツの作成においては、 スクリプトにセンサ(TouchSe nsor により発生されるイベントが入力されるので、 ユーザは、 「eventin 」 側 の 「DataType」 を、 センサ(TouchSensor) からイベントを渡す際の型に適合した rSFBoolJ とし、 rfield namej を 「inBool」 とする。
センサの出力は、 Ma t e r i a lの色をコントロールするスクリブトに渡さ れるので、 ユーザは、 reventOutJ 側の 「DataType」 を 「SFColor 」 とし、 「fi eld name J を 「outColor」 とする。
ユーザが、 スクリプトノードの作成に必要な上述の設定を終了した時点でのダ ィァログの表示内容は、 図 3 7に示した通りである。
さらにユーザが、 図 3 7に示したダイアログの下部の 0Kボタンをマウス 2 6 2で押下すると、 テンプレート作成ツール 4 2 8はクリブトノードを作成し、 ス クリブトノードに対応するスクリプトのテンプレート (ひな型) を作成する。
S_4 1 5 : デバッグコ一ドの記述
コンテンツ作成用ソフトウェアツール 4は、 さらに、 J a v a言語によるスク リブ卜の記述の支援および実行を行う機能を有している。 つまり、 テンプレート 作成ツール 4 2 8は、 スクリプトノードに対応するプログラムのテンプレート ( ひな型) を生成してテキストエディタ 4 2 6に ·対して出力して、 ユーザのスクリ プ卜記述を支援する。 ユーザは、 コンテンツ作成用ソフトウェアツール 4を用い た場合、 テンプレート作成ッール' 4 2 8が作成したテンプレートをテキストェデ イタ 4 2 6を用いて編集し、 変更を加えるのみで、 スクリプトを作成すること力、 できるので、 スクリブ卜のソースプログラムの作成に要する手間が非常に少なく て済む。
さらに、 ユーザは、 J a V aコンパイラ 4 74を用いて、 テンプレート作成ッ —ル 4 2 8およびテキストエディ夕 4 2 6により作成したスクリプトプログラム をコンパイルすることが可能である。 その結果、 スクリプトのソースプログラム を作成するたびに、 コンテンツ作成用ソフ トウェアツール 4を停止し、 J a v a 言語用のコンパイラを起動してコンパイルを行うという手間が不要になる。 これまでの作業により、 新しく定義したスクリプトのテンプレートが作成され 、 スクリプトの編集が可能になる。 し力、しな力 ら、 テンプレート作成ツール 4 2 8が作成したテンプレートは、 この時点では、 入出力の基本的な部分が定義する のみであり、 実際にイベントを実現するプログラムを含まない。 さらに、 ユーザ は、 スクリプト記述支援 ·実行機能により、 テキストエディタ 4 2 6を用いてテ ンプレートを編集し、 直ちにォブジェク トの色を変更するスクリプトを作成する ことも可能であるが、 その前に、 作成されたテンプレートが実際に動作するか否 かを千' ッグコ一ドで確認することが望ましい。
図 3 9はテキストエディ夕 4 2 6が表示するエディ夕の画面を示す図である。 ユーザの操作に応じてテキストエディ夕 4 2 6は、 テンプレート作成ツール 4 2 8が作成したテンプレートを、 図 3 9に示す表示装置 2 4のテキス卜編集用の ウィ ンドウに表示する。
図 3 9に示すように、 ここまでの作業において定義した出力側のフィールド名 が private 変数(pri vate SFColor m— outCol orの部分) として定義されており、 また、 ini t ial i zeOメソッ ド内において、 この変数を初期化するコードが埋め込 まれている。 — inBoolCBOというメッツ ドは、 入力のイベントがあった場合に呼 び出され、 センサ(TouchSensor) からの入力によって動作するプログラムはこの メッツ ド 〔― inBoolCB〇〕 内に記述される。
例えば、 センサからの入力の値を見るコ一ドをテンプレートに付加する場合に は、 以下のデバッグコードを— inBoolCBOメソッ ド内に追加する。 表 1
System, out. print ing— inBoolCBぐ) cal led: " + ev. getValueO : このデバッグコードを追加し、 クライアントが右ボタンをクリ ックし、 ポップ アップメニュ一から 「C.ompi le 」 を選択すると、 J a v aコンパイラ 4 7 4が起 動され、 デバッグコードが追加されたテンプレート (スクリプトのソースプログ ラム) をコンパイルし、 コンパイル中のメッセージがエディ夕の下部分に表示さ れる。
なお、 動作確認のためにユーザが表示装置 24の 「P 1 a yボタン」 を押下す ると、 J a V aコンパイラ 4 74は、 作成されたスクリプ卜のソースプログラム を自動的にコンパイルし、 オブジェク トプログラムを作成し、 ブラウザエミユレ 一夕 4 60は自動的に作成されたォブジェク トプログラムを実行する。 但し、 こ の場合、 コンパイル中にエラーが発生すると、 ブラウザエミュレータ 4 6 0は V RMLコンテンツの実行を行わない。
コンパイルが正常に終了すると、 J a vaコンパイラ 474は、 エディ夕の画 面に、 「Finished」 という文字を表示し、 コンパイルが異常終了すると、 コンパ ィルエラ一を表示する。 コンパイルエラーが表示された場合には、 ユーザは、 再 度、 テキストエディタ 426を用いてタイプミス等があるか否かを確認して、 プ ログラム (テンプレー ト) を修正した後、 再度、 コンパイルを実行することによ り、 エラ一を取り除くことができる。
J a v aデノくッガ 4 72によるデノ ッグ処理の際には、 デノくッグコ一ドが示す データがル一トウインドウに表示されるので、 この場合には、 ユーザはスクリブ 卜の実行時にセンサから入力されるデータの値を知ることができる。
図 4 0はスクリプトノードの eventln, eventOutの編集に用いられる S c r i p t A t t r i b u t eウィンドウを例示する図である。 スクリプトノードの ev en tin. eventOutの編集のためには、 図 4 0に示す S c r i p t A t t r i b u t eウィ ンドウが用いられる。 - ユーザが、 スクリプトノードを選択した状態で、 メニュー画面の A t t r i b u t eウィンドウの eventln, eventOutを押下すると、 図 40に示す S c r i p t
A t t r i b u t eウィンドウが開く。
S c r i p t A t t r i bu t eウィンドウの入力フィールドで 「型」 と 「 名前」 を設定し、 マウス 262で Ad dボタンを押下すると、 テキストエディタ 4 26は、 スクリプトにフィールドを追加し、 さらに、 シーングラフデータべ一 ス 44中のスクリブトノードを更新する。
ユーザが、 S c r i p t A t t r i bu t eウィ ンドウでスクリプ卜の入出 力属性を一覧表示し、 フィールドを指定してマウス 2 6 2で D e 1 e t eボタン を押下すると、 テキス卜エディ夕 4 2 6はスクリブトカヽらフィ一ルドの記述を消 去する。
また、 スクリプトのフィールドの 「型」 および 「名前」 を変更する場合には、 一度、 スクリブトのフィールドを消去してから新しく追加する。
上述した操作によりスクリプトノードが変更されると、 テキストエディタ 4 2 6は、 変更後の状態に適合するようにスクリプトのソースプログラムを自動的に 変更する。
ソースプログラ厶の自動的な変更の具体例を挙げる。
例えば、 図 4 0に示した S c r i p t A t t r i b u t eウィンドウにおい て、 ユーザが eventOut側を表示し、 TypeName側を SFBoolと指定し、 EventName 側 を outC.olorと指定して、 D e 1 e t eボタンを押下すると、 テキストエディ夕 4 2 6は、 図 3 9に示したスクリプトの第 1 0行目 (private SFColor m _outCol or:)を自動的に消去し、 変更を反映させる。
S 4 1 6 :スクリプトノードへのルートの設定
図 4 1はルートウインドウの内容を例示する図である。
上述のように、 スクリプトを動作させるためにはルーティングが必要である。 第 2のスクリプトにおいては、 図 4 1に示すル一トウインドウにおいて、 センサ (TouchSensor) で発生したィベントをスクリプトノードにルーティングし、 オフ" ジ ク 卜(Cone)の色を変更する。
図 4 2はブラウザェミュレ一夕 4 6 0が表示する J a V a C o n s o l eゥ ィンドウの内容を示す図である。
マウス 2 6 2の力一ソルがォブジヱク ト(Cone)を通過したときに、 センサ(Tou chSensor が発生するイベントを isOverとし、 イベントを受けるスクリプトノー ドのフィールドを、 S c r i p t E X p e r t機能を用いて指定した inBoolと してルーティ ングを行うと、 J a V aデバッガ 4 7 2は、 J a v a C o n s o 1 eウィ ンドウに、 例えば、 図 4 3に示す内容のメッセージを表示する。
S 4 1 7 :動作確認
ステップ 4 1 5 (S 4 1 5) のデバッグコードの記述作業において、 デバッグ 用のコードがスクリブトに追加されているので、 図 4 3に示すメッセージが J a v a C o n s o l eウィンドウに表示された場合、 ユーザは、 スクリブトがェ ラーなく動作しているか否かを確認することができる。 さらに第 2のコンテンツ の動作を確認するためには、 ユーザは、 第 1のコンテンツの動作確認の際と同様 に、 表示装置 2 4の 「P 1 a yボタン」 を押下すればよい。
さらにスクリプトの出力の値を表示させる必要がある場合に、 ユーザが、 メニ ユー画面の 「View/Java Console 」 メニューを選択すると、 ブラウザエミユレ一 夕 4 6 0は、 図 4 3に示す J a V a C o n s o l eウィンドウを表示する。 ユーザが表示装置 24のメニューの 「P l a yボタン」 を押下すると、 ブラウ ザエミュレータ 4 6 0は VRMLブラウザ 3 0 8の動作をェミュレ一卜し、 VR M Lコンテンツが示す 3次元仮想空間のオブジェク ト (画像) を 3 D V i e w ウィン ドウに表示する。 さらにユーザが、 マウス 2 6 2で 3 D V i e wウィン ドウ内のカーソルをォブジェク 卜に移動させると、 J a v aデバッガ 4 72は、 図 4 1に示すように、 J a v a C o n s o l eウィンドウに 「 true」 というメ ッセージを表示し、 ユーザがォブジヱタ トから力一ソルと離すと、 「false 」 と いうメッセージを表示する。
図 4 3に示した J a V a C o n s o 1 eウィンドウの表示内容は、 オブジェ ク 卜にマウス 2 6 2のカーソルが来ると、 オブジェク 卜に付されたセンサ(Touch Sensor) がこの状態を検出してイベントを発生させ、 スクリプトノードに伝達さ れ、 スクリプトノードがイベントを受けたことを示しており、 J a v a C o n s o l eウィン ドウへ表示は、 メッツ ド中の System, out. printlnOが実行された ことにより行われる。
なおマウス 2 6 2のカーソルがオブジェクトから離れた場合にも、 同様にィべ ン卜が伝達され、 J a v a C o n s o l eウィンドウに動作結果が表示される ユーザがスクリプトのデバッグを行う場合には、 上述したようにデバッグコー ドをスクリブトに追加することにより、 スクリプトにィベントが正常に伝達され ているか否かを確認することができる。
S 4 1 8 : スクリプトに対応するプログラムの記述 図 4 4はォブジエタ 卜の色を変えるコ一ドを追加したスクリプ卜を例示する図 でめ o。
オブジェク 卜の色の変更は、 図 44に示すスクリプトの出力側のフィールド ( 変数名 m—outColor) に値を書き込み、 Ma t e r i a l属性にルーティングす ることにより行われる。 オブジェクトの色を変えるコードをスクリブトに追加す るためには、 以下のコードをメソッ ド 〔― inBoolCBO〕 に追加する。 表 2
float r[] = {l.Of, O.Of, O.Of} ;
float g[] = {0. Of, l.Of, 0. Of} :
if (ev. getValueO m— outColor. setValue (丁): else m一 outColor. setValue(g : これらのコードの追加により、 ブラウザエミユレ一夕 4 6 0によるエミユレ一 ト動作において、 オブジェク トにマウス 262のカーソルが入ってきたとき、 コ ードの ev.getValueO は 「truej となってスクリプト (SC 1 ) から赤が出力さ れ、 カーソルが出ていったときには、 コードの ev.getValueO は 「false 」 にな つてスクリプトから緑が出力される。
S 4 1 9 : Ma t e r i a 1ノードへのルー卜の設定
実際にオブジェク 卜の色を変えるためには、 スクリプトノードから Ma t e r i a 1属性へのルーティングを行う必要がある。
図 3 6はルートウインドウで、 スクリプトプログラム (SC 1 ) の outColorを 、 Ma t e r i a 1属性(C0NE1— MAT)の dif f useColorにルーティ ングする場合の 表示内容を示す図である。
ユーザが、 ルートウィンドウで、 スクリプトノード (SC 1 ) の outColorを、 C0NE1 —MAT の diifuseColorにルーティングすると、 これまでに設定されたル一 ティ ングと合わせて、 センサ(TouchSensor;TSl) からスクリプト(SCI) ヘイベン 卜が伝搬され、 さらにそのスクリブトノードから Ma t e r i a 1属性 (C0NE1— MAT)にイベン トが伝搬するというイベントの流れが完成する。 以上の各作業が終了した時点で、 ユーザが Conductor ゥィン ドウの 「P 1 a y ボタン」 を押下し、 マウス 2 6 2の力一ソルをォブジヱク ト(Cone)の上に移動さ せると、 オブジェクトの色が赤くなり、 カーソルをォブジヱタトから離すと、 ォ ブジェク 卜の色が緑色になる。
バックアップマネジャ 4 6 6は、 第 1のコンテンツの動作確認の際と同様に、 動作確認開始時のコンテンツの初期状態およびユーザの視点を保持しており、 ュ 一ザ 「S t 0 pボタン」 を押下し、 ブラウザエミユレ一夕 4 6 0の動作が終了す ると、 モデル編集ッ一ル 4 2 0はノくックァップマネジャ 4 6 6に保持された初期 状態の V R M Lコンテンッを、 動作確認開始時のユーザの視点から見た状態で 3 D V i e wウィンドウに復元して表示する。
例えば、 動作確認開始時の V R M Lコンテンツの初期状態の表示内容が図 2 8 に示した通りであり、 動作確認終了時のコンテンツの表示内容が図 3 1に示した 通りである場合に、 モデル編集ツール 4 2 0は、 ノくックアップマネジャ 4 6 6力 保持した初期状態に基づいて、 3 D V i e wウィンドウ内のォブジヱク ト(Con の表示を、 図 2 8に示した内容に戻す。
こ二で説明した動作確認におけるコンテンツの動作は、 以下の通りである。 オブジェクトに力一ソルが移動してくると、 オブジェク トに付されたセンサ(T ouchSensor') が検出し、 イベントが発生する。 発生したイベントは、 ルーティン グの設定によりスクリプトノードに伝達され、 スクリブトノ一ドがメソッ ドを実 行する。 メソッ ド中は、 入力イベント(true)を受け取ると、 出力フィールドに赤 を設定し、 出力フィールドに書き込まれた色は さらに、 ルーティングによりォ ブジ ク ト(Cone)の M a t e r i a 1属性に設定され、 3次元仮想空間内のォブ ジェク トの色が赤くなる。 同様に、 カーソルがオブジェクトから離れた場合には 、 センサ(TouchSensor) からイベント(false) がスクリプトノードに伝達され、 メソッ ドが出力のフィ一ルドに緑を設定し、 オブジェクトを緑色に変化させる。 オブジェク ト(Cone)をクリックして音をならす例
コンテンッ作成用ソフ トウェアツール 4を用いて 3次元仮想空間のコンテンッ ( V R M Lコンテンツ) の作成の第 3の具体例として、 オブジェク ト(Cone)をマ ウス 2 6 2でクリックして音をならすという VRMLコンテンツ (第 3のコンテ ンッ) を作成する場合を例を述べる。
以下、 第 3のコンテンッの作成作業を説明する。
VRML 2. 0では、 サウンドノードを用いて音を出力することができ、 コン テンッ作成用ソフトウェアツール 4は、 サゥンドライブラリからドラッグァンド ドロップすることで、 ワールドにサゥンドノ一ドを追加する機能を有している。 第 3のコンテンツを作成するための作業は図 4 5に図解したように下記の工程 をとる。
S 4 3 1 :ォブジヱク ト(Cone の図形データの作成 (: Geometry ノード(Cone) の配置〕 、
S 4 3 2 : センサの付加 〔 Sensor ノード(TouchSensor の配置〕 、
S 4 3 3 : サゥン ドノ一ドの配置、
S 4 34 :動作確認、
S 4 3 5 : Au d i o C l i pノードの設定およびルーティング、
S 4 3 6 :動作確認
ステップ 4 3 1およびステップ 4 3 2の動作は、 上述した第 1のコンテンツの 作成および第 2のコンテンツの作成と同じであるから説明を省略する。 ここでは 、 センサ(TouchSensor) には TS 1 という名前が付される。 以下、 サウンドノー ドのデフォルトの動作を確認し、 その後、 属性の変更やルーティ ングを行い、 ォ ブジエク トをクリックして音をならすことを確認する。
S 4 3 3 : サウン ドノードの配置 .
図 4 6はサゥンドノ一ドの配置を行う際のシ一ングラフウィンドゥおよび A t t r i b u t eウィンドウを示す図である。
VRMLにおいて、 音を出力するためには、 サウンドノードの配置が必要であ り、 コンテンツ作成用ソフ トウェアツール 4は、 ユーザが、 図 9に示した R e s o u r c e L i b r a r y (リソースライブラリ) ウィンドウの最初の Sound 夕 ブをマウス 2 6 2でクリックして、 サウンドライブラリを開き、 サウンドライブ ラリからサゥンドノ一ドをドロップすることにより、 サゥンドノ一ドを追加する ように構成されている。 まず、 ユーザは、 3 D V i ewウィンドウを見て、 何も選択されていない状 態であることを確認し、 何らかのオブジェクトが選択されている場合には、 図 4 6に示すシーングラフウィンドウのポップアップメニューで 「Unselect」 を選択 し、 モデル編集ツール 4 2 0に選択の解除を指示する。
さらにユーザが、 3D V i ewウィンドウでオブジェク ト(Cone)が見えてい ることを確認し、 R e s o u r c e L i b r a r yウィンドウのサゥンドラィブ ラリから 「Ciassic 」 を選択し、 3D V i e wウィンドウにドロップと、 モデ ル編集ツール 4 2 0は、 ォブジェク卜の図形データにサゥンドノ一ドを追加する ユーザが、 シーングラフウィンドウに表示されるツリーをクリックすると、 シ
—ングラフ編集ツール 4 2 4は、 図 4 7に示す内容を表示し、 サウン ドノードが 追加された二とをクライアントに示す。
サゥンドノ一ドでは、 「maxBack 」 , 「maxFront」 等のフィ一ルドによりサゥ ン ドの領域指定を行うことができる。 なお、 ライブラリカ、らドロップされた時の デフオル卜の状態では、 領域内にマウス 2 6 2のカーソルが入ると音を出力する ように、 maxBack=maxFront=10 に設定されている。
S 4 3 4 :動作確認
ユーザはメニューの 「p 1 a yボタン」 を押下することにより、 サゥンドノ一 ドの確認を行うことができる。 コンテンッ作成用ソフトウエアツール 4において は、 サウンドノードをドロップした直後に、 マウス 2 6 2のカーソルが既にサゥ ンドの領域内に入っているように設定されているので、 ユーザが 「P 1 a yボタ ン」 を押下すると、 設定された音 (この例においてはクラシック音楽) が出力さ れる。
またコンテンツ作成用ソフトウエアツール 4においては、 デフオル卜の状態で サゥンドノ一ドの spatializeフィールドが 「TRUE」 に設定されており、 3 D V i e wウィン ドウでマウス 2 62を使って 3次元仮想空間内を移動 (ナビゲーシ ヨン) すると、 マウス 2 6 2の力一ソルの位置に応じて、 音の大きさや左右のパ ンが変化する。
次に、 ユーザが表示装置 2 4の 「S t o pポタン」 を押下して作成モー ドに戻 り、 シーングラフウインドウで 「Sound 」 を選択すると、 モデル編集ツール 4 2 0は、 図 4 7に示すように、 左側の 3D V i e wウィンドウおよび右側の P a r a 1 1 e 1 V i ewウィンドウに示すオブジェク ト(Cone)の周囲に、 センサ(T ouchSensor が音を出力するイベントを発生する領域を示すバウンディングボッ クスを点滅表示し、 ユーザはサゥンドの領域を目視確認することができる。
さらに、 ユーザが 3D V i ewウィンドウのポップアップメニューから 「Pa rallel View/Tip ViewJ を選択すると、 モデル編集ツール 4 20は、 図 47の左 側の 3D λ i ewウィンドウにォブジヱクト(Cone)を正面から画像を 3次元的 に表示し、 右側の P a r a l l e l V i ewウィ ンドウにオブジェク 卜(Cone)を 上から見た画像を 2次元的に表示する。
ユーザが、 図 4 8に示した P a r a 1 1 e 1 V i e wウィンドウ内のオブジェ ク トおよびバウンディングボックスの全体を見るために視点を移動する場合には 、 キ一ボード 2 60のシフトキー、 および、 マウス 262の左ボタン (図示せず ) を押下し、 P a r a l l e l V i ewウィンドウを下方向にドラッグすると、 モデル編集ツール 420は、 視点を遠ざけた場合のォブジヱク 卜の画像を Pa r a 1 1 e 1 V i ewウィ ンドウに表示する。
ユーザが P 1 a yボタンを押してからマウス 262のカーソルを 3D V i e wゥィ ンドウ内で移動させた場合、 図 4 6に示したバウンディ ングボックスが示 す領域に入ると音が出力され、 この領域からカーソルが出ると、 音の出力が停止 される。
図 4 8は図 4 7に示した音を出力する領域の大きさの変更を例示する図である コンテンッ作成用ソフトウエアツール 4においては、 バウンディングポックス が示す領域を、 A t t r i b u t eウィンドウで数値指定したり、 図 9に示した メニュー画面でマウスモードを切り替えることにより、 図 4 7に示すように、 マ ウスを使ってこの領域を移動 ·回転 ·スケールしたりすることも可能である。
S 4 35 : Au d i oC l i pノードの設定とルーティ
以上の作業によりサゥンドノ一ドを追加した状態では、 図 34および図 35に おいてバウンディングボックスにより示されるサゥンドの領域内にマウス 262 の力一ソルが入ると音が自動的に出力されように設定されている。 これは、 サゥ ンドノ一ドについている A u d i 0 C 1 i ρノードの startTime=0, stopTime=0, loop=TRUE という設定に関係がある。
VRML 2. 0では、 Au d i oC 1 i pノードの startTime は開始時間を表 し、 startTime〉=stopTime の場合に音声を出力するようになっている。 また、 io op=TRUE の設定により、 音を繰り返して出力することもできる。 また、 図 47お よび図 4 8において、 マウス 262でバウンディングボックスが示す領域をクリ ックするまでは音をならさないように変更する場合には、 startTime=- 1と設定す る。 また、 バウンディングボックスが示す領域をクリックしたら音声の出力を停 止するようにするためには、 startTime にクリックした時刻を代入する。
図 4 9は Au d i 0 C 1 i pノードの変更とセンサ(TouchSensor) から Au d i o C 1 i pノードへのルーティングを例示する図である。
例えば、 バウンディングボックスで規定される領域をクリックしたら音の出力 を停止する設定を行うためには、 ユーザは、 図 4 8に示すように、 Re s o u r c e L i b r a r yウィンドウの最初の AudioClip タブを選択し、 Au d i o C 1 i pノードに、 AC 1という名前をつけ、 さらに、 ルートウィンドウにおいて 、 センサ(TouchSensor:TSl) の touchTime から Au d i oC 1 i pノードの star tTimeへのルーティングを行う必要がある。
S 4 3 6 :動作確認
ユーザがマウス 262で P 1 a yボタンを押下し、 3D V i ewウィンドウ に表示されたォブジェクト(Cone)をクリックすると、 ブラウザエミユレ一夕 4 6 0により音の出力が開始する。
第 3のコンテンツの動作は以下の通りである。
ユーザがマウス 262で 3D V i ewウィンドウ内のォブジヱクト(Cone)を クリックすると、 ォブジヱクトに付されたセンサ(TouchSensor) TouchSensor 力、 ら、 touchTime というイベントが発生する。 このイベントは、 クリ ックした時間 (VRML 2. 0では、 00:00:00 GMT Jan 1 1970 からの相対時間) が Au d i o C 1 i pの startTime に渡され、 startTime がセッ 卜されて音の出力が開始す る。 この例においては、 Au d i oC l i pノードの loopフィ一ルドが TRUEに設 定されているので、 音は繰り返し再生 ·出力され続ける。
このままでは、 サウンドの領域外に移動しない限り、 音の出力を停止すること ができないので、 音の出力を停止する場合には、 クライアントは、 テキストェデ イタ 4 2 6等を用いて、 所定の条件で音の出力を停止するようにプログラムを変 更する必要がある。
なお、 実施の形態においては、 円錐形のオブジェク トの図形データを作成し、 夕ツチセンサを図形デ一夕に付し、 コモンノード (ライ ト) 、 あるいは、 色の変 更あるいは音を出力する場合を例に説明を行ったが、 本実施の形態のコンテンツ 作成用ソフトウェアツール 4によれば、 この例に限らず、 V R M L 2 . 0がサボ ―卜する全てのノードを用いて V R M Lコンテンツを作成可能であることは、 言 うまでもない。
またコンテンツ作成用ソフ トウェアツール 4は、 適切な変形により、 V R M L 以外の 3次元仮想空間記述用の言語に対応することが可能である。 本発明の効果
本発明によれば、 スクリプトエキスパ一トを適用してインタラクティブな操作 によりスクリブトのテンプレートを作成し自動的にスクリプトをコンパイル可能 になり、 J a V aの言語と V R M Lと結合部分も容易になった。 その結果、 スク リブ卜の作成のためにコマンドの文字列入力入力 (コマン ドライン) により行う 必要がない。 また、 ユーザ V R M L 2 . 0による 3次元仮想空間のコンテンツ作 成時間を大幅に短縮することできた。 - 本発明によれば、 さらに下記に列挙する効果が得られる。
本発明に係る図形データ生成装置、 図形データ生成方法およびその媒体によれ ば、 仮想空間内のオブジェクトの図形の形、 および、 3次元空間内の位置等を示 す図形データの作成、 仮想空間内のイベント (スクリプト) のプログラミング、 および、 モデルに対するポインティングとスクリプトの起動との対応付け (ル一 ティング) 等の作業を統合的に行うことができる。
本発明に係る図形データ生成装置、 図形データ生成装置およびその媒体によれ ば、 モデル、 スクリプトおよびルーティング等の各作業の結果を直ちに確認する ことかできる。
本発明に係る図形データ生成装置、 図形データ生成装置およびその媒体によれ ば、 3次元的な仮想空間における操作を対話形式で行うことができるソフ トゥェ ァの作成を容易に行うことができる。
本発明に ί系る図形データ生成装置、 図形データ生成方法およびその媒体によれ ば、 仮想空間内に表示する 3次元的なォブジ クトの形状を、 2次元的な画面表 示で正確に把握することができる。
本発明に係る図形デ一夕生成装置、 図形データ生成方法およびその媒体によれ ば、 オブジェク 卜に対する操作に応じてイベントを発生するセンサの有効領域の 範囲設定、 および、 設定したセンサの有効領域の確認を視覚的に容易に行うこと ができ、 し力、も、 センサに対する操作に応じて発生するイベントの動作確認が容 易である。 産業上の利用可能性
本発明の図形データ生成装置、 図形データ生成方法およびその媒体は、 3次元 仮想空間におけるオブジェク トを表現する 3次元グラフィクス記述言語によるコ ンテンッのォーサリングツールとして広く利用できる。

Claims

請求の範囲
1 . 表示装置 (2 4 ) の画面のゥィンドウににおける仮想空間内に所定の情 報を表示する工程と、
スクリブト作成用データを入力し、 前記表示装置のゥィンドウに表示さ れたォブジェク トに対する操作指示に応じて発生するィベントを実現するスクリ ブトのソースプログラムを作成する工程と、
ルーティング用データを入力し、 生成した前記データおよび作成した前 記スクリプ卜を含むノード間を対応付けてル一ティングを行う工程と、
実行指示に応答し、 前記作成した前記スクリブトのソースプログラムを コンパイルし、 前記スクリブトのオブジェクトプログラムを作成する工程と、 実行指示データの入力に応答し、 前記オブジェク 卜が示す図形を前記ゥ ィンドウに表示し、 表示した前記ォブジ Xク卜に対する前記操作指示手段からの 操作指示に応じて、 少なくとも前記オブジェク卜に対応付けられた前記スクリブ トのォブジ Xク トプログラムを実行する工程と
を有する図形データ生成方法。
2 . 前記画像作成用データ、 前記スクリプト作成用データおよび前記ルーテ ィング用データの入力に用いられる入力用画像を表示し、 表示した前記入力用画 像に応じて入力されるこれらのデータを入力する工程を有する
請求項 1に記載の図形データ生成方法。
3 . 前記ソースプログラム作成工程は、 .
前記スクリブトの入出力の値を設定する入出力値設定工程と、 設定した前記スクリブトの入出力の値に適合したスクリプトのソ一スプ ログラムのひな型を作成するひな型作成工程と、
作成した前記スクリブトのソースプログラムのひな型を編集し、 所望の 前記スクリブトのソースプログラムを作成するソースプログラム編集工程と を有する請求項 5に記載の図形データ生成方法。
4 . 前記ソースプログラム作成工程は、
設定した前記スクリプ卜の入出力の値に適合するように、 前記ソースプ ログラムを変更するソースプログラム変更工程
を有する請求項 3に記載の図形データ生成方法。
5 . 表示装置 (2 4 ) の画面のゥィンドウににおける仮想空間内に所定の情 報を表示する表示処理手段 (3 1 , 4 0 ) と、
前記表示装置に表示された表示内容とユーザとの対話型操作を可能とす る前記表示装置と協動する操作指示手段 (2 6 ) と、
スクリブ卜作成用データを入力し、 前記表示装置のウインドウに表示さ れたォブジェクトに対する前記操作指示手段からの操作指示に応じて発生するィ ベントを実現するスクリブトのソースプログラムを作成するソースプログラム作 成手段と、
ルーティング用デ一夕を受け入れ、 生成した前記図形デ一夕および作成 した前記スクリプトを含むノ一ド間を対応付けてルーティングを行うルーティン グ手段と、
前記操作指示手段からの実行指示に応答し、 前記作成した前記スクリブ 卜のソースプログラムをコンパイルし、 前記スクリプトのオブジェク トプログラ ムを作成するォブジェクトプログラム作成手段と、
前記操作指示手段からの実行指示データの入力に応答し、 前記ォブジェ ク 卜が示す図形を前記ウインドウに表示し、 表示した前記ォブジェク トに対する 前記操作指示手段からの操作指示に応じて、 少なくとも前記ォブジェクトに対応 付けられた前記スクリブトのォブジェタトプログラムを実行する表示 ·実行手段 と - を有する図形データ生成装置。
6 . 前記画像作成用データ、 前記スクリプト作成用データおよび前記ルーテ ィ ング用データの入力に用いられる入力用画像を表示し、 表示した前記入力用画 像に応じて入力されるこれらのデータを受け入れ、 前記図形データ生成手段、 ソ ースプログラム作成手段および前記ルーティング手段それぞれに配分するデ一夕 入力手段を
有する請求項 5に記載の図形データ生成装置。
7 . 前記ソースプログラム作成手段は、 前記スクリプトの入出力の値を設定する入出力値設定手段と、 設定した前記スクリブトの入出力の値に適合したスクリブトのソースプ ログラムのひな型を作成するひな型作成手段と、
作成した前記スクリブトのソースプログラムのひな型を編集し、 所望の 前記スクリプ卜のソースプログラムを作成するソースプロダラム編集手段と を有する請求項 5に記載の図形データ生成装置。
8 . 前記ソースプログラム作成手段は、
設定した前記スクリブトの入出力の値に適合するように、 前記ソースプ ログラムを変更するソースプログラ厶変更手段
を有する請求項 5に記載の図形データ生成装置。
9 . 表示装置 (2 4 ) の画面のウインドウににおける仮想空間内に所定の情 報を表示する工程と、
スクリプト作成用データを入力し、 前記表示装置のウインドウに表示さ れたォブジ ク 卜に対する操作指示に応じて発生するィベン卜を実現するスクリ プトのソースプログラムを作成する工程と、
ルーティング用デ一夕を入力し、 生成した前記データおよび作成した前 記スクリプトを含むノード間を対応付けてルーティングを行う工程と、
実行指示に応答し、 前記作成した前記スクリブトのソースプログラムを コンパィ儿し、 前記スクリプトのォブジェク トプログラムを作成する工程と、 実行指示データの入力に応答し、 前記ォブジェク 卜が示す図形を前記ゥ ィ ンドウに表示し、 表示した前記オブジェク 卜に対する前記操作指示手段からの 操作指示に応じて、 少なくとも前記オブジェク 卜に対応付けられた前記スクリブ トのォブジェク トプログラムを実行する工程と
を有する図形データ生成方法を実施するプログラムを媒介する媒体。
1 0 . 前記画像作成用データ、 前記スクリプト作成用データおよび前記ルーテ ィ ング用データの入力に用いられる入力用画像を表示し、 表示した前記入力用画 像に応じて入力されるこれらのデータを入力する工程を有する
'図形デ一夕生成方法を実施する請求項 9に記載のプログラムを媒介する 媒体。
1 1 . 前記ソースプログラム作成工程は、
前記スクリブトの入出力の値を設定する入出力値設定工程と、 設定した前記スクリブトの入出力の値に適合したスクリブトのソースプ ログラムのひな型を作成するひな型作成工程と、
作成した前記スクリブトのソースプログラムのひな型を編集し、 所望の 前記スクリブトのソースプログラ厶を作成するソースプログラ厶編集工程と を有する図形データ生成方法を実施する請求項 1 0記載のプログラムを 媒介する媒体。
1 2 . 前記ソースプログラム作成工程は、
設定した前記スクリブトの入出力の値に適合するように、 前記ソースプ ログラムを変更するソースプログラ厶変更工程
を有する図形データ生成方法を実施する請求項 1 0に記載のプログラム を媒介する媒体。
1 3 . 前記プログラムを媒介する媒体は、 コンピュータシステム内において媒 介される、 請求項 9〜 1 2いずれか記載のプログラムを媒介する媒体。
1 4 . 前記プログラムを媒介する媒体は、 ネッ トワークシステムを介して伝送 される、 請求項 9〜 1 2し、ずれか記載のプログラムを媒介する媒体。
PCT/JP1998/000299 1997-01-24 1998-01-26 Generateur de donnees de configuration, procede permettant de generer de telles donnees et son support WO1998033150A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019980707547A KR20000064771A (ko) 1997-01-24 1998-01-26 도형 데이터 생성 장치, 도형 데이터 생성 방법 및 그 매체
US09/155,288 US6401237B1 (en) 1997-01-24 1998-01-26 Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
EP98900735A EP0895195A1 (en) 1997-01-24 1998-01-26 Pattern data generator, pattern data generating method and its medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP9/25881 1997-01-24
JP2588197 1997-01-24

Publications (1)

Publication Number Publication Date
WO1998033150A1 true WO1998033150A1 (fr) 1998-07-30

Family

ID=12178135

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/000299 WO1998033150A1 (fr) 1997-01-24 1998-01-26 Generateur de donnees de configuration, procede permettant de generer de telles donnees et son support

Country Status (4)

Country Link
US (1) US6401237B1 (ja)
EP (1) EP0895195A1 (ja)
KR (1) KR20000064771A (ja)
WO (1) WO1998033150A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011114868A (ja) * 2009-11-23 2011-06-09 Samsung Electronics Co Ltd Gui提供方法及びこれを用いたディスプレイ装置と3d映像提供システム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6552721B1 (en) * 1997-01-24 2003-04-22 Sony Corporation Graphic data generating apparatus, graphic data generation method, and medium of the same
US6931600B1 (en) * 1999-05-07 2005-08-16 Autodesk, Inc. Integrating into an application objects that are provided over a network
EP1280073A1 (en) * 1999-05-07 2003-01-29 Autodesk, Inc. Integrating into an application objects that are provided over a network
US6825837B1 (en) * 1999-09-02 2004-11-30 Canon Kabushiki Kaisha Space rendering method, virtual space rendering apparatus, cache device, and storage medium
US8302072B2 (en) * 2000-06-05 2012-10-30 National Instruments Corporation System and method for programmatically generating a graphical program based on a sequence of motion control, machine vision, and data acquisition (DAQ) operations
JP2002251621A (ja) * 2001-02-22 2002-09-06 Fujitsu Ltd 画像作成システム、画像作成方法および画像作成プログラム
US7197744B2 (en) * 2002-04-04 2007-03-27 Honeywell International, Inc. Universal script editor
US20040100489A1 (en) * 2002-11-26 2004-05-27 Canon Kabushiki Kaisha Automatic 3-D web content generation
US20040168119A1 (en) * 2003-02-24 2004-08-26 David Liu method and apparatus for creating a report
US20050071135A1 (en) 2003-09-30 2005-03-31 Vredenburgh David W. Knowledge management system for computer-aided design modeling
US8751950B2 (en) * 2004-08-17 2014-06-10 Ice Edge Business Solutions Ltd. Capturing a user's intent in design software
US8762941B2 (en) * 2006-02-16 2014-06-24 Dirtt Environmental Solutions, Ltd. Rendering and modifying CAD design entities in object-oriented applications
US7900188B2 (en) * 2006-09-01 2011-03-01 The Mathworks, Inc. Specifying implementations of code for code generation from a model
EP2252951B1 (en) 2008-03-11 2021-05-05 Ice Edge Business Solutions, Ltd. Automatically creating and modifying furniture layouts in design software
US20090271436A1 (en) * 2008-04-23 2009-10-29 Josef Reisinger Techniques for Providing a Virtual-World Object Based on a Real-World Object Description
CA2781638C (en) * 2009-11-24 2019-06-04 Ice Edge Business Solutions Inc. Securely sharing design renderings over a network
US8667464B2 (en) * 2010-03-19 2014-03-04 Honeywell Technologies Sarl Company advanced programming interface
US8860717B1 (en) * 2011-03-29 2014-10-14 Google Inc. Web browser for viewing a three-dimensional object responsive to a search query
WO2012173741A2 (en) 2011-06-11 2012-12-20 Dirtt Environmental Solutions Inc. Automated re-use of structural components
KR20140085942A (ko) * 2012-12-28 2014-07-08 삼성전자주식회사 터치 기반의 도형의 조작 방법 및 장치
JP6021864B2 (ja) * 2014-08-29 2016-11-09 株式会社日立製作所 半導体装置および情報処理装置
CN110750261A (zh) * 2019-09-18 2020-02-04 向四化 一种可编辑、多维交互式展示控制方法、控制系统及设备
US11605187B1 (en) * 2020-08-18 2023-03-14 Corel Corporation Drawing function identification in graphics applications

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05274419A (ja) * 1991-07-12 1993-10-22 Matsushita Electric Ind Co Ltd 情報提示装置及び提示情報作成装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5396621A (en) 1991-05-10 1995-03-07 Claris Corporation Sorting a table by rows or columns in response to interactive prompting with a dialog box graphical icon
US5610653A (en) 1992-02-07 1997-03-11 Abecassis; Max Method and system for automatically tracking a zoomed video image
JPH06103049A (ja) 1992-09-18 1994-04-15 Hitachi Software Eng Co Ltd 仕様抽象化詳細方式
US5838906A (en) 1994-10-17 1998-11-17 The Regents Of The University Of California Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US5630131A (en) 1994-11-14 1997-05-13 Object Technology Licensing Corp. Method and apparatus for importing and exporting archive files for a graphical user interface
JP3859018B2 (ja) 1995-07-12 2006-12-20 ソニー株式会社 3次元仮想現実空間共有方法、3次元仮想現実空間共有システム、アドレス管理方法、並びにアドレス管理サーバ端末
CA2180891C (en) * 1995-07-12 2010-01-12 Junichi Rekimoto Notification of updates in a three-dimensional virtual reality space sharing system
US5956028A (en) 1995-09-14 1999-09-21 Fujitsu Ltd. Virtual space communication system, three-dimensional image display method, and apparatus therefor
JP3745802B2 (ja) 1995-10-13 2006-02-15 株式会社日立製作所 画像生成/表示装置
US5815154A (en) 1995-12-20 1998-09-29 Solidworks Corporation Graphical browser system for displaying and manipulating a computer model
JPH09259028A (ja) * 1996-03-19 1997-10-03 Toshiba Corp 情報呈示方法
US5995107A (en) 1996-08-02 1999-11-30 Autodesk, Inc. Caching in a three dimensional modeling and animation system
US5926179A (en) * 1996-09-30 1999-07-20 Sony Corporation Three-dimensional virtual reality space display processing apparatus, a three-dimensional virtual reality space display processing method, and an information providing medium
US6057856A (en) * 1996-09-30 2000-05-02 Sony Corporation 3D virtual reality multi-user interaction with superimposed positional information display for each user
US5982372A (en) 1996-11-14 1999-11-09 International Business Machines Corp. Visual metaphor for shortcut navigation in a virtual world
US5983003A (en) 1996-11-15 1999-11-09 International Business Machines Corp. Interactive station indicator and user qualifier for virtual worlds
US6061695A (en) * 1996-12-06 2000-05-09 Microsoft Corporation Operating system shell having a windowing graphical user interface with a desktop displayed as a hypertext multimedia document

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05274419A (ja) * 1991-07-12 1993-10-22 Matsushita Electric Ind Co Ltd 情報提示装置及び提示情報作成装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011114868A (ja) * 2009-11-23 2011-06-09 Samsung Electronics Co Ltd Gui提供方法及びこれを用いたディスプレイ装置と3d映像提供システム
US9307224B2 (en) 2009-11-23 2016-04-05 Samsung Electronics Co., Ltd. GUI providing method, and display apparatus and 3D image providing system using the same

Also Published As

Publication number Publication date
US6401237B1 (en) 2002-06-04
EP0895195A1 (en) 1999-02-03
KR20000064771A (ko) 2000-11-06

Similar Documents

Publication Publication Date Title
US6466239B2 (en) Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US6262734B1 (en) Graphic data generating apparatus, graphic data generation method, and medium of the same
WO1998033150A1 (fr) Generateur de donnees de configuration, procede permettant de generer de telles donnees et son support
US6518989B1 (en) Graphic data generating apparatus, graphic data generation method, and medium of the same
US6552721B1 (en) Graphic data generating apparatus, graphic data generation method, and medium of the same
US6493001B1 (en) Method, apparatus and medium for describing a virtual shared space using virtual reality modeling language
CA2135524C (en) International data processing system
CA2604449C (en) A system and method for flexible visual representation of presentation components
US20040001092A1 (en) Prototyping graphical user interfaces
JP2003345717A (ja) ウェブ・ドキュメントを再編集して再配布する方法及び装置
WO1998033147A1 (fr) Generateur de donnees de formes, procede de generation de donnees de formes et son support
US6626954B1 (en) Information processing apparatus/method and presentation medium
US6483508B1 (en) Information processing apparatus and method, and providing medium
US6281900B1 (en) Information processing apparatus and method, and providing medium
Molina Massó et al. Towards virtualization of user interfaces based on UsiXML
WO1998033145A1 (fr) Generateur de donnees de formes, procede de generation de donnees de formes et moyens associes
EP1712995A1 (en) System and method for supporting packaging, publishing and republishing of wireless component applications
EP1712987A1 (en) System and Method for Unified Visualization of Two-Tiered Applications
Benjamin et al. Game rendering: a material editor for the object-oriented game rendering engine
Pascual Molina Masso et al. " Towards Virtualization of User Interfaces based on UsiXML
EP1712994A1 (en) System and method for transformation of an application definition
JPH11175754A (ja) 情報処理装置および方法、並びに提供媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1998900735

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1019980707547

Country of ref document: KR

Ref document number: 09155288

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998900735

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980707547

Country of ref document: KR

WWW Wipo information: withdrawn in national office

Ref document number: 1998900735

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1019980707547

Country of ref document: KR