虚拟现实技术vrml“动画交互“——旋转门练习

这篇具有很好参考价值的文章主要介绍了虚拟现实技术vrml“动画交互“——旋转门练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

尝试中.....

作业要求:

     制作旋转门,当鼠标在玻璃门上拖拽时玻璃门旋转。

制作过程如下:

1、先建立1个横向的立方体,充当玻璃门1

代码:

Transform {
            translation    0 0.6 0             #立方体向上移动到0.6位置
            children [
              Shape {
                appearance Appearance {   #外观域
                material  Material    {
                    diffuseColor 0 0.2 0.5   #材质颜色设置
                    transparency 0.6          #透明度设置

                }}
                geometry Box {      #立方体几个造型节点  
                    size 2 1 0.1         #立方体的大小,三维坐标代表长宽高
                    }
                } ]}

2、建立1个纵向的立方体,充当玻璃门2

(复制上一个横向的立方体,并旋转90度即可)

代码:

Transform {
            translation    0 0.6 0
            rotation 0 1 0 1.571        #立方体绕着y轴旋转90度
            children [
              Shape {
                appearance Appearance {
                material  Material    {
                    diffuseColor 0 0.2 0.5
                    transparency 0.6

                }}
                geometry Box {
                    size 2 1 0.1
                    }
                } ]}

3、制作中间的柱子,应该使用圆柱体几何造型节点

代码:

Transform {
            translation    0 0.6 0        #立方体向上移动到0.6位置
            children [
              Shape {
                appearance Appearance {
                material  Material    {
                    diffuseColor 0 1 0

                }}
                geometry Cylinder {     #圆柱体几何造型节点
                    height 1.2                #圆柱体高为1.2
                    radius 0.05              #半径为0.05
                    }
                } ]}

4、制作底面,应该用圆柱体几何造型节点

代码:

Transform { 
            children [
              Shape {
                appearance Appearance {
                material  Material    {
                    diffuseColor 0.8 0.2 0.1  

                }}
                geometry Cylinder {    #圆柱体几何造型节点
                    height 0.06             #圆柱体高为1.2
                    radius 1.4               #高为1.4     
                    }
                } ]}

5、制作顶面,跟上面制作底面是一样的

(在底面的基础上修改位置即可)

代码:

Transform {
            translation    0 1.2 0     #圆柱体向上移动到1.2的位置上
            children [
              Shape {
                appearance Appearance {
                material  Material    {
                    diffuseColor 0.8 0.2 0.1                   

                }}
                geometry Cylinder {
                    height 0.06
                    radius 1.4                    
                    }
                } ]}

6、在左右两边添加柱子

(复制“3、中间的柱子”的代码,修改位置和半径即可)

右边柱子代码:

 Transform {
            translation    1.2 0.6 0        #圆柱体向右移动1.2,向上移动到1.2的位置上
            children [
              Shape {
                appearance Appearance {
                material  Material    {
                    diffuseColor 0.8 0.2 0.1

                }}
                geometry Cylinder {
                    height 1.2
                    radius 0.09                
                    }
                } ]}

左边柱子代码:

 Transform {
            translation    -1.2 0.6 0    #圆柱体向左移动1.2,向上移动到1.2的位置上
            children [
              Shape {
                appearance Appearance {
                material  Material    {
                    diffuseColor 0.8 0.2 0.1    

                }}
                geometry Cylinder {
                    height 1.2
                    radius 0.09                
                    }
                } ]}

1-6是制作基本造型,接下来是动画制作部分

7、先将上面的1和2放在同一个坐标节点下

如:Transform {
    children [立方体1,立方体2  ]}

8、在7的基础上修改,在Transform前面添加DEF lif

注:DEF的作用是在场景中需要多次使用的同一节点,可以通过节点重定义后,在后面使用引用的方法多次调用。

如:DEF lif Transform {      #DEF给玻璃门的Transform节点命名为lif
    children [立方体1,立方体2  ]}

9、利用圆柱体传感器,使当用鼠标拖拽时,造型轨迹会类似于圆柱体旋转,简单说就是鼠标拖拽时,造型会沿着y轴旋转。

代码:

    DEF    blm CylinderSensor    {   #DEF给传感器CylinderSensor节点命名为blm
        offset    0.785     # 设定造型的初始旋转角度,当首次单击鼠标时,造型绕圆柱体中心轴相对                                      于初始位置旋转角度。
        autoOffset    TRUE    #是否自动记忆上次旋转的终点角度

}

10、最后一步,用ROUTE  TO,使事件出口和事件入口通过路径相连

ROUTE 语句 从一个节点的事件出口到另一个节点的事件入口,传送事件的路径叫路由。

代码:

ROUTE blm.rotation_changed TO lif.rotation

#当CylinderSensor圆柱体传感器节点发生改变时,就会影响到Transform坐标变换节点的改变

#rotation_changed(出事件):当鼠标拖拽造型时,传感器不断输出立方体几何节点造型旋转的角度值。

总体代码:

#VRML V2.0 utf8

DEF lif Transform {
	children [

Transform {
			translation	0 0.6 0
			children [
			  Shape {
		    	appearance Appearance {
				material  Material	{
					diffuseColor 0 0.2 0.5
					transparency 0.6

				}}
				geometry Box {
					size 2 1 0.1
					}
				} ]}

Transform {
			translation	0 0.6 0
			rotation 0 1 0 1.571
			children [
			  Shape {
		    	appearance Appearance {
				material  Material	{
					diffuseColor 0 0.2 0.5
					transparency 0.6

				}}
				geometry Box {
					size 2 1 0.1
					}
				} ]} ]}

Transform {
			translation	0 0.6 0
			children [
			  Shape {
		    	appearance Appearance {
				material  Material	{
					diffuseColor 0 1 0
					

				}}
				geometry Cylinder {
					height 1.2
					radius 0.05					
					}
				} ]}				


Transform {
			translation	0 0 0
			children [
			  Shape {
		    	appearance Appearance {
				material  Material	{
					diffuseColor 0.8 0.2 0.1					

				}}
				geometry Cylinder {
					height 0.06
					radius 1.4					
					}
				} ]}

Transform {
			translation	0 1.2 0
			children [
			  Shape {
		    	appearance Appearance {
				material  Material	{
					diffuseColor 0.8 0.2 0.1					

				}}
				geometry Cylinder {
					height 0.06
					radius 1.4					
					}
				} ]}

 Transform {
			translation	-1.2 0.6 0
			children [
			  Shape {
		    	appearance Appearance {
				material  Material	{
					diffuseColor 0.8 0.2 0.1
					

				}}
				geometry Cylinder {
					height 1.2
					radius 0.09				
					}
				} ]}
				
   Transform {
			translation	1.2 0.6 0
			children [
			  Shape {
		    	appearance Appearance {
				material  Material	{
					diffuseColor 0.8 0.2 0.1
					

				}}
				geometry Cylinder {
					height 1.2
					radius 0.09				
					}
				} ]}

	DEF	blm CylinderSensor	{
		offset	0.785
        autoOffset	TRUE	}


		ROUTE blm.rotation_changed TO lif.rotation

最后运行结果:

虚拟现实技术vrml“动画交互“——旋转门练习

虚拟现实技术vrml“动画交互“——旋转门练习

 


 文章来源地址https://www.toymoban.com/news/detail-445282.html

到了这里,关于虚拟现实技术vrml“动画交互“——旋转门练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 边缘计算:让虚拟现实变得更加真实和交互性强

    作者:禅与计算机程序设计艺术 虚拟现实(VR/AR)技术最近快速崛起,在各行各业都蓬勃发展。随着技术的进步,开发者也希望借助虚拟现实技术开发出更具身心舒适感的沉浸式虚拟世界,将虚拟现实与真实环境结合,提升用户体验和满足人的动手能力,这就是边缘计算(Edge C

    2024年02月13日
    浏览(35)
  • 虚拟现实与增强现实技术的商业应用

      随着科技的不断发展,虚拟现实(Virtual Reality,简称VR)与增强现实(Augmented Reality,简称AR)技术正日益成为商业领域中的重要创新力量。这两种技术为企业带来了前所未有的商机,从零售到医疗,从教育到娱乐,无处不在的商业应用正在重新定义着我们的生活。本文将探

    2024年02月12日
    浏览(47)
  • FOHEART H1数据手套:连接虚拟与现实,塑造智能交互新未来

    在全新交互时代背景中,数据手套无疑是一种重要的科技产物。它不仅彻底改变了我们与虚拟世界的互动方式,更为我们提供了一种全新、更为直观的交互形式。 FOHEART H1数据手套结合了虚拟现实、手势识别等高新技术,用先进的传感技术和精准的数据捕捉能力,将人类手部

    2024年02月13日
    浏览(37)
  • 人类技术变革简史:虚拟现实与增强现实的应用

    虚拟现实(Virtual Reality,简称VR)和增强现实(Augmented Reality,简称AR)是近年来迅速发展的人工智能技术领域。它们在游戏、娱乐、教育、医疗等多个领域都有广泛的应用。本文将从背景、核心概念、算法原理、代码实例、未来发展趋势等多个方面深入探讨这两种技术的发展历程和

    2024年04月17日
    浏览(81)
  • 虚拟现实技术(VR)

    目录 1.什么是虚拟现实技术 2.虚拟现实技术的由来 3.虚拟现实技术给人类带来的好处 4.虚拟现实技术未来的走向         虚拟现实技术(Virtual Reality,简称VR)是一种通过计算机生成的模拟环境,使用户能够身临其境地感受和体验虚拟环境。它通过呈现3D图像、音频、触觉

    2024年02月11日
    浏览(48)
  • 虚拟现实与VRAR技术:将现实世界与数字世界融合

    虚拟现实(Virtual Reality,简称VR)是一种将现实世界与数字世界融合的人工智能技术,它通过使用特殊的设备和软件,将用户放入一个虚拟的环境中,让他们感受到自己身处于一个完全不同的世界。VRAR技术(Virtual Reality and Augmented Reality)是一种将现实世界与数字世界融合的人工智

    2024年04月08日
    浏览(55)
  • 虚拟现实:技术创新与市场发展

    虚拟现实(Virtual Reality, VR)是一种使用计算机生成的3D环境和交互方式来模拟现实世界的技术。它通过头戴式显示器、手掌感应器、身体运动感应器等设备,使用户在虚拟环境中进行交互。VR技术的发展历程可以分为以下几个阶段: 1.1 早期阶段(1960年代-1980年代):VR技术的研究和

    2024年02月19日
    浏览(55)
  • 探索智能推荐的新领域:虚拟现实和增强现实技术的应用

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 随着互联网技术的快速发展,用户个性化需求在数据爆炸的时代已经变得愈发重要。为了更好地满足用户的个性化需求,智能推荐系统应运而生。推荐系统通过收集、分析用户的历史行为、兴趣等信息,为用户提供个性化的

    2024年02月08日
    浏览(47)
  • 探索虚拟现实:VR技术入门指南

    VR(Virtual Reality)是虚拟现实技术的简称,它是一种让用户通过虚拟环境来感受真实世界的技术。随着VR技术的不断发展和普及,VR应用也逐渐深入到人们的生活和工作中。如果你想入门VR技术,以下是一些需要了解的基本知识。 VR技术的基本原理 VR技术主要基于计算机图形学

    2024年02月15日
    浏览(45)
  • 全景浏览技术在虚拟现实中的应用

      随着虚拟现实技术的发展,全景浏览技术越来越受到人们的关注。全景浏览技术是一种可以将场景全方位呈现给用户的虚拟现实技术,可以为用户带来身临其境的视觉和听觉体验。本文将介绍全景浏览技术在虚拟现实中的应用以及如何利用代码实现这些应用。 一、全景浏览

    2024年02月09日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包