新宝娱乐城棋牌: 射线检测延迟问题

7
回复
257
查看
打印 上一主题 下一主题
[ 复制链接 ]
排名
1761
昨日变化

新宝娱乐城博彩打不开 www.sl6cl.com.cn 40

主题

198

帖子

2056

积分

Rank: 9Rank: 9Rank: 9

UID
178893
好友
14
蛮牛币
2632
威望
0
注册时间
2016-10-28
在线时间
800 小时
最后登录
2019-3-20

专栏作家

50蛮牛币
问题场景:一只箭从空中射向地面,想实现将箭头插入地面。尝试办法:用碰撞检测会导致箭 碰到地面发生偏移。所以我用触发器或者射线来解决,但两者会有另外一个问,由于箭速度较快,射线在Update及FixedUpdate中检测会穿透或者射进地面过多的情况
解决办法:???

7日久生情
2335/5000
排名
665
昨日变化

1

主题

223

帖子

2335

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
163577
好友
2
蛮牛币
1457
威望
0
注册时间
2016-8-22
在线时间
785 小时
最后登录
2019-3-15
沙发
2019-3-12 16:31:37 只看该作者
触发器或者射线穿透过多,都是可以通过缩放触发器的大小或者缩短检测射线的长度的解决,于实际体验中,也看不到这些触发器或者射线,也不会影响视觉效果。如果确实纠结这个问题,那个箭的速度应该是知道的,那么乘以0.02f就是触发器的长度或者射线的长度,然后在lateupdate里面检测就好
6蛮牛粉丝
1293/1500
排名
2333
昨日变化

1

主题

150

帖子

1293

积分

Rank: 6Rank: 6Rank: 6

UID
132454
好友
0
蛮牛币
2255
威望
0
注册时间
2015-12-23
在线时间
524 小时
最后登录
2019-3-20
板凳
2019-3-12 16:42:00 只看该作者
个人觉得:你的箭施加力后飞出去,掉地上,保持放心不动,箭身部分在地里,不就实现了你想要的。当triggerEnter后,把箭本身的rigibody移除。
排名
1761
昨日变化

40

主题

198

帖子

2056

积分

Rank: 9Rank: 9Rank: 9

UID
178893
好友
14
蛮牛币
2632
威望
0
注册时间
2016-10-28
在线时间
800 小时
最后登录
2019-3-20

专栏作家

地板
楼主 2019-3-12 16:44:22 只看该作者
w20050830413 发表于 2019-3-12 16:31
触发器或者射线穿透过多,都是可以通过缩放触发器的大小或者缩短检测射线的长度的解决,于实际体验中,也看 ...

我在检测到箭碰到地面时,会让箭停住。要的是箭头正好扎进地里的效果,又不能扎进过多。 在**update里检测,扎进的深浅不一定。
排名
1761
昨日变化

40

主题

198

帖子

2056

积分

Rank: 9Rank: 9Rank: 9

UID
178893
好友
14
蛮牛币
2632
威望
0
注册时间
2016-10-28
在线时间
800 小时
最后登录
2019-3-20

专栏作家

5#
楼主 2019-3-12 16:44:27 只看该作者
w20050830413 发表于 2019-3-12 16:31
触发器或者射线穿透过多,都是可以通过缩放触发器的大小或者缩短检测射线的长度的解决,于实际体验中,也看 ...

我在检测到箭碰到地面时,会让箭停住。要的是箭头正好扎进地里的效果,又不能扎进过多。 在**update里检测,扎进的深浅不一定。
7日久生情
2335/5000
排名
665
昨日变化

1

主题

223

帖子

2335

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
163577
好友
2
蛮牛币
1457
威望
0
注册时间
2016-8-22
在线时间
785 小时
最后登录
2019-3-15
6#
2019-3-12 16:51:12 只看该作者
其实这样可以取个巧,将扎进地面的长度固定<以射线为例,从碰撞点往箭的移动方向移动这个固定长度,计算出这个点,然后让箭的位置lerp或者怎样到这个点都行,卡死>。正常情况下,由于速度不同,扎入的深浅不一致才比较真实,看你想要哪种效果了
参与人数 1蛮牛币 +10 收起 理由
网虫虫 + 10 赞一个!

查看全部评分总评分 : 蛮牛币 +10

6蛮牛粉丝
1274/1500
排名
3156
昨日变化

1

主题

172

帖子

1274

积分

Rank: 6Rank: 6Rank: 6

UID
66162
好友
5
蛮牛币
1236
威望
0
注册时间
2015-1-6
在线时间
617 小时
最后登录
2019-3-20
7#
2019-3-13 16:55:21 只看该作者
用触发器比较好。你可以再设置一个触发器,就在箭的中间部分,检测地面触发。设置下 物理属性,这两层可以触发。其他不行
[发帖际遇]: 一个袋子砸在了 绿茶风凉 头上,绿茶风凉 赚了 1 蛮牛币. 幸运榜 / 衰神榜
6蛮牛粉丝
1235/1500
排名
3110
昨日变化

5

主题

333

帖子

1235

积分

Rank: 6Rank: 6Rank: 6

UID
234410
好友
2
蛮牛币
1388
威望
0
注册时间
2017-7-26
在线时间
407 小时
最后登录
2019-3-22
8#
2019-3-14 09:44:33 只看该作者
这种常见的问题 简单的方法做即可 可以这样
射出的时候 只要判断 自身的 y 就足够了
[C#] 纯文本查看 复制代码
float y = 0;//地面
public void Update()
{
    if(this.transform.position.y < y)
        this.transform.position.y = 0;
}

或者在 update 射线计算 需要将射线的最大长度调高(保证射出过程中 至少有一帧这个射线是碰到地的) 然后每帧判断 只要上一帧碰到 这一帧没有碰到 那么就穿墙了
当然 这只是两个简单例子 这个只是解决速度快穿透问题 至于细节 这里就不讨论了
参与人数 1蛮牛币 +20 收起 理由
网虫虫 + 20 很给力!

查看全部评分总评分 : 蛮牛币 +20

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

  • 夏天多吃点凉拌菜 这么吃,让你胃口大开! 2019-03-22
  • 骞垮窞甯傜綉缁滃晢鍝佷氦鏄撲笌鏈嶅姟鐩戠骞冲彴 2019-03-21
  • 外媒称新加坡为“特金会”全力以赴:耗资约2000万新元 2019-03-20
  • 传媒期刊秀:《对外传播》 2019-03-19
  • 构建人类命运共同体的中国智慧 2019-03-18
  • 苏州高新区人民医院:引领实验室自动化,满足“井喷”式检测需求 2019-03-18
  • 父亲节当天 美国第一夫人跟特朗普唱了个反调 2019-03-17
  • 阳泉首次颁布地方实体性法规 两部法规将于7月1日起实施 2019-03-16
  • 诗歌三曹对酒当歌 曹操“篡汉”恶名几度真? 2019-03-15
  • 美国首届“‘一带一路’亚洲商务论坛”即将在堪萨斯州举办 2019-03-15
  • 银川:“互联网+政务”加速“放管服”改革 2019-03-14
  • 【学习时刻】颜晓峰少将:加快把人民军队建设成为世界一流军队的强军纲领 2019-03-14
  • 人民日报评论员:满怀信心走好中国道路 2019-03-13
  • 监督效率高了 办案成本低了 2019-03-12
  • 孕期肥胖和超重  易致女儿性早熟 2019-03-11
  • 288| 664| 810| 329| 328| 817| 356| 784| 451| 94|