| United States Patent |
5,926,179
|
|
Matsuda
,   et al.
|
July 20, 1999
|
Three-dimensional virtual reality space display processing apparatus, a
three-dimensional virtual reality space display processing method, and
an information providing medium
Abstract
To allow a user to quickly and surely recognize whether an object is
chat-enabled or not. A pointer is displayed on a three-dimensional virtual
reality space image and, when the pointer is placed onto any of objects
displayed in the three-dimensional virtual reality space image to specify
the pointed object, it is determined whether that object is chat-enable
based on the attribute information thereof. If the object is found
chat-enabled, the pointer having a normal shape of an arrow is changed to
a pointer 201a having a shape resembling a human face. This novel
constitution allows a user to intuitively understand whether each of the
objects displayed in the three-dimensional virtual reality space is
chat-enabled or not.
| Inventors:
|
Matsuda; Satoru (Kanagawa, JP);
Hiei; Futoshi (Kanagawa, JP);
Nashida; Tatsushi (Kanagawa, JP)
|
| Assignee:
|
Sony Corporation (Tokyo, JP)
|
| Appl. No.:
|
939220 |
| Filed:
|
September 29, 1997 |
Foreign Application Priority Data
| Current U.S. Class: |
345/752; 345/419; 345/759; 345/861; 715/513 |
| Intern'l Class: |
G06F 003/14; G06T 017/00 |
| Field of Search: |
345/145,419,355,331,332,330,329
707/513,509
|
References Cited [Referenced By]
U.S. Patent Documents
| 5191644 | Mar., 1993 | Takeda | 395/158.
|
| 5347306 | Sep., 1994 | Nitta | 348/15.
|
| 5388990 | Feb., 1995 | Beckman | 434/38.
|
| 5491743 | Feb., 1996 | Shiio et al. | 379/202.
|
| 5563988 | Oct., 1996 | Maes et al. | 395/121.
|
| 5577187 | Nov., 1996 | Mariani | 395/342.
|
| 5621904 | Apr., 1997 | Elliott et al. | 395/342.
|
| 5659691 | Aug., 1997 | Durward et al. | 395/329.
|
| 5682506 | Oct., 1997 | Corby, Jr. et al. | 395/119.
|
| 5710897 | Jan., 1998 | Schneider et al. | 345/145.
|
| 5732232 | Mar., 1998 | Brush, II et al. | 345/339.
|
| 5736982 | Apr., 1998 | Suzuki et al. | 345/330.
|
| 5771042 | Jun., 1998 | Santos-Gomez | 345/342.
|
Other References
Using Internet Explorer, "Te fast and Easy way to learn", by Kent, 1995.
Decision Networks for Integrating the behavior of Virtual Agent and
avatars, by Thomas S Trias, University of Pennsylvania, Jan. 1996.
M. Benedikt, "Cyberspace: First Steps," The MIT Press, London, 1992,
Chapter 10, "The Lessons of Lucasfilm Habitat," pp. 273-301.
|
Primary Examiner: Bayerl; Raymond J.
Assistant Examiner: Nguyen; Thomas T.
Attorney, Agent or Firm: Limbach & Limbach L.L.P.
Claims
What is claimed is:
1. A three-dimensional virtual reality space display processing apparatus
for decoding three-dimensional graphics data to display a corresponding
three-dimensional virtual reality space image, comprising:
an object specifying means for displaying a pointer on said
three-dimensional virtual reality space image and superimposing said
pointer on any of objects displayed in said three-dimensional virtual
reality space image to specify a desired object;
an attribute determining means for determining, based on attribute
information of the object specified by said object specifying means,
whether the specified object is a chat-enabled object and, if so,
determining a nickname of said chat-enabled object;
pointer shape changing means for changing a shape of said pointer to a
particular shape different from a normal shape, and for also displaying
said nickname near said pointer displayed with said particular shape, if
the object specified by said object specifying means is found to be a
chat-enabled object by said attribute determining means.
2. A three-dimensional virtual reality space display processing apparatus
according to claim 1, wherein, if the object specified by said object
specifying means is found a chat-enabled object by said attribute
determining means, said pointer shape changing means changes the shape of
said pointer from a normal arrow shape to a face shape.
3. A three-dimensional virtual reality space display processing apparatus
according to claim 1, wherein, if the object specified by said object
specifying means is found a chat-enabled object by said attribute
determining means, said pointer shape changing means changes the shape of
said pointer from a normal arrow shape to a face shape in animated display
in which a mouth opens and closes with time.
4. A three-dimensional virtual reality space display processing apparatus
according to claim 1, wherein the object displayed in said
three-dimensional virtual reality space image is an avatar of a user, said
avatar being movable to any position in said three-dimensional virtual
reality space.
5. A three-dimensional virtual reality space display processing apparatus
according to claim 4 further comprising a chat window display control
means for displaying a private-chat dedicated window for displaying a
private chat between users on a one to one basis different from a public
chat window for displaying a public chat made between unspecified users if
the object specified by said object specifying means is found an avatar of
a user, said avatar being movable to any position in said
three-dimensional virtual reality space.
6. A three-dimensional virtual reality space display processing apparatus
according to claim 1, wherein said three-dimensional graphics data is
described in VRML (Virtual Reality Modeling Language).
7. A three-dimensional virtual reality space display processing method for
decoding three-dimensional graphics data to display a corresponding
three-dimensional virtual reality space image, comprising the steps of:
displaying a pointer on said three-dimensional virtual reality space image
and superimposing-said pointer on any of objects displayed in said
three-dimensional virtual reality space image to specify a desired object;
determining, based on attribute information of the object specified by said
object specifying means, whether the specified object is a chat-enabled
object and, if so, determining a nickname of said chat-enabled object; and
changing a shape of said pointer to a particular shape different from a
normal shape and displaying said nickname near said pointer displayed with
said particular shape if the object specified by said object specifying
means is found to be a chat-enabled object by said attribute determining
means.
8. An information providing medium for providing a computer program to be
executed by a three-dimensional virtual reality space display processing
apparatus for decoding three-dimensional graphics data to display a
corresponding three-dimensional virtual reality space image, said computer
program comprising the steps of:
displaying a pointer on said three-dimensional virtual reality space image
and superimposing said pointer on any of objects displayed in said
three-dimensional virtual reality space image to specify a desired object;
determining, based on attribute information of the object specified by said
object specifying means, whether the specified object is a chat-enabled
object and, if so, determining a nickname of said chat-enabled object; and
changing a shape of said pointer to a particular shape different from a
normal shape and also displaying said nickname near said pointer displayed
with said particular shape, if the object specified by said object
specifying means is found a chat-enabled object by said attribute
determining means.
Description
BACKGROUND OF THE INVENTION
The present invention generally relates to a three-dimensional virtual
reality space display processing apparatus, a three-dimensional virtual
reality space display processing method, and an information providing
medium and, more particularly, to a three-dimensional virtual reality
space display processing apparatus, a three-dimensional virtual reality
space display processing method, and an information providing medium that
allow a user to intuitively understand whether an object displayed in the
three-dimensional virtual reality space is a chat-enabled object.
A cyberspace service named Habitat (trademark) is known in the so-called
personal computer communications services such as NIFTY-Serve (trademark)
of Japan and CompuServe (trademark) of US in which a plurality of users
connect their personal computers via modems and public telephone network
to the host computers installed at the centers of the services to access
them in predetermined protocols. Development of Habitat started in 1985 by
Lucas Film of the US, operated by Quantum Link, one of US commercial
networks, for about three years. Then, Habitat started its service in
NIFTY-Serve as Fujitsu Habitat (trademark) in February 1990. In Habitat,
users can send their alter egos called avatars (the incarnation of a god
figuring in the Hindu mythology) into a virtual city called Populopolis
drawn by two-dimensional graphics to have a chat (namely, a realtime
conversation based on text entered and displayed) with each other. For
further details of Habitat, refer to the Japanese translation of
"Cyberspace: First Steps," Michael Benedikt, ed., 1991, MIT Press
Cambridge, Mass., ISBNO-262-02327-X, the translation being published Mar.
20, 1994, by NTT Publishing, ISBN4-87188-265-9C0010, pp. 282-307.
In order to implement the above-mentioned cyberspace system by use of the
infrastructure of the Internet through which information can be
transferred all over the world, standardization of a three-dimensional
graphics description language called VRML (Virtual Reality Modeling
Language) is proceeding.
In WWW (World Wide Web) of the Internet, document data can be described in
HTML (Hyper Text Markup Language) and the resultant HTML file can be
stored in a WWW server. This HTML file can be transferred on demand by a
client terminal and can be displayed by use of the HTML browser of that
client terminal.
Like this HTML file, three-dimensional graphics data can be described in
VRML and the resultant VRML file can be stored in a WWW server. This VRML
file can be transferred on demand by a client terminal and can be
displayed by use of the VRML browser of that client terminal.
If, when a user who uses (mainly looks at) a three-dimensional virtual
reality space through the above-mentioned VRML browser for example and is
moving his or her avatar, meets an avatar of another user, the user can
chat with another user.
For example, a chat service called Worlds Chat (trademark) developed by
Worlds Inc. of US and made commercially available from April 1995 is used
to make chat. This Worlds Chat supports chat in a three-dimensional
virtual reality space based on the company's own standard, allowing a user
to freely move in a virtual space of a fictitious space station to chat
realtime in the form of text with another user in the space station.
However, if an object resembling a virtual creature or a robot autonomously
moving in such a virtual reality space is arranged in it in addition to an
avatar having the shape of a human being, the user cannot tell whether
such a virtual creature or robot object is chat-enabled or not, thereby
causing a confusion in navigating the virtual reality space.
Namely, if an object that the user meets in a three-dimensional virtual
reality space is an avatar of another user, the user can intuitively
recognize that the avatar is chat-enabled. However, if an object that the
user meets simply disguises a human being, the user cannot determine
whether that object is chat-enabled or not and may repeat a operation for
starting a chat with such an object for nothing.
SUMMARY OF THE INVENTION
It is therefore an object of the present invention to allow a user to
intuitively understand whether an object displayed in a three-dimensional
virtual reality space is chat-enabled or not.
In carrying out the invention and according to one aspect thereof, there
are provided a three-dimensional virtual reality space display processing
apparatus described in claim 1, a three-dimensional virtual reality space
display processing method described in claim 7, and an information
providing medium described in claim 8 comprising: an object specifying
means for displaying a pointer on the three-dimensional virtual reality
space image and superimposing the pointer on any of objects displayed in
the three-dimensional virtual reality space image to specify a desired
object; an attribute determining means for determining, based on attribute
information of the object specified by the object specifying means,
whether the specified object is a chat-enabled object; and a pointer shape
changing means for changing a shape of the pointer to a particular shape
different from a normal shape if the object specified by the object
specifying means is found a chat-enabled object by the attribute
determining means.
The above-mentioned novel constitution allows the user to intuitively
understand whether an object displayed in a three-dimensional virtual
reality space is chat-enabled or not.
It should be noted that the information providing medium herein denotes not
only package media such as a floppy disk and a CD-ROM in which computer
programs are stored but also a transmission medium by which a computer
program is downloaded via a network such as the Internet for example.
In the following description, an object "avatar" representing user's alter
ego can move around inside a virtual reality space, enter in and walk off
it. The avatar can change (or update) its states inside a virtual reality
space. Therefore, such an object is hereafter referred to as an update
object appropriately. On the other hand, an object representative of a
building constituting a town in the virtual reality space is used commonly
by a plurality of users and does not change in its basic state. Even if
the building object changes, it changes autonomously, namely it changes
independent of the operations made at client terminals. Such an object
commonly used by a plurality of users is appropriately called a basic
object hereafter.
BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and advantages of the present
invention will be apparent from the following detailed description of the
preferred embodiments of the invention in conjugation with the
accompanying drawings, in which:
FIG. 1 is a block diagram illustrating a cyberspace system practiced as one
preferred embodiment of the invention;
FIG. 2 describes WWW (World Wide Web);
FIG. 3 is a diagram illustrating an example of a URL (Uniform Resource
Locator);
FIG. 4 is a block diagram illustrating an example of the constitution of an
information server terminal 10 of FIG. 1;
FIG. 5 is a block diagram illustrating an example of the constitution of a
shared server terminal 11 of FIG. 1;
FIG. 6 is a block diagram illustrating an example of the constitution of a
mapping server terminal 12 of FIG. 1;
FIG. 7 is a block diagram illustrating an example of the constitution of a
client terminal 13 of FIG. 1;
FIG. 8 is a block diagram illustrating an example of the constitution of a
server provider terminal 14 of FIG. 1;
FIG. 9 describes a virtual reality space formed by the cyberspace system of
FIG. 1;
FIG. 10 describes a view field seen from avatar C of FIG. 9;
FIG. 11 describes a view field seen from avatar D of FIG. 9;
FIG. 12 describes an allocated space of a part of the cyberspace of FIG. 1;
FIG. 13 describes a view field seen from avatar C of FIG. 12;
FIG. 14 describes a view field seen from avatar F of FIG. 12;
FIG. 15 is a flowchart describing operations of the client terminal 13 (the
service provider terminal 14) of FIG. 1;
FIG. 16 is a flowchart describing operations of the information server
terminal 10 of FIG. 1;
FIG. 17 is a flowchart describing operations of the mapping server terminal
12 of FIG. 1;
FIG. 18 is a flowchart describing operations of the shared server terminal
11 of FIG. 1;
FIG. 19 describes a communication protocol for the communication between
the client terminal 13, the information server terminal 10, the shared
server terminal 11, and the mapping server terminal 12 of FIG. 1;
FIG. 20 describes the case in which a plurality of shared server terminals
exist for controlling update objects arranged in the same virtual reality
space;
FIG. 21 is a block diagram illustrating another example of the constitution
of the client terminal 13 of FIG. 1;
FIG. 22 describes destinations in which basic objects and update objects
are stored;
FIG. 23 describes an arrangement of basic objects and update objects;
FIG. 24 describes software for implementing the cyberspace system of FIG.
1;
FIG. 25 describes software operating on the client terminal 13-1 of FIG. 1
and the shared server terminal 11-1 of FIG. 1;
FIG. 26 describes an environment in which the software of FIG. 25 operates;
FIG. 27 is an example of a user control table;
FIG. 28 is a schematic diagram illustrating a relationship between a
visible area and a chat-enable area;
FIG. 29 is an example of another user control table;
FIG. 30 is a flowchart describing the processing by which whether each
object is chat-enabled or not can be known;
FIG. 31 is photograph illustrating a display example of a normal arrow
pointer;
FIG. 32 is a photograph illustrating a state in which a pointer is
positioned on an avatar;
FIG. 33 is a photograph illustrating a display example of message window;
FIG. 34 is a photograph illustrating a display example of a private chat
window;
FIG. 35 is a photograph illustrating a display example of a message window;
FIG. 36 is a photograph illustrating a display example of a private chat
window;
FIG. 37 is a photograph illustrating a display example of another chat
window;
FIG. 38 is a photograph illustrating a display example of a private chat
window; and
FIG. 39 is a photograph illustrating a display example of a multiuser
window displayed when a public chat is performed.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
This invention will be described in further detail by way of example with
reference to the accompanying drawings. The basic idea and concept of a
virtual society is described by Hiroaki Kitano, Sony Computer Science
Laboratories, as follows in his home page "Kitano Virtual Society (V1.0)
(http://www.csl,sony.co.jp/person/kitano/VS/concept.j.html.1995)":
"In the beginning of the 21st century, a virtual society would emerge in a
network spanning all the world. People in every part of the world will
make a society in which millions or hundred millions of people live in a
shared space created in the network. A society that will emerge beyond the
current Internet, CATV, and the so-called information super highway is a
virtual society that I conceive. In the virtual society, people can not
only perform generally the same social activities as those in the real
world--enjoy shopping, have a chat, play games, do work, and the like--but
also perform things that are possible only in the virtual society (for
example, moving from Tokyo to Paris in an instant). Such a "society" would
be implemented only by state-of-the-art technologies such as cyberspace
constructing technologies that support a broadband network, high-quality
three-dimensional presentation capability and bidirectional communications
of voice, music and moving picture signals, and a large-scale distributed
system that allows a lot of people to share the constructed space."
For further details, look at the above mentioned home page.
The three-dimensional virtual reality space that implements the
above-mentioned virtual society is a cyberspace system. The actual
examples of the infrastructures for constructing this cyberspace system
includes, at this point of time, the Internet, which is a world-wide
computer network connected by a communications protocol called TCP/IP
(Transmission Control Protocol/Internet Protocol) and the intranet
implemented by applying the Internet technologies such as WWW (World Wide
Web) to the in-house LAN (Local Area Network). Further, use of a broadband
communication network based on FTTH (Fiber To The Home) in the future is
proposed in which the main line system and the subscriber system are all
constituted by fiber optics.
Meanwhile, for an information providing system available on the Internet,
WWW developed by CERN (European Center for Nuclear Research) in
Switzerland is known. This technology allows a user to browse information
including text, image and voice for example in the hyper text form. Based
on HTTP (Hyper Text Transfer Protocol), the information stored in a WWW
server terminal is sent asynchronously to terminals such as personal
computers.
The WWW server is constituted by server software called an HTTP demon and
an HTML file in which hyper text information is stored. The hyper text
information is described in a description language called HTML (Hyper Text
Makeup Language). In the description of a hyper text by HTML, a logical
structure of a document is expressed in a format specification called a
tag enclosed by "<" and ">". Description of linking to other information
is made based in link information called an anchor. A method in which a
location at which required information is stored by the anchor is URL
(Uniform Resource Locator).
A protocol for transferring a file described in HTML on the TCP/IP network
is HTTP. This protocol has a capability of transferring a request for
information from a client to the WWW server and the requested hyper text
information stored in the HTML file to the client.
Used by many as an environment for using Www is client software such as
Netscape Navigator (trademark) called a WWW browser.
It should be noted that demon denotes a program for executing control and
processing in the background when performing a job in the UNIX
environment.
Recently, a language for describing three-dimensional graphics data, called
VRML (Virtual Reality Modeling Language) and a VRML viewer for drawing a
virtual reality space described in this VRML on a personal computer or a
workstation have been developed. VRML allows to extend WWW, set hyper text
links to objects drawn by three-dimensional graphics, and follow these
links to sequentially access WWW server terminals. The specifications of
VRML version 1.0 were made public in May 26, 1995. Then, in Nov. 9, 1995,
a revised version in which errors and ambiguous expressions are corrected
was made public. The specifications are available from
URL=http://www.vrml.org/Specifications/VRML1.0/.
Storing three-dimensional information described in the above-mentioned VRML
in a www server terminal allows the construction of a virtual space
expressed in three-dimensional graphics on the Internet. Further, use of
the VRML viewer by using personal computers and the like interconnected by
the Internet can implement the display of a virtual space based on
three-dimensional graphics and the walk-through capability.
In what follows, examples in which the Internet is used for a network will
be described. It will be apparent to those skilled in the art that FTTH
may be used instead of the Internet to implement the virtual space.
It should be noted that Cyberspace is a coinage by William Gibson, a US
science fiction writer, and was used in his "Neuromancer" (1984) that made
him famous. Strictly speaking, however, the word Cyberspace first appeared
in his "Burning Chrome" (1982). In these novels, there are scenes in which
the hero attaches a special electrode on his forehead to connect himself
to a computer to directly reflect on his brain a virtual three-dimensional
space obtained by visually reconfiguring data on a computer network
spanning all over the world. This virtual three-dimensional space was
called Cyberspace. Recently, the term has come to be used as denoting a
system in which a virtual three-dimensional space is used by a plurality
of users via a network.
Now, referring to FIG. 1, there is shown an example of a constitution of a
cyberspace (a three-dimensional virtual reality space provided via a
network) system according to the present invention. As shown, in this
preferred embodiment, host computers (or simply hosts) A through C, a
plurality (three in this case) of client terminals 13-1 through 13-3, and
any number (one in this case) of service provider terminal 14 are
interconnected via a world-wide network 15 (a global communication network
sometimes referred to as an information transmission medium herein) like
the Internet 15 by way of example.
The host A constitutes a system of so-called WWW (World Wide Web) for
example. Namely, the host A has information (or a file) to be described
later. And, each piece of information (or each file) is related with a URL
(Uniform Resource Locator) for uniformly specify that information.
Specifying a URL allows access to the information corresponding to it.
To be more specific, the host A stores three-dimensional image data for
providing three-dimensional virtual reality spaces (hereinafter
appropriately referred to simply as virtual reality spaces) such as
virtual streets in Tokyo, New York, and other locations for example. It
should be noted that these three-dimensional image data do not change in
their basic state; that is, these data include static data consisting of
only basic objects such as a building and a road to be shared by a
plurality of users. If the basic state changes, it only reflects an
autonomous change in the state of a merry-go-round or a neon. The static
data are considered to be data that are not subject to update. The host A
has an information server terminal 10 (a basic server terminal). The
information server terminal 10 is adapted, when it receives a URL via the
network 15, to provide the information corresponding to the received URL,
namely a corresponding virtual reality space (in this case, a space
consisting of only basic objects).
It should be noted that, in FIG. 1, there is only one host, namely the host
A, which has an information server terminal for providing the virtual
reality space (consisting of only basic objects) of a specific area. It is
apparent that such a host may be installed in plural.
The host B has a shared server terminal 11. The shared server terminal 11
controls update objects that constitute a virtual reality space when put
in it. The update objects are avatars for example representing users of
the client terminals. Thus, the shared server terminal 11 allows a
plurality of users to share the same virtual reality space. It should be
noted, however, that the host B controls only the update objects located
in a virtual reality space for only a specific area (for example, Tokyo)
of the virtual reality spaces controlled by the host A. That is, the host
B is dedicated to the virtual reality space of a specific area. Also, it
should be noted that the network 15 is connected with, in addition to the
host B, a host, not shown, having a shared server terminal for controlling
update objects located in virtual reality spaces of other areas such as
New York and London, stored in the host A.
The host C, like the host A, constitutes a WWW system for example and
stores data including IP (Internet Protocol) addresses for addressing
hosts (shared server terminals) that control update objects like the host
B. Therefore, the shared server terminal addresses stored in the host C
are uniformly related with URLs as with the case of the host A as
mentioned above. In addition, the host C has a mapping server terminal 12
(a control server terminal). Receiving a URL via the network 15, the
mapping server terminal 12 provides the IP address of the shared server
terminal corresponding to the received URL via the network 15. It should
be noted that FIG. 1 shows only one host, namely the host C, which has the
mapping server terminal 12 for providing shared server terminal addresses.
It will be apparent that the host C can be installed in plural.
The client terminal 13 (13-1, 13-2 or 13-3) receives a virtual reality
space from the information server terminal 10 via the network 15 to share
the received virtual reality space with other client terminals (including
the service provider terminal 14), under the control of the shared server
terminal 11. Further, the client terminal 13 is also adapted to receive
specific services (information) using the virtual reality space from the
service provider terminal 14.
The service provider terminal 14, like the client terminal 13, receives a
virtual reality space to share the same with the client terminal 13 (if
there is another service provider terminal, it also shares this space).
Therefore, as far as the capability of this portion is concerned, the
service provider terminal 14 is the same as the client terminal 13.
Further, the service provider terminal 14 is adapted to provide specific
services to the client terminal 13. It should be noted that FIG. 1 shows
only one service provider terminal 14. It will be apparent that the
service provider terminal may be installed in plural.
The following briefly describes a WWW system constituted by the host A and
the host C. Referring to FIG. 2, WWW is one of the systems for providing
information from hosts X, Y, and Z to unspecified users (client terminals)
via the network 15 (the Internet in the case of WWW). The information that
can be provided in this system include not only texts but also graphics,
images (including still images and moving pictures), voices,
three-dimensional images, and hyper texts which combines all these
information.
In WWW, a URL, or a form for uniformly represent these pieces of
information is determined. Specifying a specific URL, each user can obtain
the information corresponding to the specified URL. As shown in FIG. 3,
each URL is composed of a protocol type for representing a service type
(http in the preferred embodiment of FIG. 3, which is equivalent to a
command for retrieving a file corresponding to a file name to be described
later and send the retrieved file), a host name indicating a destination
of the URL (in the embodiment of FIG. 3, www.csl.sony.co. jp), and a file
name of data to be sent (in the embodiment of FIG. 3, index.html) for
example.
Each user operates the client terminal to enter a URL for desired
information. When the URL is entered, the client terminal references a
host name, for example, contained in the URL. A link with a host (in the
embodiment of FIG. 2, the host X for example connected to the Internet)
addressed by the host name is established. Then, at the client terminal,
the URL is sent to the linked host, namely the host X, via the Internet,
requesting the host X for sending the information specified in the URL. In
the host X, an HTTP demon (httpd) is operating on the information server
terminal (the WWW server terminal). Receiving the URL, the information
server terminal sends back the information specified in the URL to the
client terminal via the Internet.
The client terminal receives the information from the information server
terminal to display the received information on its monitor as required.
Thus, the user can get the desired information.
Therefore, only storing in the host such data for describing elements
(objects) for constituting a virtual reality space as shapes of basic
objects (for example, a rectangular prism and a cone) and locations and
attributes (color and texture for example) of these basic objects allows
to provide the virtual reality space (consisting of only basic objects in
this case) to unspecified users. Namely, as long as the Internet is used
for the network 15 and WWW is used, virtual reality spaces can be provided
to unspecified users world-wide with ease and at a low cost because the
Internet itself already spans almost all over the world and the
description of the elements constituting each virtual reality space to be
stored in hosts does not require to make changes to information servers
(WWW server terminals) constituting WWW. It should be noted that the
service for providing the description of the elements constituting a
virtual reality space is upward compatible with existing services provided
by WWW.
Storing in a specific host (a mapping server terminal) the IP addresses of
other hosts as information also allows to provide the host IP addresses to
unspecified users world-wide with ease.
It should be noted that it is difficult for a plurality of users to share
the same virtual reality space if only the description (the data of
three-dimensional image for providing the virtual reality space of a
specific area) of elements constituting the virtual reality space is
stored in a host constituting WWW. Namely, in WWW, the information
corresponding to a URL is only provided to a user and therefore no control
for information transfer is performed. Hence, it is difficult to transfer
between users the above-mentioned change information of update objects by
using WWW without changing its design. Therefore, in the cyberspace system
of FIG. 1, the host B having the shared server terminal 11 and the host C
having the mapping server 12 are installed to allow a plurality of users
to share the same virtual reality space, details of which will be
described later.
Next, FIG. 4 shows an example of the constitution of the information server
terminal 10 that operates on the host A of FIG. 1. As shown in FIG. 4, the
information server terminal 10 has a CPU 81 which performs a variety of
processing operations according to a program stored in a ROM 82. In the
information server 10, the above-mentioned HTTP demon is operating in the
background. A RAM 83 stores data and program necessary for the CPU 81 to
perform the variety of processing operations. A communication device 84 is
adapted to transfer specific data with the network 15. A storage device 85
composed of a hard disc, an optical disc, and magneto-optical disc stores
the data of the three-dimensional images for providing a virtual reality
space of a specific area such as Tokyo or New York for example along with
URLs as mentioned above.
FIG. 5 shows an example of the constitution of the shared server terminal
11 operating on the host B of FIG. 1. As shown, the shared server terminal
has a CPU 21 which executes a variety of processing operations according
to a program stored in a ROM 22. A RAM 23 appropriately stores data and a
program necessary for the CPU 21 to execute the variety of processing
operations. A communication device 24 transfers specific data with the
network 15.
A display device 25 has a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal
Display) for example and is connected to interface 28 to monitor images of
the virtual reality space (composed of not only basic objects but also
update objects) of an area controlled by the shared server terminal 11.
The interface 28 is also connected with a microphone 26 and a loudspeaker
27 to supply a specific voice signal to the client terminal 13 and the
service provider terminal 14 and monitor a voice signal coming from these
terminals.
The shared server terminal 11 has an input device 29 on which a variety of
input operations are performed via the interface 28. This input device has
at least a keyboard 29a and a mouse 29b.
A storage device 30 composed of a hard disc, an optical disc, and a
magneto-optical disc stores data of the virtual reality space of an area
controlled by the shared server terminal 11. It should be noted that the
data of the virtual reality space are the same as those stored in the
storage device 85 of the information server terminal 10 (of FIG. 4). When
these data are displayed on the display device 25, the virtual reality
space of the area controlled by the shared server terminal 11 is
displayed.
FIG. 6 shows an example of the constitution of the mapping server terminal
12 operating on the host C of FIG. 1. Components CPU 91 through
communication device 94 are generally the same in constitution as those of
FIG. 4, so that the description of the components of FIG. 6 is omitted in
general. A storage device 95 stores addresses, along with URLS, for
identifying shared server terminals that control update objects (in the
embodiment of FIG. 1, only the shared server terminal 11 is shown;
actually, other shared server terminals, not shown, are connected to the
network 15).
FIG. 7 shows an example of the constitution of the client terminal 13
(actually, client terminals 13-1 through 13-3). The client terminal 13 has
a CPU 41 which executes a variety of processing operations according to a
program stored in a ROM 42. A RAM 43 appropriately stores data and a
program necessary for the CPU 41 to executes the variety of processing
operations. A communication device 44 transfers data via the network 15.
A display device 45 has a CRT or an LCD to display three-dimensional images
created by computer graphics or taken by an ordinary video camera. A
microphone 46 is used to output a voice signal to the shared server
terminal 11. A loudspeaker 47 outputs the voice signal coming from the
shared server terminal 11. An input device 49 is operated to perform a
variety of input operations.
A keyboard 49a of the input device 49 is operated when entering text
(including an URL) composed of specific characters and symbols. A mouse
49b is operated when entering specific positional information. A viewpoint
input device 49c and a movement input device 49d are operated when
changing the state of the avatar as an update object of the client
terminal 13. That is, the viewpoint input device 49c is used to enter the
viewpoint of the avatar of the client terminal 13, thereby moving the
viewpoint of the avatar vertically, horizontally or in the depth
direction. The movement input device is used to move the avatar in the
forward and backward direction or the right and left direction at a
specific velocity. It is apparent that the operations done through the
viewpoint and movement input devices may also be done through the
above-mentioned keyboard 49a and the mouse 49b.
A storage device 50 composed of a hard disc, an optical disc, and
magneto-optical disc stores avatars (update objects) representing users.
Further, the storage device 50 stores a URL (hereinafter appropriately
referred to as an address acquisition URL) for acquiring an IP address of
a shared server terminal for managing update objects to be located in the
virtual reality space of each area stored in the information server
terminal 10 (if there is an information server terminal other than the
information server terminal 10, that information server terminal is
included). The address acquisition URL is stored as associated with a URL
(hereinafter appropriately referred to as a virtual reality space URL)
corresponding to the data of the virtual reality space of that area. This
setup allows to obtain the address acquisition URL for acquiring the IP
address of the shared server terminal for controlling the virtual reality
space of that area when the virtual reality space URL for the data of the
virtual reality space for that area has been entered.
Interface 48 constitutes the data interface with a display device 45, a
microphone 46, a loudspeaker 47, an input device 49, and the storage
device 50.
FIG. 8 shows an example of the constitution of the service provider
terminal 14 of FIG. 1. The components including a CPU 51 through a storage
device 60 are generally the same as the components including the CPU 41
through the storage device 50 and therefore the description of the CPU 51
through the storage device 60 is omitted.
FIG. 9 shows schematically a virtual reality space that is provided by the
information server terminal 10 of FIG. 1 and can be shared by a plurality
of users under the control of the shared server terminal 11. As shown in
FIG. 9, this virtual reality space constitutes a town, in which avatar C
(avatar of the client terminal 13-1 for example) and avatar D (avatar of
the client terminal 13-2 for example) can move around.
Avatar C sees an image as shown in FIG. 10 for example from the position
and viewpoint in the virtual reality space. Namely, data associated with
the basic objects constituting the virtual reality space are provided to
the client terminal 13-1 from the information server terminal 10 to be
stored in a RAM 43 (or a storage device 50). Then, from the RAM 43 (or the
storage device 50), data are read out of a virtual reality space that can
be seen when the same is seen from specific viewpoint and position and the
read data are supplied to the display device 45. Then, when the viewpoint
and position of avatar C are changed by operating a viewpoint input device
49c and a movement input device 49d, data corresponding the change are
read from the RAM 43 (or the storage device 50) to be supplied to the
display device 45, thereby changing the virtual reality space (the
three-dimensional image) being displayed on the display device 45.
Further, data associated with another user's avatar (an update object)
(avatar D of FIG. 10) that can be seen when the virtual reality space is
seen from the current viewpoint and position are supplied to the client
terminal 13-1 from the shared server terminal 11. Based on the supplied
data, the display on the display device 45 is changed. Namely, in the
state of FIG. 9, since avatar C is looking in the direction of avatar D,
avatar D is displayed in the image (the virtual reality space) displayed
on the display device 45 of the client terminal 13-1 as shown in FIG. 10.
Likewise, an image as shown in FIG. 11 is displayed on the display device
45 of the client terminal 13-2 to which avatar D corresponds. This
displayed image is also changed by moving the viewpoint and position of
avatar D. It should be noted that, in FIG. 9, avatar D is looking in the
direction of avatar C, so that avatar C is displayed in the image (the
virtual reality space) on the display device 45 of the client terminal
13-2 as shown in FIG. 11.
The service provider terminal 14 controls a part of the sharable virtual
reality space provided by the information server terminal 10 and the
shared server terminal 11. In other words, the service provider purchases
a part of the virtual reality space from administrators (information
providers who provide information of the virtual reality space) of the
information server terminal 10 and the shared terminal 11. This purchase
is performed in the real space. Namely, upon request by a specific service
provider for the purchase of the virtual reality space, the administrators
of the information server terminal 10 and the shared server terminal 11
allocate a part of the requested virtual reality space to that specific
service provider.
For example, assume that the owner (service provider) of the service
provider terminal 14 lease a room in a specific building in the virtual
reality space and use the room as a shop for electric appliances. The
service provider provides information about commodities, for example
televisions, to be sold in the shop. Based on the information, the server
terminal administrator creates three-dimensional images of the televisions
by computer graphics and place the created images at specific positions in
the shop. Thus, the images to be placed in the virtual reality space have
been completed.
Similar operations are performed by other service providers to form the
virtual reality space as a big town for example.
FIG. 12 is a top view of a virtual reality space (a room in a building in
this example) to be occupied by the service provider owning the service
provider terminal 14. In this embodiment, one room of the building is
allocated to this service provider in which two televisions 72 and 73 are
arranged with a service counter 71 placed at a position shown. The service
provider of the service provider terminal 14 places his own avatar F
behind the service counter 71. It will be apparent that the service
provider can move avatar F to any desired position by operating a movement
input device 59d of the service provider terminal 14.
Now, assume that avatar C of the client terminal 13-1 has come in this
electric appliances shop as shown in FIG. 12. At this moment, an image as
shown in FIG. 13 for example is displayed on the display device 45 of the
client terminal 13-1, in correspondence to the position and viewpoint of
avatar C. If avatar F is located behind the service counter 71, an image
as shown in FIG. 14 is displayed on a display device 55 of the service
provider terminal 14. As shown in FIGS. 13 and 14, the image viewed from
avatar C shows avatar F, while the image viewed from avatar F shows avatar
C.
As shown in FIG. 13, the image viewed from avatar C shows a cursor 74 to be
used when a specific image is specified from the client terminal 13-1.
Likewise, as shown in FIG. 14, a cursor 75 is shown for the service
provider terminal 14 to specify a specific image.
Moving avatar C around the television 72 or 73 by operating the movement
input device 49d of the client terminal 13-1 displays on the display
device 45 the image corresponding to avatar C's moved position and
viewpoint. This allows the user to take a close look at the televisions as
if they were exhibited in a shop of the real world.
Also, when the user moves the cursor 74 by operating a mouse 49b and then
click on avatar F, a conversation request signal is transmitted to the
service provider terminal 14 corresponding to avatar F. Receiving the
conversation request signal, the service provider terminal 14 can output,
via a microphone 56, a voice signal to a loudspeaker 47 of the client
terminal 13-1 corresponding to avatar C. Likewise, entering a specific
voice signal from a microphone 46 of the client terminal 13-1 can transmit
user's voice signal to a speaker 57 of the service provider terminal 14.
Thus, the user and service provider can make conversation in a usual
manner.
It is apparent that the conversation can be requested from avatar F (the
service provider terminal 14) to avatar C (the client terminal 13-1).
When the cursor 74 is moved on the client terminal 13-1 and the image of
the television 72 for example is clicked, the information (the provided
information) describing the television 72 is provided in more detail. This
can be implemented by linking the data of the virtual reality space
provided by the information server terminal 10 with the description
information about the television. It is apparent that the image for
displaying the description information may be either three-dimensional or
two-dimensional.
The specification of desired images can be performed also from the service
provider terminal 14. This capability allows the service provider to offer
the description information to the user in a more active manner.
If the service provider specifies avatar C with the cursor 75 by operating
the mouse 59b, the image corresponding to the position and viewpoint of
avatar C, namely, the same image as displayed on the display device 45 of
the client terminal 13-1 can be displayed on the display device 55 of the
service provider terminal 14. This allows the service provider to know
where the user (namely avatar C) is looking at and therefore promptly
offer information needed by the user.
The user gets explanations about the products, or gets the provided
information or description information. If the user wants to buy the
television 72 for example, he can buy the same actually. In this case, the
user requests the service provider terminal 14 for the purchase via avatar
F. At the same time, the user transmits his credit card number for example
to the service provider terminal 14 (avatar F) via avatar C. Then, the
user asks the service provider terminal for drawing an amount equivalent
to the price of the television purchased. The service provider of the
service provider terminal 14 performs processing for the drawing based on
the credit card number and make preparations for the delivery of the
purchased product.
The images provided in the above-mentioned virtual reality space are
basically precision images created by computer graphics. Therefore,
looking at these images from every angle allows the user to make
observation of products almost equivalent to the observation in the real
world, thereby providing surer confirmation of products.
Thus, the virtual reality space contains a lot of shops, movie houses and
theaters for example. Because products can be actually purchased in the
shops, spaces installed at favorable locations create actual economic
values. Therefore, such favorable spaces themselves can be actually
(namely, in the real world) purchased or leased. This provides complete
distinction from the so-called television shopping system ordinarily
practiced.
The following describes the operations of the client terminal 13 (or the
service provider terminal 14), the information server terminal 10, the
mapping server terminal 12, and the shared server terminal 11 with
reference to the flowcharts of FIGS. 15 through 18.
Now, referring to FIG. 15, there is shown an example of processing by the
client terminal 13 (or the service provider terminal 14). In step S1, the
CPU 41 checks whether a virtual reality space URL has been entered or not.
If no virtual reality space URL has been found, the processing remains in
step S1. If a virtual reality space URL has been found in step S1, namely,
if a virtual reality space URL corresponding to a desired virtual reality
space entered by the user by operating the keyboard 49a has been received
by the CPU 41 via interface 48, the process goes to step S2. In step S2, a
WWW system is constituted as described with reference to FIG. 2 and the
virtual reality space URL is transmitted from the communication device 44
via the network 15 to the information server terminal of a specific host
(in this case, the information server terminal 10 of the host A for
example) that has the information server terminal, thereby establishing a
link.
Further, in step S2, an address acquisition URL related to the virtual
reality space URL is read from the storage device 50 to be transmitted
from the communication device 44 via the network 15 to the mapping server
terminal of a specific host (in this case, mapping server terminal 12 of
the host C for example) that constitutes the WWW system, thereby
establishing a link.
Then, the process goes to step S3. In step S3, data (three-dimensional
image data) of the virtual reality space or the IP address of the shared
server terminal 12 corresponding to the virtual reality space URL received
in step S2 or the address acquisition URL is received by the communication
device 44.
Namely, in step S2, the virtual reality space URL is transmitted to the
information server terminal 10. When this virtual reality space URL is
received by the information server terminal 10, the data of the
corresponding virtual reality space are transmitted to the client terminal
13 via the network 15 in step S22 of FIG. 16 to be described. Thus, in
step S3, the data of the virtual reality space transmitted from the
information server terminal 10 are received. It should be noted that the
received virtual reality space data are transferred to the RAM 43 to be
stored there (or first stored in the storage device 50 to be transferred
to the RAM 43).
Also, in step S2, the address acquisition URL is transmitted to the mapping
server terminal 12. When the address acquisition URL is received by the
mapping server terminal 12, the IP address of the shared server terminal
corresponding to the URL is transmitted to the client terminal 13 via the
network 15 in step S32 of FIG. 17 to be described. Thus, in step S3, the
IP address of the shared server terminal 12 transmitted from the mapping
server 12 is received.
As described above, the address acquisition URL related to the entered
virtual reality space URL corresponds to the IP address of the shared
server terminal that controls the update object placed in the virtual
reality space corresponding to that virtual reality space URL. Therefore,
for example, if the entered virtual reality space URL corresponds to a
virtual reality space of Tokyo and the shared server terminal 11 owned by
the host B controls the update objects placed in the Tokyo virtual reality
space, the IP address of the shared server terminal 11 is received in step
53. Consequently, the user can automatically get the location (the IP
address) of the shared server terminal that controls the virtual reality
space of a desired area even if the user does not know which shared server
terminal controls the update objects in a virtual reality space in which
area.
It should be noted that, in steps S2 and S3, the processing of transmitting
the virtual reality space URL and the address acquisition URL and
receiving the virtual reality space data and the IP address is actually
performed by transmitting the virtual reality space URL, receiving the
data of the corresponding virtual reality space, transmitting the address
acquisition URL, and then receiving the corresponding IP address in this
order by way of example.
When the virtual reality space data and the shared server terminal IP
address are received in step S3, the process goes to step S4. In step S4,
a connection request is transmitted from the communication device 44 via
the network 15 to the shared server terminal (in this case, the shared
server terminal 11 for example) corresponding to the IP address (the
shared server terminal IP address) received in step S3. This establishes a
link between the client terminal 13 and the shared server terminal 11.
Further, in step S4, after the establishment of the link, the avatar
(namely, the update object) representing oneself stored in the storage
device 50 is transmitted from the communication device 44 to the shared
server terminal 11.
When the shared server terminal 11 receives the user's avatar, the same is
then transmitted to the client terminals of other users existing in the
same virtual reality space (in this case, that of Tokyo as mentioned
above). Then, on the client terminals of other users, the transmitted
avatar is placed in the virtual reality space, thus implementing the
sharing of the same virtual reality space among a plurality of users.
It should be noted that, rather than providing the user's avatar from the
client terminal 11 to the shared server terminal 11, a predetermined
avatar may also be allocated from the shared server terminal 11 to each
user who accessed the same. Also, in the client terminal 13, the avatar of
the user himself who uses this terminal can be placed and displayed in the
virtual reality space, however, the user cannot see himself in the real
world, so that it is desirable for the user's avatar not be displayed on
that user's client terminal in order to make the virtual reality space as
real as possible.
When the processing of step S4 has been completed, the process goes to step
S5. In step S5, the data of the virtual reality space that can be seen
when the same is seen from specific viewpoint and position are read from
the RAM 43 by the CPU 41 to be supplied to the display device 45. Thus,
the specific virtual reality space is shown on the display device 45.
Then, in step S6, the communication device 44 determines whether update
information of another user's avatar has been sent from the shared server
terminal 11.
As described above, the user can update the position or viewpoint of his
own avatar by operating the viewpoint input device 49c or the movement
input device 49d. If the update of the position or viewpoint of the avatar
is instructed by using this capability, the CPU 41 receives the
instruction via the interface 48. According to the instruction, the CPU 41
performs processing for outputting positional data or viewpoint data
corresponding to the updated position or viewpoint as update information
to the shared server terminal 11. In other words, the CPU 41 controls the
communication device 44 to transmit the update information to the shared
server terminal 11.
Receiving the update information from the client terminal, the shared
server terminal 11 outputs the update information to other client
terminals in step S44 of FIG. 18 to be described. It should be noted the
shared server terminal 11 is adapted to transmit the avatar received from
the client terminal that requested for access to client terminals of other
users, this avatar being transmitted also as update information.
When the update information has come as mentioned above, it is determined
in step S6 that update information of the avatar of another user has come
from the shared server terminal 11. In this case, this update information
is received by the communication device 44 to be outputted to the CPU 41.
The CPU 41 updates the display on the display device 45 according to the
update information in step S7. That is, if the CPU 41 receives the
positional data or viewpoint data from another client terminal as update
information, the CPU 41 moves or changes (for example, the orientation of
the avatar) the avatar of that user according to the received positional
data or viewpoint data. In addition, if the CPU 41 receives the avatar
from another client terminal, the CPU 41 places the received avatar in the
currently displayed virtual reality space at a specific position. It
should be noted that, when the shared server terminal 11 transmits an
avatar as update information, the shared server terminal also transmits
the positional data and viewpoint data of the avatar along with the update
information. The avatar is displayed on the display device 45 according to
these positional data and viewpoint data.
When the above-mentioned processing has come to an end, the process goes to
step S8.
Meanwhile, if, in step S6, no update information of the avatar of another
user has come from the shared server terminal 11, the process goes to step
S8, skipping step S7. In step S8, the CPU 41 determines whether the
position or viewpoint of the avatar of the user of the client terminal 13
has been updated or not by operating the viewpoint input device 49c or the
movement input device 49d.
In step S8, if the CPU 41 determines that the avatar position or viewpoint
has been updated, namely, if the viewpoint input device 49c or the
movement input device 49d has been operated by the user, the process goes
to step S9. In step S9, the CPU 41 reads data of the virtual reality space
corresponding to the position and viewpoint of the avatar of the user
based on the entered positional data and viewpoint data, makes
calculations for correction as required, and generates the image data
corresponding to the correct position and viewpoint. Then, the CPU 41
outputs the generated image data to the display device 45. Thus, the image
(virtual reality space) corresponding to the viewpoint and position
entered from the viewpoint input device 49c and the movement input device
49d is displayed on the display device 45.
Further, in step S10, the CPU 41 controls the communication device 44 to
transmit the viewpoint data or the positional data entered from the
viewpoint input device 49c or the movement input device 49d to the shared
server terminal 11, upon which process goes to step S11.
Here, as described above, the update information coming from the client
terminal 13 is received by the shared server terminal 11 to be outputted
to other client terminals. Thus, the avatar of the user of the client
terminal 13 is displayed on the other client terminals.
On the other hand, in step S8, if CPU 41 determines that the avatar's
position or viewpoint has not been updated, the process goes to step S11
by skipping steps S9 and S10. In step S11, the CPU 41 determines whether
the end of the update data input operation has been instructed by
operating a predetermined key on the keyboard; if the end has not been
instructed, the process goes back to step S6 to repeat the processing.
Referring to the flowchart of FIG. 16, there is shown an example of the
processing by the information server terminal 10. First, the communication
device 84 determines in step S 21, whether a virtual reality space URL has
come from the client terminal 13 via the network 15. If, in step S 21, the
communication device 84 determines that no virtual reality space URL has
come, the process goes back to step S21. If the virtual reality space URL
has come, the same is received by the communication device 84, upon which
the process goes to step S22. In step S22, the data of the virtual reality
space related to the virtual reality space URL received by the
communication device 84 are read by the CPU 81 to be transmitted via the
network 15 to the client terminal 13 that transmitted the virtual reality
space URL. Then, the process goes back to step S21 to repeat the
above-mentioned processing.
FIG. 17 shows an example of the processing by the mapping server terminal
12. In the mapping server terminal 12, the communication device 94
determines in step S 31, whether an address acquisition URL has come from
the client terminal 13 via the network 15. If no address acquisition URL
has come, the process goes back to step S31. If the address acquisition
URL has come, the same is received by the communication device 94, upon
which the process goes to step 32. In step S32, the IP address (the IP
address of the shared server terminal) related to the address acquisition
URL received by the communication device 94 is read from the storage
device 95 by the CPU 91 to be transmitted via the network 15 to the client
terminal 13 that transmitted the address acquisition URL. Then, the
process goes back to step S31 to repeat the above-mentioned processing.
FIG. 18 shows an example of the processing by the shared server terminal
11. In the shared server terminal 11, the communication device 24
determines, in step S41, whether a connection request has come from the
client terminal 13 via the network 15. If no connection request has come,
the process goes to step S43 by skipping step S42. If the connection
request has come, that is, if the client terminal 13 has the connection
request to the shared server terminal 11 in step S4 of FIG. 15, the
communication link with the client terminal 13 is established by the
communication device 24, upon which the process goes to step S42.
In step S42, a connection control table stored in the RAM 23 is updated by
the CPU 21. Namely, it is necessary for the shared server terminal 11 to
recognize the client terminal 13 with which the shared server terminal 11
is linked, in order to transmit update information coming from the client
terminal 13 to other client terminals. To do so, when the communication
link with client terminals has been established, the shared server
terminal 11 registers the information for identifying the linked client
terminals in the connection control table. That is, the connection control
table provides a list of the client terminals currently linked to the
shared server terminal 11. The information for identifying the client
terminals include the source IP address transmitted from each client
terminal as the header of TCP/IP packet and a nickname of the avatar set
by the user of each client terminal.
Then, the process goes to step S43, in which the communication device 24
determines whether the update information has come from the client
terminal 13. If, in step S43, no update information has been found, the
process goes to step S45 by skipping step S44. If the update information
has been found, namely, if the client terminal 13 has transmitted, in step
S10 of FIG. 15, positional data and viewpoint data as the update
information to the shared server terminal 11 (or, in step S4 of FIG. 15,
the client terminal 13 has transmitted the avatar as the update
information to the shared server terminal 11 after transmission of the
connection request), the update information is received by the
communication device 24, upon which the process goes to step S44. In step
S44, the CPU 21 references the connection control table stored in the RAM
23 to transmit the update information received by the communication device
24 to other client terminals than the client terminal which transmitted
that update information. At this moment, the source IP address of each
client terminal controlled by the connection control table is used.
It should be noted that the above-mentioned update information is received
by the client terminal 13 in step S6 of FIG. 15 as described above.
Then, the process goes to step S45, in which the CPU 21 determines whether
the end of processing has been instructed by the client terminal 13. If
the end of processing has not been instructed, the process goes back to
S41 by skipping step S46. If the end of processing has been instructed,
the process goes to step S46. In step S46, the link with the client
terminal 13 from which the instruction has come is disconnected by the
communication device 24. Further, from the connection control table, the
information associated with the client terminal 13 is deleted by the CPU
21, upon which the process goes back to step S41.
Thus, the control of the update objects is performed by the shared server
terminal 11 and the control (or provision) of the basic objects is
performed by the information server terminal 10 constituting the WWW of
the Internet used world-wide, thereby easily providing virtual reality
spaces that can be shared by unspecified users world-wide. It should be
noted that the specifications of the existing WWW system need not be
modified to achieve the above-mentioned objective.
Provision of the virtual reality space data by use of the www system need
not create any new web browser because the transfer of these data can be
made using related art web browsers such as the Netscape Navigator
(trademark) offered by Netscape Communications, Inc. for example.
Moreover, because the IP address of the shared server terminal 11 is
provided by the mapping server terminal 12, the user can share a virtual
reality space with other users without knowing the address of the shared
server terminal.
In what follows, a procedure of communications between the client terminal
13, the information server terminal 10, the shared server terminal 11, and
the mapping server terminal 12 will be described with reference to FIG.
19. When the user desires to get a virtual reality space, the user enters
the URL (the virtual reality space URL) corresponding to the virtual
reality space of the desired area. Then, the entered URL is transmitted
from the client terminal 13 to the information server terminal 10 (httpd).
Receiving the URL from the client terminal 13, the information server
terminal 10 transmits the data (three-dimensional scene data representing
only basic objects) of the virtual reality space associated with the URL
to the client terminal 13. The client terminal 13 receives and display
these data.
It should be noted that, at this stage of processing, no link is
established between the client terminal 13 and the shared server terminal
11, so that the client terminal 13 does not receive update information;
therefore, a virtual reality space composed of only basic objects, namely
a virtual reality space shown only a still street for example, is shown
(that is, no update objects such as avatars of other users are displayed).
Further, the address acquisition URL related to the virtual reality space
URL is transmitted from the client terminal 13 to the mapping server
terminal 12. The mapping server terminal 12 receives the address
acquisition URL to transmit the IP address (the IP address of a shared
server terminal controlling update objects located in the virtual reality
space of the area related to the virtual reality space URL, for example,
the shared server terminal 11) related to the received address acquisition
URL to the client terminal 13.
Here, it is possible that the IP address related to the address acquisition
URL transmitted by the client terminal 13 is not registered in the mapping
server terminal 12. Namely, a shared server terminal for controlling the
update objects located in the virtual reality space of the area related to
the virtual reality space URL may not be installed or operating for
example. In such a case, the IP address of the shared server terminal
cannot be obtained, so that a virtual reality space composed of only basic
objects, a virtual reality space showing only a still street for example,
is displayed. Therefore, in this case, sharing of a virtual reality space
with other users is not established. Such a virtual reality space can be
provided only by storing the virtual reality space data (namely, basic
objects) in an information server terminal (a WWW server terminal) by the
existing WWW system. This denotes that the cyberspace system according to
the present invention is upward compatible with the existing WWW system.
Receiving the IP address (the IP address of the shared server terminal 11)
from the mapping server terminal 12, the client terminal 13 transmits a
connection request to a shared server terminal corresponding to the IP
address, namely the shared server terminal 11 in this case. Then, when a
communication link is established between the client terminal 13 and the
shared server terminal 11, the client terminal 13 transmits the avatar
(the three-dimensional representation of the user) representing itself to
the shared server terminal 11. Receiving the avatar from the client
terminal 13, the shared server terminal 11 transmits the received avatar
to the other client terminals linked to the shared server terminal 11. At
the same time, the shared server terminal 11 transmits the update objects
(shapes of shared three-dimensional objects), the other users' avatars,
located in the virtual reality space of the area controlled by the shared
server terminal 11, to the client terminal 13.
In the other client terminals, the avatar of the user of the client
terminal 13 is placed in the virtual reality space to appear on the
monitor screens of the other client terminals. In the client terminal 13,
the avatars of the other client terminals are placed in the virtual
reality space to appear on its monitor screen. As a result, all the users
of the client terminals linked to the shared server terminal 11 share the
same virtual reality space.
Then, when the shared server terminal 11 receives the update information
from other client terminals, transmits the received update information to
the client terminal 13. Receiving the update information, the client
terminal 13 changes the display (for example, the position of the avatar
of another user is changed). When the state of the avatar of the user of
the client terminal 13 is changed by that user, the update information
reflecting that change is transmitted from the client terminal 13 to the
shared server terminal 11. Receiving this update information, the shared
server terminal 11 transmits the same to the client terminals other than
the client terminal 13. Thus, on these other client terminals, the state
of the avatar of the user of the client terminal 13 is changed accordingly
(namely, the state of the avatar is changed as the same has been changed
by the user of the client terminal 13 on the same).
Subsequently, the processing in which the client terminal 13 transmits the
update information about the avatar of its own and receives the update
information from the shared server terminal 11 to change the display based
on the received update information continues until the connection with the
shared server terminal 11 is disconnected.
Thus, the sharing of the same virtual reality space is established by
transferring the update information via the shared server terminal 11
among the users. Therefore, if the shared server terminal 11 and the
client terminal 13 are located remotely, there occurs a delay in the
communication between these terminals, deteriorating the response in the
communication. To be more specific, if the shared server terminal 11 is
located in US for example and users in Japan are accessing the same,
update information of user A in Japan is transmitted to user B in Japan
via US, thereby taking time until a change made by user A is reflected in
user B.
To overcome such a problem, rather than installing only one shared server
terminal in the world, a plurality of shared server terminals are
installed all over the world. And the IP addresses of the plurality of
shared server terminals are registered in the mapping server terminal 12
to make the same provide the IP address of the shared server terminal in
the geographical proximity to the client terminal 13.
To be more specific, as shown in FIG. 20, a shared server terminals W1 and
W2 for controlling the update objects placed in a virtual reality space (a
three-dimensional space) such as an amusement park are installed in Japan
and US respectively by way of example. When the users in Japan and US have
received the data of the amusement park's virtual reality space, each user
transmits an address acquisition URL related to a virtual reality space
URL corresponding to the amusement park's virtual reality space to the
mapping server terminal 12 (the same address acquisition URL is
transmitted from all users). At this moment, the users in Japan transmit
the IP address of the shared server terminal W1 installed in Japan to the
mapping server terminal 12, while the users in US transmit the IP address
of the shared server terminal W2 installed in US to the mapping server
terminal 12.
Here, the mapping server terminal 12 identifies the installation locations
of the client terminals that transmitted the address acquisition URLs to
the mapping server terminal in the following procedure.
In the communication in TCP/IP protocol, a source IP address and a
destination IP address are described in the header of a TCP/IP packet.
Meanwhile, an IP address is made up of 32 bits and normally expressed in a
decimal notation delimited by dot in units of eight bits. For example, an
IP is expressed in 43.0.35.117. This IP address provides an address which
uniquely identifies a source or destination terminal connected to the
Internet. Because an IP address expressed in four octets (32 bits) is
difficult to remember, a domain name is used. The domain name system (DNS)
is provided to control the relationship between the domain names assigned
to the terminals all over the world and their IP addresses. The DNS
answers a domain name for a corresponding IP address and vice versa. The
DNS functions based on the cooperation of the domain name servers
installed all over the world. A domain name is expressed in "hanaya@ipd.
sony.co.jp" for example, which denotes a user name, a host name, an
organization name, an organization attribute, and country name (in the
case of US, the country name is omitted) in this order. If the country
name of the first layer is "jp", that terminal is located in Japan. If
there is no country name, that terminal is located in US.
Using a domain name server 130 as shown FIG. 23, the mapping server
terminal 12 identifies the installation location of the client terminal
that transmitted the address acquisition URL to the mapping server
terminal.
To be more specific, the mapping server terminal asks the domain name
server 130 controlling the table listing the relationship between the
source IP addresses of the requesting client terminal and the domain names
assigned with the IP addresses for the corresponding domain name. Then,
the mapping server terminal identifies the country in which a specific
client terminal is installed based on the first layer of the domain name
of the client terminal obtained from the domain name server 130.
In this case, since the client terminal used by each user and its shared
server terminal are located in geographical proximity to each other, the
above-mentioned problem of a delay, or the deterioration of response time
is solved.
In this case, the virtual reality space provided to the users in Japan and
US is the same amusement park's virtual reality space as mentioned above.
However, since the shared server terminals that control the sharing are
located in both countries, the sharing by the users in Japan is made
independently of the sharing by the users in US. Namely, the same virtual
reality space is shared among the users in Japan and shared among the
users in US. Therefore, in this case, the same virtual reality space is
provided from the information server terminal 10, but separate shared
spaces are constructed among the users in both countries, thereby enabling
the users to make a chat in their respective languages.
However, it is possible for the users of both countries to share the same
virtual reality space by making connection between the shared server
terminals W1 and W2 to transfer update information between them.
The deterioration of response also occurs when the excess number of users
access the shared server terminal 11. This problem can be overcome by
installing a plurality of shared server terminals for controlling the
update objects placed in the virtual reality space in the same area in
units of specific areas, for example, countries or prefectures and making
the mapping server terminal 12 provide the addresses of those shared
server terminals which are accessed less frequently.
To be more specific, a plurality of shared server terminals W3, W4, W5, and
so on are installed and the mapping server terminal 12 is made provide the
IP address of the specific shared server terminal W3 for example for
specific URLS. Further, in this case, communication is performed between
the mapping server terminal 12 and the shared server terminal W3 for
example to make the shared server terminal W3 transmit the number of
client terminals accessing the shared server terminal W3 to the mapping
server terminal 12. Then, when the number of client terminals accessing
the shared server terminal W3 has exceeded a predetermined level (100
terminals for example, which do not deteriorate the response of the shared
server terminal W3) and if the mapping server terminal 12 has received
another URL, the mapping server terminal 12 provides the IP address of
another shared server terminal W4 for example (it is desired that the W4
be located in the proximity to the shared server terminal W3).
It should be noted that, in this case, the shared server terminal W4 may be
put in the active state in advance; however, it is also possible to start
the shared server W4 when the number of client terminals accessing the
shared server W3 has exceeded a predetermined value.
Then, communication is performed between the mapping server terminal 12 and
the shared server terminal W4. When the number of client terminals
accessing the shared server terminal W4 has exceeded a predetermined
value, and the mapping server terminal 12 has received another URL, the
mapping server terminal 12 provides the IP address of the shared server
terminal W5 (however, if the number of client terminals accessing the
shared server terminal W3 has dropped below the predetermined level, the
mapping server terminal 12 provides the IP address of the w3).
This setup protects each of the shared server terminals W3, w4, W5 and so
on from application of excess load, thereby preventing the deterioration
of response.
It should be noted that the above-mentioned capability can be implemented
by controlling by the mapping server terminal 12 the IP addresses of
shared server terminals to be outputted for specific URLs, so that the
client terminal 13 and the software operating on the same need not be
modified.
The present embodiment has been described by taking the user's avatar for
example as the update object to be controlled by the shared server
terminal 11; it is also possible to make the shared server terminal
control any other update objects than avatars. It should be noted,
however, that the client terminal 13 can also control update objects in
some cases. For example, an update object such as a clock may be
controlled by the client terminal 13 based on the built-in clock of the
same, updating the clock.
Further, in the present embodiment, the hosts A through C, the client
terminals 13-1 through 13-3, and the service provider terminal 14 are
interconnected via the network 15, which is the Internet; however, in
terms of using the existing WWW system, the host A having the information
server terminal 10 or the host C having the mapping server terminal 12 may
only be connected with the client terminal 13 via the Internet. Further,
if the user recognizes the address of the shared server terminal 11 for
example, the host A having the information server terminal 10 and the
client terminal 13 may only be interconnected via the Internet.
In addition, in the present embodiment, the information server terminal 10
and the mapping server terminal 12 operate on different hosts; however, if
the WWW system is used, these server terminals may be installed on the
same host. It should be noted that, if the WWW system is not used, the
information server terminal 10, the shared server terminal 11, and the
mapping server terminal 12 may all be installed on the same host.
Still further, in the present embodiment, the data of the virtual reality
spaces for each specific area are stored in the host A (namely, the
information server terminal 10); however, these data may also be handled
in units of a department store or an amusement park for example.
In the above-mentioned preferred embodiments of the invention, the basic
objects are supplied to each client terminal 13 via the network 15;
however, it is also possible to store the basic objects in an information
recording medium such as a CD-ROM and distribute the same to each user in
advance. In this case, each client terminal 13 is constituted as shown in
FIG. 21. To be more specific, in the embodiment of FIG. 21, a CD-ROM drive
100 is connected to the interface 48 to drive a CD-ROM 101 in which a
virtual reality composed of basic objects is stored. The other part of the
constitution is the same as that of FIG. 7.
Thus, provision of the data of basic objects from the CD-ROM 101 eliminates
the time for transferring the data via the network 15, increasing
processing speed.
Alternatively, the data of basic objects supplied from the information
server terminal 10 may be stored in the storage device 50 only for the
first time to be subsequently read for use.
Namely, the basic object data can be stored in the storage device 85 of the
information server terminal 10 (for the cases 1 through 3), the storage
device 50 of the client terminal 13 (for the cases 4 through 6) or the
CD-ROM 101 of the client terminal 13 (for the cases 7 through 9).
On the other hand, the update object data can be stored in the storage
device 85 of the information server terminal 10 (for the case 1) or the
storage device 30 of the shared server terminal 11 (for the cases 2
through 9). In the case in which the update object data are stored in the
shared server terminal 11, that shared server terminal may be the shared
server terminal 11-1 in Japan (for the case 2, 5 or 8) or the shared
server terminal 11-2 in US (for the case 3, 6 or 9) as shown in FIG. 23
for example. In this instance, the URL of the update object data is stored
on the mapping server terminal 12.
If the update object data are stored on the information server terminal 10,
the URL of the update object data is the default URL controlled by the
information server terminal 10 (in the case of 1). Or if the shared server
terminal 11 is specified by the user manually, the URL of update object
data is the specified URL (in the case of 4 or 7).
Referring to FIG. 23, the data in each of the above-mentioned cases in FIG.
22 flows as follows. In the case 1, the basic object data are read from a
VRML file (to be described later in detail) stored in an HDD (Hard Disk
Drive), storage device of a WWW server terminal 121 operating as the
information server terminal 10 to be supplied to the client terminal 13-1
for example via the Internet 15A operating as the network 15. The storage
device of the WWW server terminal 121 also stores update object data. To
be more specific, when the basic object data are read in the WWW server
terminal 121, the URL of the corresponding update object data is stored as
the default URL in the storage device of the WWW server terminal 121 in
advance. From this default URL, the update object data are read to be
supplied to the client terminal 13-1.
In the case 2, the basic object data are supplied from the WWW server
terminal 121 to the client terminal 13-1 in Japan via the Internet 15A. On
the other hand, the update object data are supplied from the shared server
terminal 11-1 in Japan specified by the mapping server terminal 12 to the
client terminal 13-1 via the Internet 15A.
In the case 3, the basic object data are supplied from the WWW server
terminal 121 to the client terminal 13-2 in US via the Internet 15A. The
update object data are supplied from the shared server terminal 11-2 in US
specified by the mapping server terminal 12 via the Internet 15A.
In the case 4, the basic object data are stored in advance in the storage
device 50 of the client terminal 13-1 in Japan for example. The update
object data are supplied from the shared server terminal 11-2 in US for
example specified by the client terminal 13-1.
In the case 5, the basic object data are stored in advance in the storage
device 50 of the client terminal 13-1. The update object data are supplied
from the shared server terminal 11-1 in Japan specified by the mapping
server terminal 12 via the Internet 15A.
In the case 6, the basic object data are stored in advance in the storage
device 50 of the client terminal 13-2 in US. The update object data are
supplied from the shared server terminal 11-2 in US specified by the
mapping server terminal 12 to the client terminal 13-2 via the Internet
15A.
In the case 7, the basic object data stored in the CD-ROM 101 are supplied
to the client terminal 13-1 in Japan for example via the CD-ROM drive 100.
The update object data are supplied from the shared server terminal (for
example, the shared server terminal 11-1 or 11-2) specified by the client
terminal 13-1.
In the case 8, the basic object data are supplied from the CD-ROM 101 to
the client terminal 13-1. The update object data are supplied from the
shared server terminal 11-1 in Japan specified by the mapping server
terminal 12 in Japan.
In the case 9, the basic object data are supplied from the CD-ROM 101 to
the client terminal 13-2 in US. The update object data are supplied from
the shared server terminal 11-2 in US specified by the mapping server
terminal 12 via the Internet 15A.
In what follows, the software for transferring the above-mentioned virtual
reality space data to display the same on the display device. In the WWW
system, document data are transferred in a file described in HTML (Hyper
Text Markup Language). Therefore, text data are registered as an HTML
file.
On the other hand, in the WWW system, three-dimensional graphics data are
transferred for use by describing the same in VRML (Virtual Reality
Modeling Language) or E-VRML (Enhanced Virtual Reality Modeling Language).
Therefore, as shown in FIG. 24 for example, a WWW server terminal 112 of
remote host 111 constituting the above-mentioned information server
terminal 10, the shared server terminal 11 or the mapping server terminal
12 stores in its storage device both HTML and E-VRML files.
In an HTML file, linking between different files is performed by URL. In a
VRML or E-VRML file, such attributes as WWW Anchor and WWW Inline can be
specified for objects. WWW Anchor is an attribute for linking a hyper text
to an object, a file of link destination being specified by URL. WWW
Inline is an attribute for describing an external view of a building for
example in parts of external wall, roof, window, and door for example. An
URL can be related to each of the parts. Thus, also in VRML or E-VRML
files, link can be established with other files by means of WWW Anchor or
WWW Inline.
For application software (a WWW browser) for notifying a WWW server
terminal of a URL entered in a client terminal in the WWW system to
interpret and display an HTML file coming from the WWW server terminal,
Netscape Navigator (register trade name) (hereafter referred to simply as
Netscape) of Netscape Communications, Inc. is known. For example, the
client terminal 13 also uses Netscape to user the capability for
transferring data with the WWW server terminal.
It should be noted, however, that this WWW browser can interpret an HTML
file and display the same; but this WWW browser cannot interpret and
display a VRML or E-VRML file although it can receive these files.
Therefore, a VRML browser is required which can interpret a VRML file and
an E-VRML file and draw and display them as a three-dimensional space.
Details of VRML are disclosed in the Japanese translation of "VRML:
Browsing & Building Cyberspace," Mark Pesce, 1995, New Readers Publishing,
ISBN 1-56205-498-8, the translation being entitled "Getting to Know VRML:
Building and Browsing Three-Dimensional Cyberspace," translated by Kouichi
Matsuda, Terunao Gamaike, Shouichi Takeuchi, Yasuaki Honda, Junichi
Rekimoto, Masayuki Ishikawa, Takeshi Miyashita and Kazuhiro Hara,
published March 25, 1996, Prenticehall Publishing, ISBN4-931356-37-0.
The applicant hereof developed Community Place (trademark) as application
software that includes this VRML browser.
Community Place is composed of the following three software programs:
(1) Community Place Browser
This is a VRML browser which is based on VRML 1.0 and prefetches the
capabilities (motion and sound) of VRML 2.0 to support E-VRML that
provides moving picture capability. In addition, this provides the
multi-user capability which can be connected to Community Place Bureau.
For the script language, TCL/TK is used.
(2) Community Place Conductor
This is a VRML authoring system which is based on E-VRML based on VRML 1.0.
This tool can not only simply construct a three-dimensional world but also
give a behavior, a sound, and an image to the three-dimensional world with
ease.
(3) Community Place Bureau
This is used for a server terminal system for enabling people to meet each
other in a virtual reality space constructed on a network, connected from
the Community Place Browser.
In the client terminals 13-1 and 13-2 shown in FIG. 23, Community Place
Bureau Browser is installed in advance and executed. In the shared server
terminals 11-1 and 11-2, Community Place Bureau is installed in advance
and executed. FIG. 25 shows an example in which Community Place Bureau
Browser is installed from the CD-ROM 101 and executed on the client
terminal 13-1 and, in order to implement the shared server terminal
capability and the client terminal capability on a single terminal,
Community Place Bureau and Community Place Bureau Browser are installed
from the CD-ROM 101 in advance and executed.
As shown in FIG. 24, Community Place Bureau Browser transfers a variety of
data with Netscape as a WWW browser based on NCAPI (Netscape Client
Application Programming Interface) (trademark).
Receiving an HTML file and a VRML file or E-VRML file from the WWW server
terminal 112 via the Internet, Netscape stores the received files in the
storage device 50. Netscape processes only the HTML file. The VRML or
E-VRML file is processed by Community Place Bureau Browser.
E-VRML is an enhancement of VRML 1.0 by providing behavior and multimedia
(sound and moving picture) and was proposed to the VRML Community,
September 1995, as the first achievement of the applicant hereof. The
basic model (event model) for describing motions as used in E-VRML was
inherited to the Moving Worlds proposal, one the VRML 2.0 proposals.
In what follows, Community Place Bureau Browser will be outlined. After
installing this browser, selecting "Manual" from "Community Place Folder"
of "Program" of the start menu of Windows 95 (trademark) (or in Windows NT
(trademark), the Program Manager) displays the instruction manual of the
browser.
It should be noted that Community Place Browser, Community Place Conductor,
Community Place Bureau, and the files necessary for operating these
software programs are recorded in a recording medium such as the CD-ROM
101 to be distributed as a sample.
Operating environment of the browser:
The operating environment of the browser is as shown in FIG. 26. The
minimum operating environment must be at least satisfied. However,
Netscape Navigator need not be used if the browser is used as a standalone
VRML browser. In particular, on using in the multi-user, the recommended
operating environment is desirable.
Installing the browser:
The browser can be usually installed in the same way as Netscape is
installed. To be more specific, vscplb3a.exe placed in the .backslash.Sony
(trademark) directory of the above-mentioned CD-ROM 101 is used as follows
for installation.
(1) Double-click vscplb3a.exe. The installation package is decompressed
into the directory indicated by "Unzip To Directory" column. The
destination directory may be changed as required.
(2) Click "Unzip" button. And the installation package is decompressed.
(3) "12 files unzipped successfully" appears. Click "OK" button.
(4) When "Welcome" windows appeared, click "NEXT" button.
(5) Carefully read "Software License Agreement." If agreed, press "Yes"
button; if not, press "No" button.
(6) Check the directory of installation. Default is "Program Files
Sony.backslash.community Place."
(7) If use of the above-mentioned directory is not wanted, press "Browse"
button and select another directory. Then, press "Next" button.
(8) To read "readme" file here, click "Yes" button.
(9) When the installation has been completed, click "OK" button.
Starting the browser:
Before starting the browser, setting of Netscape Navigator must be
performed. If the browser is used standalone, this setting need not be
performed; just select "Community Place Folder . . . Community Place" of
"Program" of the start menu and start. The following setting may be
automatically performed at installation.
(1) From "Options" menu of Netscape Navigator, execute "General Preference"
and open "Preference" window. From the upper tab, select "Helper
Applications."
(2) Check "File type" column for "x-world/x-vrml". If it is found, go to
(4) below.
(3) Click "Create New Type" button. Enter "xworld" in "Mime Type" column
and "x-vrml" in "Mime SubType" column. Click "OK" button. Enter "wrl" in
"Extensions" column.
(4) Click "Launch the Application:" button. Enter the path name of
Community Place Browser in the text column below this button. Default is
".backslash.Program Files.backslash.Sony.backslash.Community
Place.backslash.bin.backslash.vscp.exe".
(5) Click "OK" button.
Thus, the setting of Netscape Navigator has been completed. Start the
browser as follows:
(1) In "File.Open File" menu of Netscape, read "readme.htm" of the sample
CD-ROM 101.
(2) Clicking the link to the sample world, and Community Place is
automatically started, loading the sample world from the CD-ROM 101.
Uninstalling the browser:
Execute "Uninstall" from "Community Place Folder" of "Program" of the start
menu (or in Windows NT, the Program Manager), the browser will be
uninstalled automatically.
Operating the browser:
The browser may be operated intuitively with the mouse 49b, the keyboard
49a, and the buttons on screen.
Moving around in the three-dimensional space:
In the three-dimensional space provided by VRML, such movements done in
real world as forward, backward, rotate right and rotate left for example
can be done. The browser implements such movements through the following
interface:
By keyboard:
Each of the arrow keys, not shown, on the keyboard 49a generates the
following corresponding movement:
______________________________________
.fwdarw. rotate right;
.rarw. rotate left;
.uparw. move forward; and
.dwnarw. move backward.
______________________________________
By mouse:
Operate the mouse all with its left button.
(1) Keep the left button of the mouse 49b pressed in the window of
Community Place and move the mouse to the right for rotate right;to the
left for rotate left;up for forward; and down for backward. The velocity
of movement depends on the displacement of the mouse.
(2) With the Ctrl (Control) key, not shown, on the keyboard 49a kept
pressed, click an object on screen to get to the front of the clicked
object.
The following precautions are needed:
If a collision with an object occurs, a collision sound is generated and
the frame of screen blinks in red. If this happens, any forward movement
is blocked. Moving directions must be changed.
If the user is lost or cannot see anything in the space, click "Home"
button on the right of screen, and the user can return to the home
position.
Jumping eye:
While navigating through a three-dimensional space, the user may be lost at
occasions. If this happens, the user can jump up to have an overhead view
around.
(1) Click "Jump" button on the right of screen, and the user enters the
jumping eye mode and jump to a position from which the user look down the
world.
(2) Click "Jump" button again, and the user goes down to the original
position.
(3) Alternatively, click any place in the world, and the user gets down to
the clicked position.
Selecting an object:
When the mouse cursor is moved around on the screen, the shape of the
cursor is transformed into a grabber (hand) on an object. In this state,
click the left button of the mouse, and the action of the grabbed object
can be called.
Loading a VRML file:
A VRML file can be loaded as follows:
In Netscape, click the link to the VRML file;
From "File..Open File" menu of Community Place Bureau, select the file
having extension "wrl" on disc.
In "File..Open URL" menu of Community Place Bureau, enter the URL.
Click the object in the virtual space for which "URL" is displayed on the
mouse cursor.
Operating toolbar buttons:
Buttons in the toolbar shown in FIG. 30 for example may be used to execute
frequently used functions.
"Back" Go back to the world read last.
"Forward" Go to the world after going back to the previous world.
"Home" Move to the home position.
"Undo" Return a moved object to the original position (to be described
later).
"Bookmark" Attach a book to the current world or position.
"Scouter" Enter in the scouter mode (to be described later).
"Jump" Enter in the jump eye mode.
Scouter mode:
Each object placed in a virtual world may have a character string as
information by using the E-VRML capability.
(1) Click "Scouter" button on the right of screen, and the user enters the
scouter mode.
(2) When the mouse cursor moves onto an object having an information label,
the information label is displayed.
(3) Click "Scouter" button again, and the user exits the scouter mode.
Moving an object around:
With "Alt" (Alternate) key, not shown, on the keyboard 49a pressed, press
the left button of the mouse 49b on a desired object, and the user can
move that object to a desired position with the mouse. This is like moving
a coffee cup for example on s desk with the hand in the real world. In the
virtual reality, however, objects that can be moved are those having
movable attributes. It should be noted that a moved object may be restored
to the position before movement only once by using "Undo" button.
Connecting to a multi-user server terminal:
This browser provides a multi-user capability. The multi-user capability
allows the sharing of a same VRML virtual space among a plurality of
users. Currently, the applicant hereof is operating Community Place Bureau
in the Internet on an experimental basis. By loading a world called
chatroom the server terminal can be connected to share a same VRML virtual
space with other users, walking together, turning off a room light, having
a chat, and doing other activities.
This capability is started as follows:
(1) Make sure that the user's personal computer is linked to the Internet.
(2) Load the Chatroom of the sample world into Community Place Browser.
This is done by loading ".backslash.Sony.backslash.readme.htm" from the
sample CD-ROM 101 clicking "Chat Room".
(3) Appearance of "Connected to VS Server" in the message window indicates
successful connection.
Thus, the connection to the server has been completed. Interaction with
other users is of the following two types:
Telling others of an action:
This is implemented by clicking any of "Hello", "Smile", "Wao|", "Wooo||",
"Umm . . . ", "Sad", "Bye" and so on in the "Action" window. The actions
include rotating the user himself (avatar) right or left 36 degrees, 180
degrees or 360 degrees.
Talking with others:
This capability is implemented by opening the "Chat" window in "View.Chat"
menu and entering a message from the keyboard 49a into the bottom input
column.
Multi-user worlds:
The following three multi-user worlds are provided by the sample CD-ROM
101. It should be noted that chat can be made throughout these three
worlds commonly.
(1) Chat Room
This is a room in which chat is made mainly. Some objects in this room are
shared among multiple users. There are objects which are made gradually
transparent every time the left button of the mouse is pressed, used to
turn off room lights, and hop when clicked, by way of example. Also, there
are hidden holes and the like.
(2) Play with a ball||
When a ball in the air is clicked, the ball flies toward the user who
clicked the ball. This ball is shared by all users sharing that space to
play catch.
(3) Share your drawing
A whiteboard is placed in the virtual space. When it is clicked by the left
button, the shared whiteboard is displayed. Dragging with the left button
draws a shape on the whiteboard, the result being shared by the users
sharing the space.
Use of Community Place Bureau allows the users using Community Place
Browser to enter together a world described in VRML 1.0. To provide a
three-dimensional virtual reality space for enabling this capability, a
file described in VRML 1.0 must be prepared. Then, the Bureau (Community
Place Bureau being hereinafter appropriately referred to simply as the
Bureau) is operated on an appropriate personal computer. Further, a line
telling the personal computer on which Bureau is operating is added to the
VRML 1.0 file. The resultant VRML file is read into Community Place
Browser (hereinafter appropriately referred to simply as the Browser), the
Browser is connected to the Bureau.
If this connection is successful, the users in the virtual world can see
each other and talk each other. Further, writing an appropriate script
into the file allows each user to express emotions through a use of action
panel ("Action" part in a multi-user window 202 of FIG. 29 to be
described).
Community Place Browser provides interface for action description through
use of TCL. This interface allows each user to provide behaviors to
objects in the virtual world and, if desired, make the resultant objects
synchronize between the Browsers. This allows a plurality of users to play
a three-dimensional game if means for it are prepared.
To enjoy a multi-user virtual world, three steps are required, preparation
of a VRML file, start of the Bureau, and connection of the Browser.
Preparing a VRML file:
First, a desired VRML. 1.0 file must be prepared. This file is created by
oneself or a so-called freeware is used for this file. This file presents
a multi-user virtual world.
Starting the Bureau:
The operating environment of Community Place Bureau is as follows:
______________________________________
CPU . . . 486 SX or higher
OS . . . Window 95
Memory . . . 12 MB or higher
______________________________________
This Bureau can be started only by executing the downloaded file. When the
Community Place Bureau is executed, only a menu bar indicating menus is
displayed as shown in FIG. 27. Just after starting, the Bureau is in
stopped state. Selecting "status" by pulling down "View" menu displays the
status window that indicates the current the Bureau state. At the same
time, a port number waiting for connection is also shown.
Immediately after starting, the Bureau is set such that it waits for
connection at TCP port No. 5126. To change this port number, pull down
"options" menu and select "port". When entry of a new port number is
prompted, enter a port number 5000 or higher. If the user does not know
which port number to enter, default value (5126) can be used.
To start the Bureau from the stopped state, pull down "run" menu and select
"start". The server terminal comes to be connected at the specified port.
At this moment, the state shown in "status" window becomes "running".
Thus, after completion of the bureau preparations, when the Browser comes
to connect to the Bureau, it tells the position of the Browser to another
Browser or transfers information such as conversation and behavior.
The "status" window of the Bureau is updated every time connection is made
by the user, so that using this window allows the user to make sure of the
users existing in that virtual world.
Connection of the Browser:
Connection of the Browser requires the following two steps. First, instruct
the Browser to which Bureau it is to be connected. This is done by writing
an "info" node to the VRML file. Second, copy the user's avatar file to an
appropriate direction so that you can be seen from other users.
Adding to a VRML file:
When writing a line specifying the Bureau to be connected to the VRML file,
a name of the personal computer on which the Bureau is operating and the
port number must be specified in the following format:
DEF VsServer Into {string"server name:port number"}
The server terminal name is a machine name as used in the Internet on which
the Bureau is operating (for example, fred.research.sony.com) or its IP
address (for example, 123.231.12.1). The port number is one set in the
Bureau.
Consequently, the above-mentioned format becomes as follows for example:
DEF VsServer Info {string"fred.research.sony.com:5126"}
In the example of FIG. 25, the IP address of the shared server terminal
11-1 is 43.0.35.117, so that the above-mentioned format becomes as
follows:
DEF VsServer Info {string"43.0.35.117:5126"}
This is added below the line shown below of the prepared VRML file:
#VRML V1.0 ascii
Copying an avatar file:
When community Place Browser gets connected to Community Place Bureau, the
former notifies the latter of its avatar. When a specific avatar meets
another, the Bureau notifies the other Browsers of the meeting information
to make the specific avatar be displayed on the other Browsers. For this
reason, it is required to copy the VRML file of the specific avatar to an
appropriate place in advance.
The following further describes the operation of the browser (Community
Place Browser).
In the following description, the description format of VRML 2.0 (The
Virtual Reality Modeling Language Specification Version 2.0) publicized on
Aug. 4, 1996 is presupposed. Also, in the following description, it is
supposed that the browser correspond to VRML 2.0 and be capable of
decoding a file described in this VRML 2.0 and displaying its
three-dimensional virtual reality space.
The details of the VRML 2.0 specifications are publicized at:
URL=http://www.vrml.org/Specifications/VRML2.0/
Further, the details of the Japanese version of the VRML 2.0 specifications
are publicized at:
URL=http://www.webcity.co.jp/info/andoh/VRML/vrml2.0/spec-jp/index.html
FIG. 27 shows an example of a user control table controlled by a shared
server terminal 11 which can control 1024 users for example and is
accessed by 64 users. As shown in the figure, this user control table
lists user IDs and shared data such as nicknames for these user IDs,
various parameters including attribute information indicative of whether
avatars having these user IDs are chat-enabled or not, and shared space
coordinates (x, y, z) of avatars having these user IDs.
FIG. 28 schematically shows a relationship between a visible area as viewed
from an avatar of a desired user (for example, a user having user ID=01)
and a chat enable area as viewed from the same user. As shown in the
figure, it is assumed that an avatar of a user having user ID 01 is
located at coordinates (x01, 0, z01) in a three-dimensional virtual
reality space expressed in coordinates (x, y, z). For the user of this
avatar, a range having radius Rv from the avatar's position (x01, 0, z01)
is a visible area. An image in this visible area in the direction of which
the avatar is orientated is displayed on the display device 45 of the
client terminal of that user.
If avatars of users having user IDs 02 through 11 exist in the visible area
in this range having radius Rv, shared data associated with the avatars of
user IDs 02 through 11 as shown in FIG. 29 is transferred from the shared
server terminal 11 to the client terminal of user ID=01. Therefore, on the
display device 45 of the client terminal of user ID=01, an image of that
avatar is displayed if the avatars of user IDs=02 through 11 exist at
positions to which that avatar is directed.
As shown in FIG. 28, an area having radius Ra around the position of own
avatar is a chat-enable area. If another avatar exists in the chat-enable
area, the user can chat with that avatar (or its user). Radius Ra of this
chat-enable area is smaller than radius Rv of the visible area. This
prevents the text data inputted by the users of all avatars arranged in
the visible area from coming. Namely, chat is enabled only with avatars
comparatively near the own avatar, so that a chat like a conversation in a
real space can be enjoyed.
In the display example of FIG. 28, there are 11 avatars in total in the
visible area. Of these avatars, the avatars located inside the chat-enable
area are seven except the own avatar, so that the user can chat with the
corresponding seven users.
In the above-mentioned preferred embodiment, various objects other than
avatars exist in the three-dimensional virtual reality space. These
objects may be salespersons of virtual shops selling predetermined goods
in that three-dimensional virtual reality space. In such a case, the user
can click any of the salespersons to chat also with the user (namely, the
provider of that virtual shop) corresponding to the clicked salesperson.
Of course, there are objects with whom the user cannot chat in a
three-dimensional virtual reality space. For example, the chat-disabled
objects include those resembling a virtual creature or a robot
autonomously moving in the three-dimensional virtual space, not to mention
building walls in that space.
Consequently, the preferred embodiment of the present invention is adapted
such that the user can quickly and surely know whether each object in the
three-dimensional virtual reality space is chat-enabled or not. To
implement this capability, the processing shown in a flowchart of FIG. 30
is performed on the client terminal 13.
First, in step S51, it is determined at each client terminal 13 whether the
pointer is on a chat-enabled object based on the object attribute
information. If the pointed object is found not chat-enabled, then, in
step S52, that pointer is displayed in a normal arrow shape. FIG. 31 shows
a display example of the normal arrow pointer. In this display example, an
arrow pointer 201 is displayed in an arrow shape. Namely, when the user
moves the arrow pointer 201 to a predetermined object by using the mouse
49b attached to the client terminal 13 for example, if the shape of the
pointer is a normal arrow shape, it can be known that the pointed object
is a chat-disabled object.
On the contrary, if, in step S51, the pointed object is found a
chat-enabled object, then, in step S53, the processing for changing the
shape of the pointer from the normal arrow shape to one that resembles a
human face is performed.
FIG. 32 shows a display example of human-face pointers. As shown in the
figure, when the arrow pointer 201 is moved to an avatar located
approximately at the center of a main window 211, the shape of this
pointer 201a changes from an arrow to a human face of which mouth opens
and closes with time. At this moment, the nickname (kamachi in the display
example of FIG. 32) of that avatar is in alphabets.
The face shape of this pointer 201a is symbolized one that includes a mouth
and eyes, so that the user can intuitively recognize that this avatar is
chat-enabled.
It should be noted that, to the right of the main window 211 of FIG. 32, a
multiuser window 212 is displayed. This multiuser window 212 is used for a
public chat. The public chat will be described later with reference to
FIG. 39.
In step S53, the shape of the pointer 201a is changed to the human face.
Then, in step S54, it is determined whether the object pointed by the
pointer 201a has been selected. Namely, for example, it is determined
whether the mouse 49b has been clicked or not. If that object is found not
selected, then, back in step S51, the processing operations of this and
subsequent steps are repeated. Namely, when the pointer 201a is moved from
a chat-enabled avatar to another object, if this object is chat-disabled,
the shape of the pointer 201 changes to the normal arrow shape again. If
the pointer is moved to a chat-enabled object, the shape of the pointer
changes to the human face shape. This allows the user to quickly know
whether an object which is not an avatar is chat-enabled or not.
It should be noted that, in FIG. 27, an example of the user control table
controlled by the shared server terminal 11 is provided; a similar table
is also provided for objects other than avatars to allow recognition
whether these objects are chat-enabled based on the attribute information
of these objects.
If, in step S54, the object pointed by the pointer 201a is found selected,
then, in step S55, message window display processing is performed. Namely,
for example, as shown in FIG. 32, if the mouse 49b is clicked with the
pointer 201a positioned at the avatar, a message window 221 is displayed
as shown in FIG. 33, in which a message "Do you want to chat with Mr.
kamachi?" is displayed along with OK and cancel buttons.
Next, in step S56, if the user wants to chat, operates the OK button in the
message window 221; otherwise, the user operates the cancel button. The
buttons are operated by moving the pointer onto them by the mouse 49a and
click on them. When the cancel button is operated, the process goes back
to step S51 to repeat the processing operations of this and subsequent
steps.
If the OK button is operated, then, in step S57, private chat window
display processing is performed.
FIG. 34 shows a display example of a private chat window 231. As shown in
the figure, the private chat window 231 is window separate from the area
for the public chat displayed in the multiuser window 212. The display of
the private chat windows makes the user clearly recognize that a
one-to-one private chat is to be performed.
The above-mentioned processing can all be performed at the client terminal
13. Because chat itself requires data transfer with other client
terminals, the subsequent processing must be performed via the shared
server terminal 11. To be more specific, when the OK button is selected,
the client terminal 13 of that user outputs a request to the shared server
terminal 11 via the network for a chat with a client terminal
corresponding to the specified avatar kamachi. Then, the client terminal
13 displays a message "Calling" in the private chat window 231 as shown in
FIG. 34.
On the other hand, the shared server terminal 11 notifies the client
terminal of the user of avatar kamachi of the request for a chat. The
client terminal receiving this request displays a message window 243 above
the main window 241 and the multiuser window 242. In the message window, a
message "Mr. tama wants a chat. Do you accept?" for example is displayed
along with an OK button and a cancel button. If user wants to have a chat
with avatar tama, the user clicks the OK button; otherwise, the user
clicks the cancel button.
When the OK button is clicked, it is sent to the client terminal 13 of
avatar tama via the shared server terminal 11. Then, as shown in FIG. 36,
a message "Responded" is displayed in the private chat window 231 of the
user (namely, the user of avatar tama) who desired a chat with avatar
kamachi. On the display device of the client terminal avatar kamachi, a
private chat window 251 is displayed on the main window 241 as shown in
FIG. 37. This private chat window 251 is displayed independently of the
multiuser window 242. It should be noted that avatar tama who asked for a
chat is displayed in the main window 241 of the display device 45 of
avatar kamachi as shown in FIG. 37.
Thus, when the private chat window is displayed in each main window, then,
in step S58, an actual chat takes place. To be more specific, the user of
avatar tama operates the keyboard 49a for example of the client terminal
13 to input text to be transmitted to avatar kamachi. This text is
transmitted to the client terminal of avatar kamachi via the shared server
terminal 11 to be displayed in the private chat window 251.
Likewise, text inputted by the user of avatar kamachi by operating the
keyboard for example of the client terminal of that user is displayed in
the private chat window 231 of the client terminal of avatar tama via the
shared server terminal 11. FIG. 38 shows a display example of the private
chat window 231 of avatar tama when a private chat is thus made. As shown
in the figure, the text inputted this time is displayed in a chat area
below the private chat window 231 as "Long time no see" for example. On
the other hand, the text inputted so far or received from the mate avatar
is displayed in a chat log at the upper side of the private chat window
231 as "kamachi: Hello" and "tama: Hi" for example along with the nickname
of the avatar of the client terminal which has sent that text.
Thus, the contents of a private chat are displayed only in the private chat
window 231 and not in the public chat display area provided in the
multiuser window 212 or 242. This denotes that the contents of a
particular private chat are not transmitted to the client terminals of the
avatars other than those concerned with that chat. Therefore, this novel
constitution allows the user to enjoy a one-to-one private chat.
Then, in step S59, it is determined whether the end of chat has been
instructed. If the end of chat is found not instructed, then, back in step
S58, the chat is continued. If the end of chat is found instructed in step
S59, then, in step S60, processing for ending the chat is performed.
Subsequently, the process goes back to step S51 and the processing
operations of this and subsequent steps are repeated.
The operation for specifying a private chat may also be performed by
displaying an avatar nickname list and selecting a mate of the private
chat from the list. However, this makes it difficult to have a prompt
private chat. It is therefore preferable to have a setup that allows to
have a private chat immediately after specifying a desired avatar.
FIG. 39 shows a display example of a multiuser window 212 to be displayed
when a public chat is performed. As shown in the figure, when text is
inputted in a chat area at the bottom of the multiuser window 212 without
specifying a mate of chat, the inputted text is transmitted to all client
terminals of the avatars located in the chat-enable area defined by radius
Ra described with reference to FIG. 28. Conversely, texts inputted from
the terminals of other avatars located in this chat-enable area are all
displayed in a chat log area at the top of the multiuser window 212. This
allows the user to enjoy a conversation (namely, a public chat) with a
plurality of avatars.
The invention has been described about an example in which the Internet is
used as the network 15 and WWW is used. It will be apparent that the
present invention can also be implemented by use of a broadband
communication network other than the Internet or a system other than WWW.
As described and according to the three-dimensional virtual reality space
display processing apparatus described in claim 1, the three-dimensional
virtual reality space display processing method described in claim 7, and
the information providing medium described in claim 8, a pointer is
displayed on a three-dimensional virtual reality space image and, when the
pointer is placed onto any of objects displayed in the three-dimensional
virtual reality space image to specify the pointed object, it is
determined whether that object is chat-enable based on the attribute
information thereof. If the object is found chat-enabled, the shape of the
pointer is changed from a normal shape to another particular shape. This
novel constitution allows a user to intuitively understand whether each of
the objects displayed in the three-dimensional virtual reality space is
chat-enabled or not.
While the preferred embodiments of the present invention have been
described using specific terms, such description is for illustrative
purposes only, and it is to be understood that changes and variations may
be made without departing from the spirit or scope of the appended claims.
* * * * *