签到领奖

[Unity3d] 怎样实现点击地面生成几何图形

[复制链接]
查看: 4182|回复: 9
排名
849
昨日变化
8
发表于 2016-12-20 14:39:03 | 显示全部楼层 |阅读模式
30泰斗币

怎样在三维空间的地面通过鼠标点击地面实现生成不规则图形然后生成相对应的几何图形?求大神指点。。。

最佳答案

查看完整内容

1.点击地面用射线检测 2.生成不规则多边形(第一种是顶点随机生成,第二种是手动设置顶点) 用MeshFileter和MeshRenderer实现,把顶点,三角面,uv信息设置到Mesh中 3.生成几何多边型同上 图一 多边形面片 图二 生成多边形面片后 绘制相对应的几何多边形 这里的顶点我是随机生成的(例子中顶点个数是指定了5个,你可以用Random随机,顶点位置随机),手动设置顶点很简单就不举栗子了 算法:取x坐标最大的点A(如果最大x坐 ...
[发帖际遇]: 啷哩个啷儿 乐于助人,奖励 6 泰斗币. 幸运榜 / 衰神榜
+1
1405°C
9
  • 彼岸灬花开
  • chengchunqian
  • aa710315280
  • u33d
  • kx88
过: 他们
最近访问 头像模式 列表模式
排名
361
昨日变化
3
发表于 2016-12-20 14:39:04 | 显示全部楼层
1.点击地面用射线检测
2.生成不规则多边形(第一种是顶点随机生成,第二种是手动设置顶点)
   用MeshFileter和MeshRenderer实现,把顶点,三角面,uv信息设置到Mesh中
3.生成几何多边型同上

图一 多边形面片
1.png

图二 生成多边形面片后 绘制相对应的几何多边形
2.png

这里的顶点我是随机生成的(例子中顶点个数是指定了5个,你可以用Random随机,顶点位置随机),手动设置顶点很简单就不举栗子了
3.png
算法:取x坐标最大的点A(如果最大x坐标的点不止一个,则取Y坐标最小的点),依次计算A点与其余各点的连线与水平线之间夹角的正切值,然后按照正切值排序(本例使用堆排序),依次连接排序后的各点即组成一个多边形(要求边与边无交叉)。
原理:其它所有点都在A点的左侧,所有夹角的范围为-Pi/2~Pi/2,单调递增函数。


这里的立体几何的Mesh我是分成了顶面和侧面2部分绘制的(便于你理解),你也可以绘制成一个Mesh
这里只展示了一种表现立体几何的方式(因为我不知道你想要的是哪种),还有一种内凹的原理一样,只是uv需要改下

工程文件下载: IrregularFigure.rar (212.86 KB, 下载次数: 11)

免费评分

参与人数 2泰斗币 +55 收起 理由
里斯 + 50 赞一个!
jike_381143309 + 5 很给力!

查看全部评分

回复

使用道具 举报

2武林新丁
199/200
排名
83
昨日变化
发表于 2016-12-24 17:03:20 | 显示全部楼层
为了泰斗币,拼了。
回复

使用道具 举报

2武林新丁
103/200
排名
383
昨日变化
发表于 2016-12-28 21:04:46 | 显示全部楼层
不管你信不信,反正我是信了。
回复

使用道具 举报

排名
1687
昨日变化
6
发表于 2016-12-30 16:03:07 | 显示全部楼层
果断MARK,前十有我必火!
回复

使用道具 举报

3江湖小虾
290/500
排名
35
昨日变化
发表于 2017-1-1 12:17:33 | 显示全部楼层
啥也不说了,泰课就是给力!
回复

使用道具 举报

3江湖小虾
209/500
排名
193
昨日变化
1
发表于 2017-1-9 10:01:55 | 显示全部楼层
彼岸灬花开 发表于 2016-12-20 14:39
1.点击地面用射线检测
2.生成不规则多边形(第一种是顶点随机生成,第二种是手动设置顶点)
   用MeshFilet ...

回答的很好 受教了
回复

使用道具 举报

发表于 2017-1-11 17:34:17 | 显示全部楼层
werewrew sdfsdfsdf sdfsdfsdfsdf sdfsdfsdfdsfdsf sdfdsfsdfsdfsd
[发帖际遇]: nham123 向上天求妹纸,神仙看了看你 ,甩4 泰斗币给你说道,快打车去棒子国. 幸运榜 / 衰神榜
回复

使用道具 举报

排名
416
昨日变化
1
发表于 2017-1-12 11:47:56 | 显示全部楼层
这波不错
回复

使用道具 举报

排名
416
昨日变化
1
发表于 2017-1-22 17:23:30 | 显示全部楼层
不管你信不信,反正我是信了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

在线客服(工作时间:9:00-22:00)
010-82609395
泰斗社区公众号

Copyright   ©2015-2016  【泰斗社区】-专注互联网游戏和应用的开发者平台  Powered by©Discuz!  技术支持:迪恩网络     ( 沪ICP备14023207号-9 )