unity中的利用Matrix4x4实现缩放
2016-12-26 09:43
489 查看
1、缩放矩阵
2、示例代码
3、将两个脚本放在一个空物体上
4、拖拽Inspector面板,则可以看到缩放结果:
2、示例代码
using UnityEngine; using System.Collections; public class MyTransform : MonoBehaviour { public Matrix4x4 matrix; //平移矩阵 public Vector4 v; //临时存储矩阵变换之后的点 public Vector4 startPos; //物体初始位置 public Vector4 startScale; //物体初始缩放 public float x = 1; //x轴平移/缩放 public float y = 1; //y轴平移/缩放 public float z = 1; //z轴平移/缩放 /// <summary> /// 记录初始位置 /// </summary> private void Start() { startPos = new Vector4(transform.position.x, transform.position.y, transform.position.z, 1); startScale = new Vector4(transform.localScale.x, transform.localScale.y, transform.localScale.z, 1); } /// <summary> /// Update中平移 /// </summary> private void Update() { //MyTranslate(); MyScale(); } /// <summary> /// 平移函数 /// </summary> private void MyTranslate() { matrix = Matrix4x4.identity; //单位矩阵 matrix.m03 = x; matrix.m13 = 4; matrix.m23 = 5; v = matrix * startPos; transform.position = new Vector3(v.x, v.y, v.z); } /// <summary> /// 缩放函数 /// </summary> private void MyScale() { matrix = Matrix4x4.identity; matrix.m00 = x; matrix.m11 = y; matrix.m22 = z; v = matrix * startScale; transform.localScale = new Vector3(v.x, v.y, v.z); } }
3、将两个脚本放在一个空物体上
4、拖拽Inspector面板,则可以看到缩放结果:
相关文章推荐
- unity中的利用Matrix4x4实现平移
- 利用滑杆实现对Flex可视化组件的缩放
- 如何利用EnteLib Unity Interception Extension 和PIAB实现Transaction
- unity实现鼠标拖拽缩放功能代码
- cocos2dx游戏开发之利用多点触摸(实现缩放功能或者简单的手势识别)
- [Unity3d]unity+asp.net实现动态搜索加载模型并且能够实现模型拖动缩放的功能
- 利用鼠标滚轮实现图片缩放
- 利用Quartz 2D实现图片的旋转、缩放、裁剪
- ios 利用UIScrollView实现图片缩放
- 利用Unity来实现插件开发
- (转)如何利用EnteLib Unity Interception Extension 和PIAB实现Transaction的Call Handler
- 利用JQuery实现点击缩放
- Unity 利用协同程序实现场景切换时加载进度的监控
- c#,利用WPF的ScaleTransform和TranslateTransform实现图片的缩放效果
- Unity利用NGUI实现自定义鼠标
- 利用javascript实现图片等比例缩放
- 利用Unity来实现插件开发
- Qt可显示基本的图像类型,利用QImage、QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放、旋转)。
- Android:利用Matrix,实现双手指缩放图片与拖拽图片功能
- 七、Sketchup用ruby进行二次开发--利用Transformation实现Move工具(平移、旋转和缩放)