CN103885786A - 一种3d场景互动模型 - Google Patents

一种3d场景互动模型 Download PDF

Info

Publication number
CN103885786A
CN103885786A CN201410140992.8A CN201410140992A CN103885786A CN 103885786 A CN103885786 A CN 103885786A CN 201410140992 A CN201410140992 A CN 201410140992A CN 103885786 A CN103885786 A CN 103885786A
Authority
CN
China
Prior art keywords
scene
interaction model
virtuality
subject
describing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410140992.8A
Other languages
English (en)
Inventor
宁权修
陈骏
蔡运涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING VSENZ INFORMATION TECHNOLOGY Co Ltd
Original Assignee
NANJING VSENZ INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NANJING VSENZ INFORMATION TECHNOLOGY Co Ltd filed Critical NANJING VSENZ INFORMATION TECHNOLOGY Co Ltd
Priority to CN201410140992.8A priority Critical patent/CN103885786A/zh
Publication of CN103885786A publication Critical patent/CN103885786A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种3D场景互动模型,包括:Avatar对象,用于描述3D场景中使用者主动控制的对象;Object对象,用于描述3D场景中非主动控制的对象;Trigger对象,用于描述3D场景中的触发区;Trail对象,用于描述3D场景中Avatar对象和Object对象运动的轨迹,能够对3D场景动态、实时地进行修改和更新,同时极大地减少了更新时的数据量。

Description

一种3D场景互动模型
技术领域
本发明涉及3D场景领域,尤其涉及一种3D场景互动模型。
背景技术
目前3D场景交互模型普遍运用于3D游戏或者3D软件里,但是现有的3D场景交互模型,都是预先定制好并且固化到游戏和软件里的,不可以随便修改,或者修改起来相当复杂,需要开发这款游戏或者软件的专业人员才能修改,而且修好以后,需要更新版本,更新包的大小动辄几十、上百M,并不适合使用互联网传播。
发明内容
本发明鉴于上述情况而作出,其目的是提供一种3D场景互动模型,能够对3D场景动态、实时地进行修改和更新,同时极大地减少了更新时的数据量。
一种3D场景互动模型,包括:
Avatar对象(主体虚拟化对象),用于描述3D场景中使用者主动控制的对象,Avatar对象包括使用者主动控制的在3D场景中行走的人或者在3D场景活动的物体。
Object对象(客体对象),用于描述3D场景中非主动控制的对象,Object对象对Avatar对象的操作进行响应。
Trigger对象(触发器对象),用于描述3D场景中的触发区,当Avatar对象进入和/或离开触发区时,Trigger对象做出相应的响应。
Trail对象(轨迹对象),用于描述3D场景中Avatar对象 和Object对象运动的轨迹, Avatar 对象和/或Object对象沿着Trail对象进行移动。
进一步地,通过SDML(场景描述标记语言)文件记录所述3D场景的结构布局,描述3D场景中每个对象的大小位置和朝向。  
通过SSL(场景样式语言)文件记录所述3D场景的样式,描述3D场景中每个对象的样式。
通过JS(JavaScript,基于对象和事件驱动的客户端脚本语言)文件记录所述3D场景中的互动行为,描述Avatar对象、Object对象和Trigger对象之间的互动行为。
进一步地,所述3D场景还包括视点对象,用于描述使用者在3D场景中的视点。
进一步地,Avatar对象的创建和使用方法包括以下步骤:
步骤S1,根据3D场景的设计需求在脚本中显式地创建一个或多个Avatar对象;
步骤S2,通过视点对象的attach方法将所述Avatar对象挂接到视点当中进行联动。
根据本发明,提供了一种3D场景互动模型,能够对3D场景动态、实时地进行修改和更新,同时极大地减少了更新时的数据量。
 
附图说明
图1是本发明实施方式的Avatar对象的创建和使用方法的流程示意图。
 
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明提供一种3D场景互动模型,能够对3D场景动态、实时地进行修改和更新,同时极大地减少了更新时的数据量。
一种3D场景互动模型,包括:
Avatar对象,用于描述3D场景中使用者主动控制的对象,Avatar对象包括使用者主动控制的在3D场景中行走的人或者在3D场景活动的物体, 如汽车、飞机、马等。
Object对象,用于描述3D场景中非主动控制的对象,Object对象对Avatar对象的操作进行响应, 如树木花草等。
当Avatar对象与Object对象产生交互时,Object对象根据Avatar对象的操作做出相应的响应,如当Avatar对象汽车撞上Object对象树时,Object对象树做出的响应为被撞倒折断。
Trigger对象,用于描述3D场景中的触发区,当Avatar对象进入和/或离开触发区时,Trigger对象做出相应的响应。
Trail对象,用于描述3D场景中Avatar对象 和Object对象运动的轨迹, Avatar 对象和/或Object对象沿着Trail对象进行移动。
Trail对象可以动态的生成,这样Avatar对象就可以根据动态生成的Trail对象导航到3D场景中的任意目的地。
3D场景互动模型通过SDML文件记录该3D场景的结构布局,描述3D场景中每个对象的大小、位置和朝向。  
通过SSL文件记录该3D场景的样式,描述3D场景中每个对象的样式。
通过JS文件记录该3D场景中的互动行为,描述Avatar对象、Object对象和Trigger对象之间的互动行为。
这样整个3D场景通过SDML文件、SSL文件和JS文件来进行描述,与普通二维网页通过HTML文件、CSS文件和JS文件来进行描述类似。
3D场景中还包括视点对象,用于描述使用者在该3D场景中的视点。
图1是本发明实施方式的Avatar对象的创建和使用方法的流程示意图。
如图1所示,Avatar对象的创建和使用方法包括以下步骤:
步骤S1,根据3D场景的设计需求在脚本中显式地创建Avatar对象。
其中脚本通过JS文件来进行描述。
步骤S2,通过视点对象的attach方法将Avatar对象挂接到视点当中进行联动。
由于使用者的具体表达体存在不确定性,因此允许在同一时间内创建多个Avatar对象,并且每个Avatar对象可以有独立的视觉表达,而且可以挂接到视点的不同位置和不同朝向。
实施例1
创建Avatar对象:
avatar = new Avatar;
初始化Avatar对象:
设置Avatar对象的id,例如avatar.id=”my avatar”,该id在存在多个Avatar对象的情况下具有唯一可识别性,例如在Trigger对象的onEnter事件当中,可以通过comp.id来辨别是哪个Avatar对象进入了该区域。
确保视觉表达要素所需的资源已经准备就绪,并设置Avatar对象的视觉表达要素。
将Avatar对象挂接到视点当中。
Object对象的属性、方法和事件定义:
Figure 502850DEST_PATH_IMAGE002
方法- playAnimation
功能
  播放指定动画
返回值
  无
Figure 419990DEST_PATH_IMAGE004
方法- stopAnimation
功能
  停止播放动画
返回值
  无
方法- setFocus
功能
  设置对象进入焦点状态(进入最佳视角)
返回值
  无
方法- killFocus
功能
  退出对象焦点状态(退出最佳视角)
返回值
  无
方法- faceTo
功能
  让对象面向指定目标点
返回值
  无
Figure DEST_PATH_IMAGE006A
事件- onPlayAnimationFinish
功能
  每次动画播放完毕后调用此事件
返回值
  整型,保留参数,当前要求返回0
Figure DEST_PATH_IMAGE008
事件-onFocus
功能
  当对象的焦点状态发生。
返回值
  整型,保留参数,当前要求返回0
Figure 2014101409928100002DEST_PATH_IMAGE009
事件-onHover
功能
  当鼠标停留指示在对象上时,或者从停靠指示退出指示时,将会触发本事件。
返回值
  整型,保留参数,当前要求返回0
Figure DEST_PATH_IMAGE010
事件-onLClick
功能
  当鼠标左键点击在对象上时,将会触发本事件。
返回值
  整型,保留参数,当前要求返回0
名称 类型 值域 说明
comp object 非空 鼠标点击的对象
evt.xxx     参考onHover
事件-onRClick
功能
  当鼠标右键点击在对象上时,将会触发本事件。
返回值
  整型,保留参数,当前要求返回0
名称 类型 值域 说明
comp object 非空 鼠标点击的对象
evt.xxx     参考onHover
Trigger对象的属性和事件
名称 类型 值域 说明
coords string 多边形坐标序列 描述area形状大小的具体坐标信息
事件-onEnter
功能
  当Avatar对象进入到Area区域时,触发本事件。
返回值
  整型,保留参数,当前要求返回0。
备注。
  事件参数中只给出了穿越过程中的两个关键点,如果需要知道穿越后的具体方位,可以通过访问view对象的相关属性获得。
名称 类型 值域 说明
comp object 非空 进入区域的Avatar对象
evt.from vector3 非空 Avatar在本帧刷新中移动的起点
evt.across vector3 非空 穿越区域时和区域的交点坐标
事件-onLeave
功能
  当Avatar对象离开Area区域时,触发本事件。
返回值
  整型,保留参数,当前要求返回0。
备注。
  事件参数中只给出了穿越过程中的两个关键点,如果需要知道穿越后的具体方位,可以通过访问view对象的相关属性获得。
名称 类型 值域 说明
comp object 非空 离开区域的Avatar对象
evt.from vector3 非空 Avatar在本帧刷新中移动的起点
evt.across vector3 非空 穿越区域时和区域的交点坐标
Trail对象的属性、方法和事件。
Trail对象是SDML-DOM体系的重要控制对象,其主要功能为:Object对象绑定到Trail对象后,Trail对象控制Object对象沿着特定轨迹按照不同方式进行移动。
名称 类型 值域 说明
coords string 一串三维坐标点 Trail对象将字符串转换一系列三位坐标,作为对象移动的轨迹。
gravitational bool false、true 对象移动时是否贴地
方法- attachObj
功能
  Object对象绑定到Trail对象
返回值
  无
方法- detachObj
功能
  将Object对象从Trail对象上卸载下来停止移动
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
方法- setObjSpeed
功能
  设置Object对象沿Trail对象移动时的速度
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
speed float 0,+ ∞ 速度
方法- setObjToward
功能
  设置Object对象沿Trail对象移动时的方向
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
toward bool false、true false是向第0个轨迹点移动, true是向最大一个轨迹点移动
方法- setObjAcceleration
功能
  设置Object对象沿Trail对象移动时的加速度
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
a float -∞,+∞ <0时做减速运动,>0时做加速运动
方法- setObjIndex
功能
  设置Object对象移动到Trail对象第几个轨迹点
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
index int 0、n 将Object对象直接移动到Trail对象轨迹的第几个轨迹点
方法- setObjOrient
功能
  设置Object对象沿着Trail对象轨迹移动时,Object对象的哪个坐标轴朝前
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
orient string -x、+x、-y、+y、-z、+z Object对象沿着Trail对象轨迹移动时,对象的那个坐标轴朝前
方法- setObjVertical
功能
  设置Object对象沿Trail对象移动时的是否保持重力方向
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
vetical bool false、true false是无需保持重力方向, true保持自身重力方向
方法- setObjMonitored
功能
  设置Object对象沿Trail对象移动时是否碰撞触发器
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
monitored bool false、true false是不碰撞触发器, true是碰撞触发器
方法- setObjLoop
功能
  设置Object对象沿Trail对象移动时的到达终点后的运动方式
返回值
  无
名称 类型 值域 说明
obj jObject*   Object对象
loop int -1、0、1、2 -1停止、0重复、1循环、2往返
方法- getVertexCount
功能
  获取Trail对象轨迹点的总个数
返回值
  整型 轨迹点总的个数
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。 

Claims (10)

1. 一种3D场景互动模型,其特征在于,包括:
主体虚拟化对象,用于描述3D场景中使用者主动控制的对象;
客体对象,用于描述3D场景中非主动控制的对象;
触发器对象,用于描述3D场景中的触发区;
轨迹对象,用于描述3D场景中主体虚拟化对象和客体对象运动的轨迹。
2. 根据权利要求1所述的3D场景互动模型,其特征在于,所述主体虚拟化对象包括使用者主动控制的在3D场景中行走的人或者在3D场景活动的物体。
3. 根据权利要求1所述的3D场景互动模型,其特征在于,所述客体对象对主体虚拟化对象的操作进行响应。
4. 根据权利要求1所述的3D场景互动模型,其特征在于,所述当主体虚拟化对象进入和/或离开触发区时,触发器对象做出相应的响应。
5. 根据权利要求1所述的3D场景互动模型,其特征在于,所述主体虚拟化对象和/或客体对象沿着轨迹对象进行移动。
6. 根据权利要求1至5任意一项所述的3D场景互动模型,其特征在于,通过场景描述标记语言文件记录所述3D场景的结构布局,描述3D场景中每个对象的大小位置和朝向。
7. 根据权利要求1至5任意一项所述的3D场景互动模型,其特征在于,通过场景样式语言文件记录所述3D场景的样式,描述3D场景中每个对象的样式。
8. 根据权利要求1至5任意一项所述的3D场景互动模型,其特征在于,通过基于对象和事件驱动的客户端脚本语言文件记录所述3D场景中的互动行为,描述主体虚拟化对象、客体对象和轨迹对象之间的互动行为。
9. 根据权利要求1至5任意一项所述的3D场景互动模型,其特征在于,所述3D场景还包括视点对象,用于描述使用者在3D场景中的视点。
10.根据权利要求9所述的3D场景互动模型,其特征在于,所述主体虚拟化对象的创建和使用方法包括以下步骤:
步骤S1,根据3D场景的设计需求在脚本中显式地创建一个或多个主体虚拟化对象;
步骤S2,通过视点对象的attach方法将所述主体虚拟化对象挂接到视点当中进行联动。
CN201410140992.8A 2014-04-10 2014-04-10 一种3d场景互动模型 Pending CN103885786A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410140992.8A CN103885786A (zh) 2014-04-10 2014-04-10 一种3d场景互动模型

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410140992.8A CN103885786A (zh) 2014-04-10 2014-04-10 一种3d场景互动模型

Publications (1)

Publication Number Publication Date
CN103885786A true CN103885786A (zh) 2014-06-25

Family

ID=50954696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410140992.8A Pending CN103885786A (zh) 2014-04-10 2014-04-10 一种3d场景互动模型

Country Status (1)

Country Link
CN (1) CN103885786A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960475A (zh) * 2017-03-30 2017-07-18 网易(杭州)网络有限公司 三维模型的部位点击处理方法及装置、存储介质和处理器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215495B1 (en) * 1997-05-30 2001-04-10 Silicon Graphics, Inc. Platform independent application program interface for interactive 3D scene management
CN1896985A (zh) * 2005-07-15 2007-01-17 英业达股份有限公司 计算机游戏开发系统以及方法
CN101335916A (zh) * 2008-07-22 2008-12-31 中山大学 一种通用的手机角色扮演(rpg)网络游戏引擎
CN102663245A (zh) * 2012-03-30 2012-09-12 福建天趣网络科技有限公司 3d游戏世界编辑器
CN103019725A (zh) * 2012-12-19 2013-04-03 四川长虹电器股份有限公司 基于3d模型的界面逻辑控制方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215495B1 (en) * 1997-05-30 2001-04-10 Silicon Graphics, Inc. Platform independent application program interface for interactive 3D scene management
CN1896985A (zh) * 2005-07-15 2007-01-17 英业达股份有限公司 计算机游戏开发系统以及方法
CN101335916A (zh) * 2008-07-22 2008-12-31 中山大学 一种通用的手机角色扮演(rpg)网络游戏引擎
CN102663245A (zh) * 2012-03-30 2012-09-12 福建天趣网络科技有限公司 3d游戏世界编辑器
CN103019725A (zh) * 2012-12-19 2013-04-03 四川长虹电器股份有限公司 基于3d模型的界面逻辑控制方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李博: "游戏人工智能关键技术的研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
韩逸晨: "游戏编辑器的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106960475A (zh) * 2017-03-30 2017-07-18 网易(杭州)网络有限公司 三维模型的部位点击处理方法及装置、存储介质和处理器
CN106960475B (zh) * 2017-03-30 2020-05-05 网易(杭州)网络有限公司 三维模型的部位点击处理方法及装置、存储介质和处理器

Similar Documents

Publication Publication Date Title
Müller et al. Sim4cv: A photo-realistic simulator for computer vision applications
Xu et al. Crowd simulation and its applications: Recent advances
CN111260764B (zh) 一种制作动画的方法、装置及存储介质
EP3531248A1 (en) Virtual sensor in a virtual environment
Feng et al. An example-based motion synthesis technique for locomotion and object manipulation
CN104317297A (zh) 一种未知环境下机器人避障方法
CN105765488B (zh) 虚拟环境的运动控制
CN100524363C (zh) 一种用于动态实体的分层避障方法
CN106020223A (zh) 飞行器的飞行控制方法、装置及系统
CN106873767A (zh) 一种虚拟现实应用的运行控制方法和装置
CN101188025A (zh) 一种高效实时的群体动画框架
Navarro-Newball et al. Gesture based human motion and game principles to aid understanding of science and cultural practices
CN103049266A (zh) Delta3D三维场景漫游的鼠标操作方法
CN103885786A (zh) 一种3d场景互动模型
Karim et al. Procedural locomotion of multilegged characters in dynamic environments
Cimen et al. Interacting with intelligent characters in ar
Chen et al. Controlling the movement of crowds in computer graphics by using the mechanism of particle swarm optimization
KR101267570B1 (ko) 2d 텍스쳐 기반의 유도장을 이용한 가상캐릭터 조정행동 표시방법 및 장치, 이를 사용한 가상 생태공원 가시화 시스템
Wu et al. Simulating the local behavior of small pedestrian groups using synthetic-vision based steering approach
Li et al. Anchor‐based crowd formation transformation
TWI515644B (zh) 遊戲觸控系統及其實施方法
Kim et al. An event-driven approach to crowd simulation with example motions
CN113018862A (zh) 虚拟对象的控制方法、装置、电子设备及存储介质
CN105635806A (zh) 群体运动场景的渲染方法
De Paolis et al. The simulation of a billiard game using a haptic interface

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20140625