欢迎光临南京典乐信息科技有限公司
24小时:400-025-1949
繁體版
手机版
公司新闻
行业新闻
当前位置:首页 » 新闻中心 » 公司新闻

许多真实游戏开发的内情

发表日期:2017-11-17 17:17:38文章编辑:浏览次数:190 标签:公司新闻    

我是一名接触计算机图形学不久的学生了解到许多真实游戏开发的内情,受益匪浅1.在3中提到的Euler方法和Verlet方法其实Euler方法本身有许多变种,稳定性无法一概而论,您讨论的似乎是最简单的explicitEuler方法,这个方法确实是存在比较大的数值稳定性问题的,表现为系统能量会持续增加而不 ...

我是一名接触计算机图形学不久的学生了解到许多真实游戏开发的内情,受益匪浅
1. 3中提到的Euler方法和Verlet方法

其实Euler方法本身有许多变种,稳定性无法一概而论,您讨论的似乎是最简单的explicit Euler方法,这个方法确实是存在比较大的数值稳定性问题的,表现为系统能量会持续增加而不守恒(比如弹簧振子振幅越来越大,或者围绕恒星的天体轨道越来越往外等)。除此之外还有Symplectic EulerLinearized Implicit EulerImplicit Euler这些。我原本不了解这里提到的Verlet方法,从公式上出发似乎就是Symplectic Euler方法:
首先为方便起见假设d = 1.0
则有 x(t+dt) = x(t) + (x(t) - x(t-dt)) + a(t)*dt^2
移项就是x(t+dt) - x(t) = x(t) - x(t-dt) + a(t)*dt^2
x(t) - x(t-dt)/dt定义为v(t),则有
x(t+dt) - x(t) = (v(t) + a(t)*dt)*dt
左边应等于v(t+dt) * dt,因此化简得
v(t+dt) = v(t) + a(t)*dt
这个式子与explicit Euler的区别就在于explicit是先用当前的v更新了x,再用当前的a去更新v的顺序,而此式是相当于先用a更新了v之后再用这个v去更新x。(除此之外还节约了存储v的空间)
Symplectic Euler(Verlet?)确实比explicit Euler要稳定一些,但仍然没有完全解决稳定性问题(实际中仍然会出现能量不守恒),通过改进Symplectic Euler可以严格地保证数值积分本身的稳定性,就是Linearized Implicit EulerImplicit Euler了,不过他们增大了计算量,并且不是所有时候都能得到力的显式表达形式,所以适用面似乎很小(不太了解实际工程中的用途)。

2. 头发的处理

日志中第6部分为了处理头发弯曲时应该有抵抗弯曲的能力的问题,采用了增加弹簧约束的方法,不过增加弹簧的方法对于头发这样的弹性体其实并不是很适用,因为大多数情况下头发的角度接近直线,扭角很小,此时附加的弹簧的长度随扭角的变化率不高,不能有效地约束头发的扭曲程度:
http: // www.wolframalpha.com/input/?i=y+%3D+2+-+2*cos%28PI-theta%29+from+theta+%3D+0+to+PI%2F4
大体上画了一下一个用来约束头发保持180度直线的弹簧在偏移时的长度变化(长度的变化量和力成正比),在扭角不大时变化率不大,扭角大时变化率较大,这就导致如果把弹簧的弹性系数K设小了,就容易发生振动(因为扭角小时约束不住,一下子运动到扭角大的时候反馈又太强了);如果把K设大了就要求时间间隔dt要小,否则数值上不稳定,我觉得您后来出现的头发弹来弹去的原因就在这里。不过您使用的三角形网格使得弹簧原本都有一个角度,应该是已经缓解了一部分这个问题
其实似乎可以用利用对弹性体处理的方法,直接约束扭曲的角度,我自己的实验效果会好不少,假设扭曲后的弹性势能w是扭角theta(或者扭角与静止状态下扭角的差)的平方,则通过w对构成一段扭曲的三个顶点的坐标的偏导可以计算出三个点应当受到的力的大小。这里计算角度时原则上可以用atan, asin, acos都行,但是由于atan的偏导数不含开平方根,应该在计算上会快一点。这样就可以直接约束扭曲的角度了,可以提高数值的稳定性,并且系统的结构也会简单一些。(不过我觉得您的同心球约束的方法也很赞!从表现上来说也不错的)

专业服务:南京建站,南京网站制作,南京网站设计,南京网站制作公司

咨询电话:400-025-1949(7*24小时在线服务)

咨询QQ:260193150

公司网址:www.icanpk.com

本文地址:http://www.025app.com/news/detail_192.html

相关新闻

两Q友非法入侵他人网站推广赌博公司 南京医药官网等中招

两人利用木马信息侵入南京医药、世纪华联等单位官网串改链接帮助…

日期:2020-04-28 浏览次数:298

3月8日后南京长江二桥车道封闭维护 为期22天

为保障路桥结构和交通通行安全,经市政府批准,南京长江第二大桥…

日期:2020-03-08 浏览次数:281

怎样解决企业网站没有客户咨询的问题?

我们都知道如今是互联网的时代,传统的线下业务已经满足不了企业…

日期:2020-03-06 浏览次数:235

房地产税还有2年到达战场,3千多南京人涌向了河西...

关注两会3月4日的人大新闻发布会上,针对房地产税,发言人张业…

日期:2020-03-06 浏览次数:133

南京仙林汽配城内一物流公司卷款跑路

3月5日,有市民反映,南京仙林汽配城内的一家物流公司突然跑路…

日期:2020-03-06 浏览次数:106

关于我们
技术支持
联系我们
南京典乐科技
客服电话:400-025-1949 (工作日9:00~18:00)
项目经理:138-519-41123
咨询 Q Q:260193150
公司地址:南京中华路420号江苏省科技中心5层
客服QQ
获取报价
联系电话
400-025-1949
返回顶部