当前位置: 首页 > news >正文

手机如何创建简易网站广东网络推广运营

手机如何创建简易网站,广东网络推广运营,自己做的网站打开显示很慢,西安网站建设网站制作之前,在做人物技能设计的时候,遇见一个做螺旋运动的技能,特效师,K帧K个半死,最终还是没有完美的弄出一个螺旋运动.这个时候,纯手工制作就没有用工程学的方法制作那般完美了. 在一个平面上做螺旋运动,螺纹由外向内,只需要两个步骤就可以完成. 1. 先在平面中做圆周运动 2. 然后…

之前,在做人物技能设计的时候,遇见一个做螺旋运动的技能,特效师,K帧K个半死,最终还是没有完美的弄出一个螺旋运动.这个时候,纯手工制作就没有用工程学的方法制作那般完美了.
在一个平面上做螺旋运动,螺纹由外向内,只需要两个步骤就可以完成.

1. 先在平面中做圆周运动
2. 然后逐渐缩短半径

如果在螺纹平面的垂直方向上再加一个运动量,则可形成3D螺旋运动.想想都觉得简单..哈哈!
这里写图片描述
上图为2D螺旋线运动轨迹和3D螺旋线运动轨迹示意图.
接下来本文将讲解如何制作一个2D螺线运动轨迹.


圆周运动

在3D空间中使一个物体在绕指定轴做圆周运动,例如Y轴,那么物体就在XZ平面上运动.
这里写图片描述
中心点A可已看成是从世界坐标远点到A点的向量,在此表示为OA,图中交点B也可用同样的方式去理解,在此表示为OB,那么红线所代表向量则可表示为AB.
已知A点和向量AB时,向量OB=OA+AB;
以此类推,物体做圆周运动时,轨迹上的点X(向量OX),可以由向量OA加上中心到圆周交点的X的向量AX求得,即OX=OA+AX;向量AX就是需要我们去实时计算的量.

如何计算向量 AX?
由图中的向量AB绕Y轴(或者说是中心点A)旋转一圈就可以求得所有的向量AX.向量AB=半径长度*单位向量.这里的单位向量可用XZ平面的任何一个单位向量表示.

如何旋转向量 AB?
我们可以使用四元数对向量AB做旋转变换,得出所有的向量AX.
物体圆周运动的求解思路大致如此,下面我给出一段示例代码.

public class MROTATE : MonoBehaviour
{public float _distance = 5f;public float _angle = 10f;bool _isStart = false;Transform _center;Transform _surround;void Awake(){_center = transform;_surround = GameObject.CreatePrimitive(PrimitiveType.Sphere).transform;_center.name = "_center";_surround.name = "_surround";_surround.position = Vector3.Normalize(Vector3.forward) * _distance + _center.position;StartCoroutine(InitEnd());}IEnumerator InitEnd(){yield return new WaitForSeconds(1);_isStart = true;}void Update(){if (!_isStart) return;//绕Y轴旋转_angle度Quaternion rotate = Quaternion.AngleAxis(_angle, Vector3.up);//由中心指向圆周的方向向量Vector3 dir = Vector3.Normalize(_surround.position - _center.position);//向量OX = 向量OA + 向量AX_surround.position = _center.position + rotate * dir * _distance;}}

关于四元数的类容.
可以参考链接http://blog.csdn.net/candycat1992/article/details/41254799
或者参考书籍<3D数学基础:图形与游戏开发>


逐渐缩短半径

逐渐缩短半径就比较容易了,没有圆周运动那么复杂的计算.如果理解Lerp线性插值运算,那么逐渐缩短半径对你来说就是小菜一碟.

Lerp运算,有三个参数,第一个参数是起始值start,第二个参数是终点值end;第三个参数t范围在[0,1].
当第三个参数为0时,返回值start;
当第三个参数为1时,返回值end;
当第三个参数为0.5时,返回start与end中间的值,即(start+end)/2;

在Update方法中,做插值计算便可做到半径逐渐减小的效果.
其他好像没什么好说的了,下面是最终代码!

public class MROTATE : MonoBehaviour
{public float _distance = 10f;public float _speed = 10;public float _angle = 2f;bool _isStart = false;Transform _center;Transform _surround;float _value = 1;void Awake(){_center = transform;_surround = GameObject.CreatePrimitive(PrimitiveType.Sphere).transform;_center.name = "_center";_surround.name = "_surround";_surround.position = Vector3.Normalize(Vector3.forward) * _distance + _center.position;//这一步协程是为了避免螺纹线初始位置绘制错误StartCoroutine(InitEnd());}IEnumerator InitEnd(){yield return new WaitForSeconds(1);_isStart = true;}void Update(){if (!_isStart) return;//半径逐渐减小_value -= _speed * Time.deltaTime * 0.01f;float distance = Mathf.Lerp(0, _distance, _value);//圆周运动Quaternion rotate = Quaternion.AngleAxis(_angle, Vector3.up);Vector3 dir = Vector3.Normalize(_surround.position - _center.position);_surround.position = rotate * dir * distance + _center.position;_pos.Add(_surround.position);}List<Vector3> _pos = new List<Vector3>();void OnDrawGizmos(){Gizmos.color = Color.red;//在Scene视图中绘制螺纹线for (int i = 0; i < _pos.Count - 1; i++){Vector3 from = _pos[i];Vector3 to = _pos[i + 1];Gizmos.DrawLine(from, to);}}
}

最终在Scene视图下的效果图如下.
这里写图片描述

http://www.lbrq.cn/news/2756395.html

相关文章:

  • 做电影网站需要用什么空间三只松鼠搜索引擎推广
  • 淄博网站建设至信网络亚马逊提升关键词排名的方法
  • 网上兼职做网站网站百度收录批量查询
  • 搞个竞拍网站怎么做seo公司重庆
  • 网站和app区别与联系广州google推广
  • vs可以做网站吗最火网站排名
  • 网站域名列表怎么填写seo任务
  • 网站开发招标公告安卓优化软件
  • 电脑做系统哪个网站比较好店铺运营
  • 石家庄市网站建设培训班seo管理与优化期末试题
  • 西安百姓网免费发布信息网上海城市分站seo
  • 网站首页做后台链接百度sem认证
  • 昭通网站建设公司公司网页制作需要多少钱
  • 卖童书的网站该怎么做吴江网站制作
  • 网站模板对seo的影响广东深圳今天最新通知
  • 定制网站建设报价单企业网络营销系统分析报告
  • 做餐饮系统网站百度一下首页网页
  • 网站建设科技公司最新网站查询工具
  • 网站高端网站引流推广
  • 公司设计网站需要包含什么资料债务优化是什么意思
  • 北京昌平区杭州专业seo服务公司
  • 济南做网站推广哪家好千锋教育课程
  • 广州开发区建设环境保护局网站中国重大新闻
  • 编程网站scratch网址最近新闻有哪些
  • 网站建设优化服务如何广告类的网站
  • 淘宝客自己做网站教程2021友情链接qq群
  • 一起做网店网站入驻收费万能识图
  • 深圳做网站推广公司哪家好网站推广的方式
  • java代码做网站人工在线客服
  • 学做网站能赚多少钱免费网页制作模板
  • 【Jenkins】03 - 自动构建和docker构建
  • MCP协议演进:从SSE到Streamable HTTP的技术革命
  • 解锁 JavaScript 高级技能:从基础到实战的进阶指南
  • kafka的pull的依据
  • 机器学习的多种算法
  • 在职老D渗透日记day19:sqli-labs靶场通关(第26a关)get布尔盲注 过滤or和and基础上又过滤了空格和注释符 ‘)闭合