unity虚拟现实应用设计 文物数字化虚拟还原 6创建第一个C#脚本.pptxVIP

unity虚拟现实应用设计 文物数字化虚拟还原 6创建第一个C#脚本.pptx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文物数字化虚拟还原 创建第一个C#脚本;在“Scripts”文件夹下单击鼠标右键,从弹出的选项列表中选择Create C#Script命令来新建一个名为RotObj的C#脚本。双击该脚本文件,打开Microsoft Visual Studio进行编辑,此时我们可以看到以下代码。;对照以下代码进行编辑。 ;对照以下代码进行编辑。第7行代码: 我们声明了一个float(浮点型)的变量rotSpeed用于设置对象的旋转速度,并使用“=”对其进行赋值操作,注意“=”的含义是指将“=”右侧的数值赋予其左边的变量,而不是表示”=“左右两侧的对象相同。 提示:在Unity中,声明变量的方式为: 变量类型 变量名; 变量类型的前面可以添加作用域,比如public、priveate、protected,而public变量可暴露于Inspector视图中,方便后续查看、实时编辑。 ;第9行至16行,创建了一个名为OnMouseDrag的鼠标事件函数(OnMouseDrag表示鼠标点击之后到释放之前的行为状态,该方法会在每帧被持续调用)。当用户使用鼠标拖拽GUI元素或Collider碰撞体时会调用OnMouseDrag鼠标事件函数,这意味着我们必须对挂载RotObj脚本的对象添加Collider组件才能让OnMouseDrag鼠标事件函数正确响应鼠标的Drag行为。;第11行代码,声明了一个局部变量rotX,其类型为float,我们使用该变量来存储鼠标水平移动数据。通过Input.GetAxis(Mouse X) 可以获取鼠标在X轴方向的移动数值(此值范围在-1到1之间),该值乘以先前定义的rotSpeed,由此能通过更改rotSpeed的数值来调整对象旋转的速度,再次乘以Mathf.Deg2Rad,Mathf提供数学计算的函数与常量全国,Deg2Rad是度到弧度的转化常量,从而将鼠标移动的数据类型转化为弧度,这样才能将该值正确地赋予用于旋转的rotX变量。 提示: Unity 中必须使用 Input 类来获取用户的键盘或鼠标事件。Input包含很多方法,在本例中,我们只需要用到GetAxis方法,它能返回根据参数名所指定的虚拟轴上的数值。 Input.GetAxis的使用方式如下: public static float GetAxis(string axisName) axisName对应不同的虚拟轴,可以在Unity主菜单下的Edit Project Settings Input命令中进行查看,展开一个虚拟轴,其Name中的文本,就是axisName所要使用的名称,注意这个名称在使??时需加上双引号。 例如Input.GetAxis(Mouse X)。;第12行代码定义了鼠标垂直移动数据的获取,其使用方法同第11行代码。 第14行代码,使用transform.Rotate()函数来控制对象的旋转。 Unity3d是面向组件开发的的引擎,每个游戏对象(包括空对象)都有一个Transform组件,它用于存储和操控对象的位置、旋转和放缩。 按照angle(角度)围绕axis(轴)旋转变换的格式为Rotate (axis : Vector3, angle : float, relativeTo : Space = Space.Self) : void。 transform.Rotate(Vector3.up, -rotX, Space.World)的含义为采用世界坐标系,在垂直方向将对象进行旋转,旋转的角度为-rotX,也就是鼠标在水平位置拖拽并经过度到弧度转换后的数值。之所以rotX前面有负号,是因为要保持鼠标移动与对象旋转的方向一致。 第15行代码定义了对象在水平轴方向的旋转,其使用方法同第14行代码。;从Project视图中找到RotObj脚本文件,拖拽到场景视口中的青铜器之上。 选中“BoGui”,在Inspector面板底部单击Add Component按钮,选择Physics Sphere Collider组件。 点击运行场景按钮(Ctrl+P),此时我们就可以使用鼠标来控制对象的旋转了。

文档评论(0)

WanDocx + 关注
实名认证
文档贡献者

大部分文档都有全套资料,如需打包优惠下载,请留言联系。 所有资料均来源于互联网公开下载资源,如有侵权,请联系管理员及时删除。

1亿VIP精品文档

相关文档