91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

u3d拖拽旋轉(zhuǎn)縮放模型腳本: 拖放到要操作的模型即可 拖放到要操作的模型即可

資源截圖

代碼片段和文件信息

using?System.Collections;
using?System.Collections.Generic;
using?UnityEngine;


public?class?DragRoteScale?:?MonoBehaviour
{
????public?float?scaleRate?=?0.01f;?????????//縮放系數(shù)
????public?float?scaleMin?=?0.1f;???????????//最小縮放
????public?float?scaleMax?=?10.0f;??????????//最大縮放

????public?bool?isRotateY?=?true;???//是否繞y軸旋轉(zhuǎn)
????public?bool?isRotateX?=?true;???//是否繞X軸旋轉(zhuǎn)
????public?float?rotateRate?=?1.0f;?//旋轉(zhuǎn)系數(shù)

????public?Transform?transform?=?null;??//要操作的物體若直接掛在物體上不用設(shè)置

????private?Touch?oldTouch1;??//上次觸摸點(diǎn)1(手指1)
????private?Touch?oldTouch2;??//上次觸摸點(diǎn)2(手指2)

????private?bool?isDrag?=?false;????????//拖拽標(biāo)志
????private?Vector3?m_Offset;???????????//偏移值
????private?Vector3?m_TargetScreenVec;??//當(dāng)前物體對應(yīng)的屏幕坐標(biāo)

????private?bool?isRote?=?false;????????//是否旋轉(zhuǎn)
????private?Vector2?oldMousePos;????????//鼠標(biāo)上次位置


????void?Start()
????{
????????if?(transform?==?null)
????????{
????????????transform?=?gameobject.transform;
????????}
????}

????void?Update()
????{

????????if?(Application.platform?==?RuntimePlatform.Android?||?Application.platform?==?RuntimePlatform.IPhonePlayer)
????????{
????????????if?(Input.touchCount?<=?0)??//沒有觸摸
????????????????return;

????????????Touch?touch1?=?new?Touch();
????????????Touch?touch2?=?new?Touch();

????????????if?(Input.touchCount?>=?1)
????????????????touch1?=?Input.GetTouch(0);

????????????if?(Input.touchCount?>=?2)
????????????????touch2?=?Input.GetTouch(1);


????????????if?(Input.touchCount?==?1)//單指
????????????{
????????????????if?(touch1.phase?==?TouchPhase.Began)//開始單擊
????????????????{
????????????????????Ray?ray?=?Camera.main.ScreenPointToRay(touch1.position);
????????????????????//hit用來存儲碰撞物體的信息???
????????????????????RaycastHit?hit;
????????????????????//ray表示射線,hit存儲物體的信息100為設(shè)定射線發(fā)射的距離???
????????????????????if?(Physics.Raycast(ray?out?hit?100)?&&?hit.transform?==?transform)?//自身被點(diǎn)中
????????????????????{
????????????????????????isDrag?=?true;
????????????????????????//當(dāng)前物體對應(yīng)的屏幕坐標(biāo)
????????????????????????m_TargetScreenVec?=?Camera.main.WorldToScreenPoint(transform.position);
????????????????????????//偏移值=物體的世界坐標(biāo),減去轉(zhuǎn)化之后的鼠標(biāo)世界坐標(biāo)(z軸的值為物體屏幕坐標(biāo)的z值)
????????????????????????m_Offset?=?transform.position?-?Camera.main.ScreenToWorldPoint(new?Vector3(touch1.position.x?touch1.position.y?m_TargetScreenVec.z));
????????????????????}
????????????????????else
????????????????????????isDrag?=?false;
????????????????}
????????????????else
????????????????{
????????????????????if?(isDrag)??//拖拽
????????????????????{
????????????????????????//當(dāng)前坐標(biāo)等于轉(zhuǎn)化鼠標(biāo)為世界坐標(biāo)(z軸的值為物體屏幕坐標(biāo)的z值)+?偏移量
????????????????????????transform.position?=?Camera.main.ScreenToWorldPoint(new?Vector3(touch1.position.x?touch1.position.y?m_TargetScreenVec.z))?+?m_Offset;
????????????????????}
????????????????????else????????//旋轉(zhuǎn)
????????????????????{
????????????????????????if?(isRotateY)
????????????????????????????transform.Rotate(Vector3.down?*?touch1.deltaPosition.x?*?rotat

評論

共有 條評論

相關(guān)資源