Unity中HingeJoint控制开门
在unity的建筑场景中,大家会碰到这样一个问题,建筑中门的运动不自然,没有开门的效果。如果有不了解HingeJoint(铰链关节)的人习惯性的通过旋转门的方向来达到开门的效果,这样就会存在一个物体,开门时无法控制开门的幅度,门是在固定的条件下旋转,而不是像现实中受力的影响而偏移。下面就和大家介绍下通过HingeJoint来控制开门的效果。
一、场景的搭建
在场景中通过Cube搭建出一个门,用独立的一个Cube当作人。场景图如下:
我们需要的效果是移动红色方块去推门,用方块把门推开。
二、门的设置
对门添加刚体和HingeJoint两个组件,在HingeJoint中进行设置,这个组件就是用来控制门的偏移。
要控制门的旋转主要改变组件的Anchor和Axis两个属性,其他保持默认就行。其中Anchor是关节的锚点,物体是绕锚点旋转,Axis是锚点的轴向,控制物体旋转的方向。我设置的是让门绕着左边的门框旋转,方块向前推时,门往里开,向后推时门向外开。
三、开门效果演示
在门之前时,当方块向前移动,可以推着门往里开,在门之后时,方块向后移动,可以推着门往外开。效果图如下,左边的图是门往里开的,右边的图是门往外开的。
四、总结
在unity中,HingeJoint的运用能够使门的开关更真实,HingeJoint通过与别的物体连接来控制物体的偏移,一般用在门、窗的开关,链子、钟摆的摇晃。unity中的关节组件常用的有FixedJoint(固定关节)、SpringJoint(弹簧关节)和HingeJoint(铰链关节)。我们能够通过关节组件把两个物体连接起来,通过力的作用改变一个物体的移动让另一个物体跟随移动,让物体的运动更真实。
Unity中HingeJoint控制开门相关推荐
- Pico SDK在Unity中如何控制移动
Unity导入Pico SDK后如何进行实际开发呢?想必大家都很好奇.从去年的省赛到今年的国赛, 本人研究Pico有快一年了,刚开始学习的时候自己翻过很多的博主文章,都没有找到自己想要的知识,从那时起 ...
- Unity中按钮控制模型爆炸拆分的制作
很基础的教程,适用于unity小白.实现效果如下: 操作步骤如下: 1.在场景中创建动画模型,放到一个空物体下面,如图所示. 2.在window-Animation下,打开Animation窗口,点击 ...
- unity中通过代码控制游戏中画质
最近在开发项目的时候突然想到可以添加一个调整画质的按钮或者DropDown或者Slider的UI来控制游戏中的画质 因为我之前写过一篇关于DropDown的使用方法的博客 DropDown的使用方法地 ...
- unity中控制游戏物体移动最基本的三种方法
**unity**中控制游戏物体移动的最基本的三种方法 第一种移动方法-transform.Translate,游戏物体按照你给的方向和速度进行运动 代码如下: Public float speed; ...
- Unity中使用动画状态机控制Spine动画
下载Spine-Unity 为了在Unity中支持Spine动画,在http://zh.esotericsoftware.com/spine-unity-download/#Download下载spi ...
- unity中的关于声音(利用UI控制)
在游戏制作中声音是一个比较重要的部分,没有声音可以说游戏是没有灵魂的. unity中声音组件介绍 在unity中如果想要加入声音,我们可以再摄像机上添加一个AudioSource 然后下载我们想要的音 ...
- unity中声音大小控制物体行为(音量的大小)
声音的大小控制物体的运动:这个是写好的脚本,拿到unity中就可以测试一下. public class Manager : MonoBehaviour { public float volume; A ...
- Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转
Unity中C#代码学习用wasd和上下左右键控制物体前后左右上下移动和绕轴旋转 using System.Collections; using System.Collections.Generic; ...
- Unity3D总结记录(四) Unity中控制AudioSourse播放多条不同的声音文件
Unity中,如果需要让播放声音,只需要给游戏对象添加AudioSourse组件即可,但,默认的组件中,仅支持一条音源的播放,如要实现多条音源的播放,可在代码中实现,具体方法如下: 首先在类中申请多个 ...
最新文章
- 1 2 5组合100,有多少种方法
- IDEA2017注册码
- mysql 只返回第一条_mybatis 关联查询时,从表只返回第一条记录解决办法
- Android DDMS如何使用?
- windows 卸载IE8还原IE7的方法
- Bootstrap CSS 编程规范之语法规范
- UVA11577 Letter Frequency【文本】
- 民族融合 —— 魏晋南北朝
- python之scipy库简单操作
- 【Jmeter】Jmeter使用教程
- Centos下ftp的安装和配置
- 进制和ASCII转换工具
- 参加第一届“SLAM技术及应用”暑期学校暨研讨会和全国SLAM技术论坛有感
- 【自然语言处理】从词袋模型到Transformer家族的变迁之路
- 正在移除icloud数据久_数据集中存储、安全备份好帮手,上德数据天忆宝盒PDP-SA104 NAS...
- 冲激响应不变法或双线性变换法中的参数T为什么是一个无关紧要的参数
- [Android]桌面应用
- CC00055.LinuxNetwork——|LinuxApache.V05|
- 零基础能不能学计算机专业,零基础新手可不可以学会计算机电脑
- OLED 驱动模块程序代码
热门文章
- Linux循环登录,输入一次密码,屏幕闪了一下还要输入密码,一直循环在登录界面
- matlab三斜晶系,高分子与计算机模拟
- 【嵌入式Linux学习笔记】基于Linux官方库的标准外设驱动
- 你了解C语言中的输入函数吗?
- 通俗易懂的TCP,SSL以及HTTPS的连接建立过程详解
- swift airdrop_如何关闭iPhone上的AirDrop(这样您就不会得到未经请求的照片)
- 软件测试行业女生多么,软件测试行业为何女生越来越多?
- matplotlib部件(widgets)之套索(Lasso)
- 互联网时代?真人秀时代?
- Frida 基础环境部署和运行第一个 hook demo