unity3d鼠标滑动UIImage从而实现3D模型在UIImage上的左右旋转(RawImage映射)
今天做了一个比较有意思,并且是我这种新手一下所想不到的小Demo:一个模型像是嵌在UI上一样,通过鼠标滑动UIImage从而实现模型的左右旋转,接下来让我这个新手媛媛来分享一下:
(1)创建一个RenderTexture:右击“Assets”-->“Create”-->“RenderTexture”;
(2)在Hierarchy下创建一个RawImage;
(3)将新建的RenderTexture拖入RawImage中,如图:
(4)创建一个3D模型,将其Layer层改为“Mode”;
(5)新建一个相机,将相机的ClearFlags属性改为“SolidColor”,并且将CullingMask选为“Mode”,让这个相机只渲染这个模型,调整好这个相机的位置;
(6)将新建的RenderTexture拖入这个相机的TargetTexture属性中,如图 :
现在已经将3D模型映射在RawImage上了。
(7)在RawImage的上面创建一个Image作为对话框,现在已经将3D模型映射在这个对话框里了。
(8)接下来需要写一个控制模型左右旋转的脚本:
using UnityEngine;
using System.Collections;public class Rotate : MonoBehaviour {public GameObject obj;private float m_fDeltaX;private float m_fDeltaY;public float m_fSpeed = 0;private bool isClick = false;// Use this for initializationvoid Start(){m_fSpeed = 1000;}// Update is called once per framevoid Update(){if (!isClick){obj.transform.Rotate(0, -1, 0, Space.World);}if (Input.GetMouseButton(0) && isClick){m_fDeltaX = Input.GetAxis("Mouse X") * Time.deltaTime * m_fSpeed;m_fDeltaY = Input.GetAxis("Mouse Y") * Time.deltaTime * m_fSpeed;obj.transform.Rotate(new Vector3(0, -m_fDeltaX, 0), Space.World);}}public void OnMouseDown(){isClick = true;}public void OnMouseUp(){isClick = false;}
}
(9)将这个脚本挂在Image身上,将模型拖入Inspector下的脚本中的obj里;
(10)为Image添加EventTrigger事件,如图:
将Image拖入如图显示的框中,并且为其添加如图对应方法。
注:RawImage中RaycastTarget属性的√要点掉,还有主相机渲染的层级没有“Mode”。
这样一个简单的拖动效果就做出来了,但愿能给大家一小点点帮助,写的不好希望大家多多支持,也希望老前辈多多指点
unity3d鼠标滑动UIImage从而实现3D模型在UIImage上的左右旋转(RawImage映射)相关推荐
- 3D模型在网页上显示
3D模型在网页上显示,这绝对是未来的趋势,也是热门.一部"阿凡达"让电影节发生了一次地震,让人们感到3D的时代到来.那么我们IT界呢?如果各位因工作时间繁忙,或者嫌上海世博会人山人 ...
- H5三维充电数据线建模3D模型VR高清线上展示
H5三维3D模型VR高清线上展示将三维技术和现实技术的融合以及升华,让三维建模和真实世界互动,不再只局限于现实,从而得到的全新体验.商迪3D运用三维模型VR高清H5建模将互联网世界和现实世界相结合,将 ...
- three.js加载3D模型,在网页上展示3D模型(.glb.gltf.fbx格式)
Three.js是一款开源的主流3D绘图JS引擎,简单点,可以将它理解为three+js就可以了,three表示3D,js表示JavaScript的意思. 结构 .glb.gltf文件最好放在服务器上 ...
- 【HoloLens2】HoloLens中如何操控自制的3D模型(移动、缩放、旋转)
使用了官方的火星车,也操作了自己在Maya里头建的一个场景 取消空间网格的问题,不取消就会如下图: 那如何取消空间网格?请翻看之前的记录 如何操作3D对象 1. 先创建一个新的项目 或者在现有的项目上 ...
- 【Unity】3D模型或粒子渲染在UI上层
方法有很多,我只介绍一种我认为最简单有效的方法,用非常取巧的手段,使用RenderTexture + Camera 在ScrollView里展示3D模型. 效果: 1.首先创建一个RenderText ...
- 判断两个多边形相交的面积_聊聊3D模型组件—顶点,边,多边形
3D模型设计 什么是3D模型? 3D模型是3D软件环境中任何三维对象(真实或虚构)的数学表示.与此不同,可以在专用软件套件中从任何角度查看3D模型,并且可以缩放,旋转或自由修改3D模型.创建和成形3D ...
- android OpenGL渲染3D模型文件
码字不易,转载请注明出处喔 https://blog.csdn.net/newchenxf/article/details/121402859 1 前言 大部分OpenGL示例代码,要么播放个视频,要 ...
- VUE使用轮播图画3D模型图
使用vue的组件和three.js画出3d模型图 直接上代码,有问题评论区联系吧,经常在线.qq:2277655147 <template><div class="card ...
- 古玩钱币VR高清三维模型产品3D立体全景线上展示
古玩钱币VR高清产品3D模型给线上浏览者提供更加方便.真实的浏览产品的体验效果,让浏览者在观看时能够更加感受到真实感和沉浸感,将产品真实性和互动性更好的呈现.相比于传统线下产品展示,产品本身价值相对比 ...
最新文章
- IIS7.5 HTTP 错误 500 调用loadlibraryex失败的解决方法
- 随机生成6位图片验证码
- Centos安装Xen总结
- 日本画风超级“诡异”毕业典礼上线,网友:有被吓到,谢谢!
- 一个微信公众号接入另一个微信公众号的内容
- Android开发基础(四大组件及Intent)
- 【字符串】面试题之奇偶字符串分离
- 实现wpf的doevents
- leetcode之Find All Numbers Disappeared in an Array(448)
- 基于vue,自定义条形进度条/辣条进度条
- 炸裂!PDF转Word彻底告别收费时代,这个OCR开源项目要逆天!
- Mixly按键控制LED灯
- 快应用是什么软件?快应用有什么用?
- Nodejs:ESModule和commonjs,傻傻分不清
- SQLZOO练习题 (8)
- iOS设备数据恢复工具:UltData mac中文版
- A-286热加工/锻造
- 国机精工,上柴股份,共创草坪,成交量异动检测
- adt linux 离线安装包,ADT离线安装
- RTC时钟实现实时日历