销毁被unity碰撞销毁物体物体unity3d

当前位置: >
导入模型碰撞检测
时间: 08:45 来源:Unity之家 作者:unity.jb51.net 浏览:
首先说一下Unity3D的单位问题。模型导入到Unity3D中,如果你之前没有在3D中关心过单位问题,则它在场景里的大小一定会出乎你的意料。Unity3D中的1单位是fbx文件中的1单位的100倍,所以,如果我们想在Unity3D中使用1单位=1米的话,那么mas和Unity3D中制作的时候,单位就要设置成1厘米。也就是说在导出Unity3D场景的时候我们需要选择厘米单位。再说导入模型,今天做了一个测试,把一个不到200万面的模型导入到Unity3D中成功,但是在给模型添加Generate Colliders的时候出现问题,可以添加上,但是添加上之后就找不到原来的模型了,试了好多次也没有成功,最后分析原因是,模型面太多了。解决办法是把原来的模型***生两个在添加到工程中去就可以解决。现在也是有一个疑问Unity3D单个物体多少面可以添加Generate Colliders?再说一个导入模型的碰撞检测,导入一个模型,不能与地面发生碰撞,解决办法是可以添加一个父物体Cube,它是有碰撞的可以吧导入模型拖拽到Cube下充当它的子物体在去掉Cube的Mesh Renderer,也就是不进行渲染Cube。当然,你也可以将它作为Cube或Sphere等形状进行碰撞,但可能精确程度会很差。就例如上面例子里的坦克,最上面的炮头左边是空的。这样我们可以创建多个Cube进行组合,来增加碰撞的精确度
(责任编辑:脚印)
免责声明:Unity之家部分内容来源于互联网,如有侵权,请联系我们,本站将立即进行处理。
猜你也喜欢看这些 ······
其他类型的Unity入门 ······unity销毁层级物体及 NGUI 深度理解总结
1.想找到层级面板中某个物体,并销毁,利用下面的代码:
&GameObject &obj = GameObject.Find(&所要找的名字&); Destroy(obj);
&如果要找的物体比较多,可以将找到的物体放在一个数组中,对于物体的名字如果是按照顺序或者一定规律命名的话,也可以通过for循环统一找并赋值,例如:物体的名字依次为house1,house2,&&house10的话,定义一个string &str;和一个GameObject类型的数组a存找到的物体,循环代码如下:
for(int i=1;i&11,i++)
& & & & &str = &house&;
& & & & str = str +i;
& & &a[i] = GameObject.Find(&str&);
& & & &Destroy(a[i]);//销毁找到的物体
还可以通过 GameObject.FindWithTag(&标签名&)来寻找,提前是给这些物体要添加tag
2.NGUI层级关系与非层级关系
NGUI层级关系就是创建时默认的那个层级关系,包括UIRoot , Camera , anchor,panel,非NGUI层级关系是Camera,然后在里面创建控件,但是Camera要挂上UIcamera 和UIpanel脚本。
//以下部分网上搜集
3.关于NGUI深度、层次总结(做过很多NGUI界面后理解会更深刻)
1、同一个panel下,同一个atlas的不同sprite的显示只受depth的控制,这是最经常用的方式。此时不论精灵的z轴如何变化,depth高的一定在前面。(相同atlas其实是共用同一个Z轴深度)
2、不同panel下,同一个atlas的不同sprite不受depth的控制,而受z轴控制。此时只需稍微调节下其中一个精灵的z轴就可以,比如0.1,就可以控制sprite的显示
3、不同panel下,不同atlas的精灵的穿插,受z轴的控制。
4、同一个panel下,不同Atlas的sprite,受z轴控制,depth不起作用。
项目中做到复杂一些的界面,经常会用到多个图集,以技能界面为例,项目中常用的图片放到共用图集中,&
这是一个图集,技能界面本身独有的元素,比如跟技能职业相关的背景,算作第二个图集,还有一些技能图标,&
图标单独归类到一个图集中,再一个就是字体的图集。基本一个界面如此分法,最多需要4个图集。NGUI的图集之间的&
处理,默认是靠调整控件的Z值来区分的,但是这里他可以调整同一个图集每个一个控件的Z值,其实不是很好。经常会出现图层相互遮挡的情况,尤其对于控件比较多的界面,一段时间回过来再修改界面的时候,整个要崩溃。&
我的做法是。在UIPanel中,为每一个Material添加一个layer的变量,当同一图层靠depth来决定前后关系,不同图层靠&
layer来决定前后关系,在绘制UIDrawCall的时候,根据layer对跟节点做一定偏移。这样就能从Z值中解放出来。&
如果大家也有碰到图层的问题,可以参考这样的做法,以此种方法来处理图层关系,简单,做过项目的圈套UI,还未有不能解决的情况。
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467142',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'物体一撞cube就飞了,该怎么解决?
用cube 套在物体上,然用另一个物体(没加重力)撞cube时,撞的物体被弹飞了,怎么解决啊,大神们。
要评论请先&或者&
把移动锁定咯
:把移动锁定咯 ( 19:32) 请问怎么锁定移动啊?现在急着用。。
关键是你想要什么样的碰撞结果?
给被弹飞的物体加碰撞,别加重力不会飞啊,我实验了呀。
:给被弹飞的物体加碰撞,别加重力不会飞啊,我实验了呀。 ( 09:31) 他没用自带的人物控制器吧,一个人物加了刚体去碰撞其他刚体.......
& & & 路过~~unity3D 如何销毁上一个被碰撞的物体比如下楼梯,我想实现 每下一层楼梯,则销毁上一层楼梯.在unity3d里用java怎么写呢?
黎约天罚KFE
楼梯由n个台阶组成,当某个台阶的高度大于人物的高度,则销毁它.
思路上貌似说的通,在destroy()里怎么表示大于人物高度的物体呢
void&Update()&{&&&&if(&transform.position.y&&&playPosition.y)&{&&&&&&&&Destory(this);&&&&}}在台阶的update函数检测是否高度大于玩家的高度
为您推荐:
其他类似问题
扫描下载二维码猴子原创,欢迎转载。转载请注明: 转载自Cocos2D网--,谢谢!原文地址: /?p=339导入的场景文件,发现人物会穿墙,也就是场景没有碰撞。那么如何添加mesh之间的碰撞呢?最后发现挺简单的。&1、在Project中选中你的场景2、在Inspector中勾选 Generate Colliders3、Apply即可生成模型的mesh collider

参考资料

 

随机推荐