话不多说,先看效果!

实践步骤

创建3D模型,并将脚本放置模型上

注意:如果最终你控制模型时,发现旋转的中心位置不满意,这里我提供一个方案可以实现任意调整模型中心位置,即创建一个Empty对象,随后将想控制的模型置为Empty对象的子对象,最后调整Empty对象和模型对象的相对位置即可,对应的脚本也需要放在Empty对象上

可能有些小伙伴还是不明白上面的意思(懂的小伙伴这里可以跳过啦),比如现在有一个可乐瓶模型,我将可乐瓶的位置设置为(0,0,0),将Empty对象位置设置为(0,0.15,0),这样就能实现将旋转的中心从可乐瓶的中间位置移动到它瓶底位置

最后调整角度即可

脚本代码

#自动旋转

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class autozhuan : MonoBehaviour
{public float speed=90f;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){transform.Rotate(Vector3.up*Time.deltaTime*speed);}
}

#触控实现旋转缩放

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class suofang : MonoBehaviour
{private Touch oldTouch1;  //上次触摸点1(手指1)private Touch oldTouch2;  //上次触摸点2(手指2)void Update(){//没有触摸,就是触摸点为0if (Input.touchCount <= 0){return;}//单点触摸, 水平上下旋转if ( Input.touchCount ==1){Touch touch = Input.GetTouch(0);Vector2 deltaPos = touch.deltaPosition;transform.Rotate(Vector3.down * deltaPos.x, Space.World);//绕Y轴进行旋转transform.Rotate(Vector3.right * deltaPos.y, Space.World);//绕X轴进行旋转,下面我们还可以写绕Z轴进行旋转}//多点触摸, 放大缩小Touch newTouch1 = Input.GetTouch(0);Touch newTouch2 = Input.GetTouch(1);//第2点刚开始接触屏幕, 只记录,不做处理if (newTouch2.phase == TouchPhase.Began){oldTouch2 = newTouch2;oldTouch1 = newTouch1;return;}//计算老的两点距离和新的两点间距离,变大要放大模型,变小要缩放模型float oldDistance = Vector2.Distance(oldTouch1.position, oldTouch2.position);float newDistance = Vector2.Distance(newTouch1.position, newTouch2.position);//两个距离之差,为正表示放大手势, 为负表示缩小手势float offset = newDistance - oldDistance;//放大因子, 一个像素按 0.01倍来算(100可调整)float scaleFactor = offset / 75f;Vector3 localScale = transform.localScale;Vector3 scale = new Vector3(localScale.x + scaleFactor,localScale.y + scaleFactor,localScale.z + scaleFactor);//在什么情况下进行缩放if (scale.x >= 0.5f && scale.y <= 2f){transform.localScale = scale;}//记住最新的触摸点,下次使用oldTouch1 = newTouch1;oldTouch2 = newTouch2;}
}

【Unity3D--自由观察模型】模型自动旋转+触屏旋转和缩放相关推荐

  1. RK3566触屏旋转方向

    在一个项目中用到了7寸屏,需要竖屏显示,但是采购的是横屏,实际使用时需要改为竖屏.由于使用qt5.12开发界面,不像qt4那样修改一个配置项,液晶和触屏都旋转了.qt5通过打补丁旋转了LCD显示后,还 ...

  2. Unity相机自由观察场景模型方法总结

    一:方法一 适用场景:三维场景中,需要自由.全方位观察模型 描述:通过WASD控制相机的移动,鼠标控制相机的旋转,相机正视的方向即为正前方,按W前进,S后退,A左边平移,D右边平移.滚轮控制视野的放大 ...

  3. Unity3D 鼠标以及触屏移动、缩放控制器(相机)

    Unity3D 支持多平台的发布,但是平时在测试的过程中往往需要在各个平台之间进行切换,在平时开发中,对象的移动.舞台缩放使用鼠标控制比较方便,但是在安卓平台,鼠标就无法发挥作用了,只能使用触控操作, ...

  4. 树莓派4B的屏幕旋转和触控旋转

    下午又搞了台树莓派,装完后发现屏幕倒过来了,折腾了一下午,问了下组长才知道屏幕是官方正版的,最后一条命令就解决了.不过一个下午也有收获,记录下来 设备 树莓派4B,系统为树莓派官方DEBIAN系统(比 ...

  5. WAP、触屏版网站及APP的区别

    在手机上的应用通常分为"手机WAP版网站"."手机触屏版网站"."手机APP应用软件",其三者间有何区别呢?以下是各种版本网站及应用的示意图 ...

  6. [Android] 触屏setOnTouchListener实现图片缩放、移动、绘制和添加水印

        前一篇文章讲述了Android实现图片Matrix矩阵类缩放.旋转.对比度.亮度.饱和度处理,但是真正的图片软件都是使用触屏实现图片缩放.移动.添加水印等功能,所以该篇文章主要通过setOnT ...

  7. Unity 3D模型展示框架篇之自由观察(Cinemachine)

    本项目将整合之前Unity程序基础小框架专栏在Unity 3D模型展示项目基础上进行整合,并记录了集成过程中对原脚本的调整过程.增加了Asset Bundle+ILRuntime热更新技术流程. 在U ...

  8. 【Unity触控】实现缩放和360度观察模型、单击、双击、滑动

    话不多说,先看实现效果! 想要更牛X一点可以和AR增强现实技术相结合,如下效果 若想实现以上的AR增强现实效果可参考以下文章 (2条消息) EasyAR实战项目图像识别与模型交互(全网首发,保姆级教程 ...

  9. VLDB 2023 | 北大河图发布分布式训练神器Galvatron,一键实现大模型高效自动并行...

    ©作者 | 北京大学河图团队 单位 | 北京大学数据与智能实验室 北大河图团队提出了一套面向大模型的自动并行分布式训练系统 Galvatron,相比于现有工作在多样性.复杂性.实用性方面均具有显著优势 ...

  10. VLDB 2023 | 北大河图发布分布式训练神器Galvatron, 一键实现大模型高效自动并行...

    关注公众号,发现CV技术之美 本文转自机器之心. 北大河图团队提出了一套面向大模型的自动并行分布式训练系统Galvatron,相比于现有工作在多样性.复杂性.实用性方面均具有显著优势,论文成果已经被  ...

最新文章

  1. 100天59万行代码_如何抽出100天的代码时间
  2. 基于ECS部署LAMP环境搭建Drupal网站,云计算技术与应用报告
  3. 移除VS解决方案和TFS服务器的关系
  4. 【二叉树】先序序列为a,b,c,d 的不同二叉树的个数
  5. Java中static的作用
  6. 「后端小伙伴来学前端了」关于 Vue中的 props
  7. Android下载apk异常java.net.SocketTimeoutException: timeout解决办法
  8. python秒数变日期_将pandas日期列转换为已用秒数
  9. c++全局类对象_C++ 类在内存中的存储方式(一)
  10. python的pyqt5_Pycharm+Python+PyQt5使用详解
  11. 安装node.js,CoffeeScript,Express.js,mysql,jade
  12. 深度学习笔记(32) 目标定位
  13. Android非常好用的组件或者框架
  14. python数字类型及运算_Python基础教程:运算符以及数据类型解析
  15. 多模态+Recorder︱多模态循环网络的图像文本互匹配
  16. 转帖:一份不错的游戏程序书单(比较全面,但都是英文的。。)
  17. 工业循环水过滤浅层介质过滤器(浅层砂过滤器)介绍
  18. credential provider filter注意
  19. 小布老师_Oracle11g SQL基础入门
  20. 请问王菲的<流年>歌词的含义

热门文章

  1. 红警游戏开源代码带给我们的震撼
  2. uniny 物体运动到一个点停止_unity控制运动
  3. Rust FFI 编程 - libc crate
  4. Static Asynchronous Component Misuse Detection for Android Applications
  5. java大作穿越arpg_动作与角色扮演完美结合 精品ARPG游戏盘点
  6. 如何搭建IPv6测试环境
  7. Qt是什么?有哪些优势用于图形界面开发
  8. php四六级报名考试源码,全国大学英语四六级考试报名官网
  9. 网红茶饮难逃“短命”之殇,喜茶能否打破这个魔咒?
  10. 缓存架构技术:开课吧java高级架构师第七期笔记