• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >游戏开发 > Unity 3D力(AddForce)

Unity 3D力(AddForce)

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2022-04-30

匿名通过本文主要向大家介绍了等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
力一般是在物体之间的作用过程中表现出来的,在物理学中力是非常重要的元素。

力的种类有很多,刚体组件因为受到力的作用而进行加速或抛物线运动。

Unity 3D 中通过 rigidbody.AddForce(x,y,z)方法添加力的作用,该方法的参数是施加力的方向,参数大小代表了力的大小。

实践案例:力的添加

案例构思

现实世界中的物体都受到力的作用,所以才会有千变万化的物理现象。

游戏中物体受力时只是现象的模拟,而不是真的受到力的作用,也就是感觉好像真的受到了力的作用,而实际上只不过是执行力的函数而已。

本案例旨在通过对小球施加力的作用产生与盒子碰撞的效果。

案例设计

本案例在 Unity 3D 内创建一个简单的 3D 场景,场景内放有 1 个 Sphere,1 个 Plane 和 3 个 Cube,Plane 用于充当地面,Sphere 和 Cube 用于做力的测试。

初始场景中 Cube 处于静止状态,通过 Sphere 瞬间施加一个力,使 Cube 运动。

案例实施

步骤 1):创建游戏对象。执行 GameObject→3D Object→Plane 命令,此时在 Scene 视图中出现了一个平面,在右侧的 Inspector 面板中设置平面位置(0,0,-5)。

步骤 2):创建游戏对象。执行菜单栏中的 GameObject→3D Object→Cube 命令,创建 3 个立方体盒子,在右侧的 Inspector 面板中分别设置 3 个立方体盒子的位置(0,0.5,-5),(0.5,1.5,-5)(0.5,2.5,-5),如下图所示。

cube摆放效果

步骤 3):创建游戏对象。执行菜单栏中的 GameObject→3D Object→Sphere 命令,在 Inspector 面板中设置球体位置属性(-1,0.5,-7),如下图所示。

Sphere摆放效果

步骤 4):美化场景。为球体、立方体及地面贴材质,如下图所示。

材质贴图效果

步骤 5):选中球体,执行菜单栏中的 Component→Physics→Rigidbody 命令,为球体和立方体添加刚体属性。

步骤 6):创建 JavaScript 脚本,双击将其打开,输入下列代码。
var addForceObj:GameObject;function Start(){    addForceObj=GameObject.Find("Sphere");}function OnGUI(){    if(GUILayout.Button("force", GUILayout.Height(50))) addForceObj.rigidbody.AddForce(500, 0, 1000);}
步骤 7):保存脚本并将其链接到球体上。

步骤 8):单击 Play 按钮进行测试,当点击 force 按钮时,小球会受到力的作用向前运动,并与立方体发生碰撞,效果如下图所示。

测试效果
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2022-04-30Unity 3D物理管理器(Physics Manager)
  • 2022-04-30Unity 3D地形系统概述
  • 2017-06-05 html5现在是否可以进行成熟的web游戏开发?跟Flash相比有没有什么优劣势?
  • 2022-04-30Unity 3D触发器(Trigger)
  • 2017-06-05 为何读不到lua-bindings\script下的lua文件?
  • 2017-06-05 深圳地区接外包项目
  • 2017-06-05 急!求大神解决TiledMap读取图片错位的问题!
  • 2017-06-05 求助:天空盒子呈现出来的图像破碎问题
  • 2022-04-30Unity 3D Box控件
  • 2017-06-05 OS下创建新项目报错

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 从2x转到3x上面,遇到到两个让人抓狂的问题!求高手解答!
    • Unity 3D射线
    • 获取csb中的部件添加碰撞检测
    • 如何猜或者截取DDS文件头?
    • iOScocos2dx工程和原生工程整合
    • Unity 3D OnGUI常用控件
    • canvas3d学习一 应用结构
    • 请教unity中读取数据、配置文件相关
    • 快节奏多人在线游戏网络入门系列教程(4):爆头!滞后补偿
    • Unity 3D JavaScript脚本基础

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有