≡
导航
搜索
教程
插件
模型
模板
博客
交易
朋友
Unity 3D 游戏引擎吧
已关注 | 取消
+关注
关注:
46
帖子:
451
签到
05月05日 尚未签到
看帖
图片
精品
视频
共有回帖数
0
个
【交流】看完星际穿越,迫不及待想做一个虫洞演示程序
只看楼主
收藏
回复
奈何情殇
等级:
看完星际穿越,迫不及待想做一个虫洞演示程序
的想法是这样的,
首先准备两个太空的天空盒 A,B,制作为两个Cubemap。
然后假设虫洞在坐标原点,即虫洞中轴线的四维方程为{x=0; y=0; z=0},
设定一个摄像机初始位置,过摄像机位置向虫洞中轴线作垂线叫做准线。
现在需要求出偏离准线角度范围[0, pi]的所有光线分别经过虫洞力场后出射光线的空间及角度。
有了这个角度集合,我便能将平面应用于空间,以准线在空间中建立一个极坐标系,求出任何方向光线经过虫洞力场后的最终出射方向,
这样我就能根据屏幕像素坐标求出入射光的极坐标,通过模型算出出射光极坐标。
最后再将出射方向传入shader,在Cubemap上查找出屏幕上应该出现的颜色。
FieldRadius为力场作用半径(坡度为0°时)
CoreRadius为内管半径(坡度为90°时)
FieldAngle函数为空间中一点的虫洞坡度算法
(这是一个人为假设的函数)
大致曲线如下
按照代码中的设定
观察者离虫洞距离为40时,开始进入力场,此时坡度为0,一旦观察者离虫洞距离为10,则坡度为90°(代码中为89°,防止错误),并且进入另一个空间,速度及面向的方向则被镜像。
首先,
利用推演法,模拟出了光子在圆锥形空间扭曲中的运动轨迹,即测地线:
光谱我已经生成好了,这是其中10~40的一段
楼主 2015-10-28 20:46
回复
共有回帖数
0
个
回 帖
表情
图片
视频
欢迎来到本吧,您可以在此发帖和众多大咖交流学习.
选择或直接输入昵称
Tips:支持QQ截图直接粘贴
发表
登录直线网账号
自动登录
忘记密码
免费注册
本吧信息
查看详情
吧主:
mygameplay
本吧公告
优秀文章 【交流】Unity 脚本入门 个人经验及常用方法块 http://www.linecg.com/tieba/content_4292.html 大家可以看一下
我常逛的吧
我管理的吧
Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号
意见反馈
|
关于直线
|
版权声明
|
会员须知