模型预览和旋转
This commit is contained in:
@@ -3,12 +3,14 @@
|
|||||||
--- !u!1 &100000
|
--- !u!1 &100000
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 100100000}
|
m_PrefabInstance: {fileID: 0}
|
||||||
serializedVersion: 5
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
m_Component:
|
m_Component:
|
||||||
- component: {fileID: 400000}
|
- component: {fileID: 400000}
|
||||||
- component: {fileID: 2000000}
|
- component: {fileID: 2000000}
|
||||||
|
- component: {fileID: -8157094741309571032}
|
||||||
m_Layer: 5
|
m_Layer: 5
|
||||||
m_Name: RenderImageCamera
|
m_Name: RenderImageCamera
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@@ -18,27 +20,44 @@ GameObject:
|
|||||||
m_IsActive: 1
|
m_IsActive: 1
|
||||||
--- !u!4 &400000
|
--- !u!4 &400000
|
||||||
Transform:
|
Transform:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 100100000}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 100000}
|
m_GameObject: {fileID: 100000}
|
||||||
|
serializedVersion: 2
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: -0.41}
|
m_LocalPosition: {x: 0, y: 0, z: -0.41}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
--- !u!20 &2000000
|
--- !u!20 &2000000
|
||||||
Camera:
|
Camera:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 0
|
||||||
m_PrefabParentObject: {fileID: 0}
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_PrefabInternal: {fileID: 100100000}
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 100000}
|
m_GameObject: {fileID: 100000}
|
||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_ClearFlags: 2
|
m_ClearFlags: 2
|
||||||
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
|
m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0}
|
||||||
|
m_projectionMatrixMode: 1
|
||||||
|
m_GateFitMode: 2
|
||||||
|
m_FOVAxisMode: 0
|
||||||
|
m_Iso: 200
|
||||||
|
m_ShutterSpeed: 0.005
|
||||||
|
m_Aperture: 16
|
||||||
|
m_FocusDistance: 10
|
||||||
|
m_FocalLength: 50
|
||||||
|
m_BladeCount: 5
|
||||||
|
m_Curvature: {x: 2, y: 11}
|
||||||
|
m_BarrelClipping: 0.25
|
||||||
|
m_Anamorphism: 0
|
||||||
|
m_SensorSize: {x: 36, y: 24}
|
||||||
|
m_LensShift: {x: 0, y: 0}
|
||||||
m_NormalizedViewPortRect:
|
m_NormalizedViewPortRect:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
x: 0
|
x: 0
|
||||||
@@ -60,18 +79,52 @@ Camera:
|
|||||||
m_TargetEye: 3
|
m_TargetEye: 3
|
||||||
m_HDR: 0
|
m_HDR: 0
|
||||||
m_AllowMSAA: 1
|
m_AllowMSAA: 1
|
||||||
|
m_AllowDynamicResolution: 0
|
||||||
m_ForceIntoRT: 0
|
m_ForceIntoRT: 0
|
||||||
m_OcclusionCulling: 1
|
m_OcclusionCulling: 1
|
||||||
m_StereoConvergence: 10
|
m_StereoConvergence: 10
|
||||||
m_StereoSeparation: 0.022
|
m_StereoSeparation: 0.022
|
||||||
--- !u!1001 &100100000
|
--- !u!114 &-8157094741309571032
|
||||||
Prefab:
|
MonoBehaviour:
|
||||||
m_ObjectHideFlags: 1
|
m_ObjectHideFlags: 0
|
||||||
serializedVersion: 2
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
m_Modification:
|
m_PrefabInstance: {fileID: 0}
|
||||||
m_TransformParent: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_Modifications: []
|
m_GameObject: {fileID: 100000}
|
||||||
m_RemovedComponents: []
|
m_Enabled: 1
|
||||||
m_ParentPrefab: {fileID: 0}
|
m_EditorHideFlags: 0
|
||||||
m_RootGameObject: {fileID: 100000}
|
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||||
m_IsPrefabParent: 1
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_RenderShadows: 1
|
||||||
|
m_RequiresDepthTextureOption: 2
|
||||||
|
m_RequiresOpaqueTextureOption: 2
|
||||||
|
m_CameraType: 0
|
||||||
|
m_Cameras: []
|
||||||
|
m_RendererIndex: -1
|
||||||
|
m_VolumeLayerMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 1
|
||||||
|
m_VolumeTrigger: {fileID: 0}
|
||||||
|
m_VolumeFrameworkUpdateModeOption: 2
|
||||||
|
m_RenderPostProcessing: 0
|
||||||
|
m_Antialiasing: 0
|
||||||
|
m_AntialiasingQuality: 2
|
||||||
|
m_StopNaN: 0
|
||||||
|
m_Dithering: 0
|
||||||
|
m_ClearDepth: 1
|
||||||
|
m_AllowXRRendering: 1
|
||||||
|
m_AllowHDROutput: 1
|
||||||
|
m_UseScreenCoordOverride: 0
|
||||||
|
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||||
|
m_RequiresDepthTexture: 0
|
||||||
|
m_RequiresColorTexture: 0
|
||||||
|
m_Version: 2
|
||||||
|
m_TaaSettings:
|
||||||
|
m_Quality: 3
|
||||||
|
m_FrameInfluence: 0.1
|
||||||
|
m_JitterScale: 1
|
||||||
|
m_MipBias: 0
|
||||||
|
m_VarianceClampScale: 0.9
|
||||||
|
m_ContrastAdaptiveSharpening: 0
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,7 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: 5044755b433cf354eb6f4e2f9f2173b9
|
guid: 5044755b433cf354eb6f4e2f9f2173b9
|
||||||
timeCreated: 1540944203
|
PrefabImporter:
|
||||||
licenseType: Free
|
|
||||||
NativeFormatImporter:
|
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
mainObjectFileID: 100100000
|
|
||||||
userData:
|
userData:
|
||||||
assetBundleName:
|
assetBundleName:
|
||||||
assetBundleVariant:
|
assetBundleVariant:
|
||||||
|
|||||||
Binary file not shown.
@@ -850,7 +850,6 @@ MonoBehaviour:
|
|||||||
videoPlayer: {fileID: 1810378423}
|
videoPlayer: {fileID: 1810378423}
|
||||||
startCanvas: {fileID: 386239068}
|
startCanvas: {fileID: 386239068}
|
||||||
playVideo: 0
|
playVideo: 0
|
||||||
audioMixer: {fileID: 24100000, guid: 66dbad8598d60494fab0927844c88cc0, type: 2}
|
|
||||||
controllerType: 1
|
controllerType: 1
|
||||||
--- !u!81 &2487858301405542861
|
--- !u!81 &2487858301405542861
|
||||||
AudioListener:
|
AudioListener:
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ namespace NBF
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 鱼饵
|
/// 鱼饵
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class BaitAsset : MonoBehaviour
|
public class BaitAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
public Transform hook;
|
public Transform hook;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ namespace NBF
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 浮漂资产
|
/// 浮漂资产
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class BobberAsset : MonoBehaviour
|
public class BobberAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
public Transform body;
|
public Transform body;
|
||||||
public Transform stick;
|
public Transform stick;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace NBF
|
namespace NBF
|
||||||
{
|
{
|
||||||
public class FishAsset : MonoBehaviour
|
public class FishAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
public Transform root;
|
public Transform root;
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace NBF
|
namespace NBF
|
||||||
{
|
{
|
||||||
public class HookAsset : MonoBehaviour
|
public class HookAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 鱼饵挂点
|
/// 鱼饵挂点
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace NBF
|
namespace NBF
|
||||||
{
|
{
|
||||||
public class LineAsset : MonoBehaviour
|
public class LineAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace NBF
|
namespace NBF
|
||||||
{
|
{
|
||||||
public class LureAsset : MonoBehaviour
|
public class LureAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 鱼钩挂点
|
/// 鱼钩挂点
|
||||||
|
|||||||
38
Assets/Scripts/Fishing/New/Assets/PreviewableAsset.cs
Normal file
38
Assets/Scripts/Fishing/New/Assets/PreviewableAsset.cs
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
using System;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
namespace NBF
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 模型拉近拉远配置
|
||||||
|
/// </summary>
|
||||||
|
[Serializable]
|
||||||
|
public class ModelZoomConfig
|
||||||
|
{
|
||||||
|
[Tooltip("是否可以放大缩小")] public bool canZoom;
|
||||||
|
[Tooltip("默认值")] public float zoom;
|
||||||
|
[Tooltip("最小值")] public float zoomMin;
|
||||||
|
[Tooltip("最大值")] public float zoomMax;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 模型平移配置
|
||||||
|
/// </summary>
|
||||||
|
[Serializable]
|
||||||
|
public class ModelPanConfig
|
||||||
|
{
|
||||||
|
[Tooltip("是否可以平移")] public bool canPan;
|
||||||
|
[Tooltip("水平可移动值")] public float x = 0;
|
||||||
|
[Tooltip("垂直可移动值")] public float y = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 可以3D预览的资产
|
||||||
|
/// </summary>
|
||||||
|
public class PreviewableAsset : MonoBehaviour
|
||||||
|
{
|
||||||
|
[Tooltip("放大缩小配置")] public ModelZoomConfig zoom;
|
||||||
|
[Tooltip("平移配置")] public ModelPanConfig pan;
|
||||||
|
[Tooltip("默认旋转")] public Vector3 rotation;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: a000ba87cd97499eb23feecf39521ecb
|
||||||
|
timeCreated: 1750736840
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace NBF
|
namespace NBF
|
||||||
{
|
{
|
||||||
public class PropAsset : MonoBehaviour
|
public class PropAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,7 +5,7 @@ namespace NBF
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 线轴资产配置
|
/// 线轴资产配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ReelAsset : MonoBehaviour
|
public class ReelAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
// "previewRotationEnabled": 1,
|
// "previewRotationEnabled": 1,
|
||||||
// "previewRotation": {
|
// "previewRotation": {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ namespace NBF
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 鱼竿资产配置
|
/// 鱼竿资产配置
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class RodAsset : MonoBehaviour
|
public class RodAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 根节点
|
/// 根节点
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace NBF
|
namespace NBF
|
||||||
{
|
{
|
||||||
public class SpinnerLureAsset : MonoBehaviour
|
public class SpinnerLureAsset : PreviewableAsset
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,7 @@ namespace NBF
|
|||||||
int _width;
|
int _width;
|
||||||
int _height;
|
int _height;
|
||||||
bool _cacheTexture;
|
bool _cacheTexture;
|
||||||
float _rotating;
|
Vector3 _rotating;
|
||||||
|
|
||||||
const int RENDER_LAYER = 0;
|
const int RENDER_LAYER = 0;
|
||||||
const int HIDDEN_LAYER = 10;
|
const int HIDDEN_LAYER = 10;
|
||||||
@@ -187,7 +187,7 @@ namespace NBF
|
|||||||
return uvRect;
|
return uvRect;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadModel(string model)
|
public GameObject LoadModel(string model)
|
||||||
{
|
{
|
||||||
this.UnloadModel();
|
this.UnloadModel();
|
||||||
|
|
||||||
@@ -195,6 +195,11 @@ namespace NBF
|
|||||||
GameObject go = ((GameObject)Object.Instantiate(prefab));
|
GameObject go = ((GameObject)Object.Instantiate(prefab));
|
||||||
_model = go.transform;
|
_model = go.transform;
|
||||||
_model.SetParent(this.modelRoot, false);
|
_model.SetParent(this.modelRoot, false);
|
||||||
|
var h = CalculateModelHeight(go); //计算包围盒高度
|
||||||
|
var pos = _model.localPosition;
|
||||||
|
_model.localPosition = new Vector3(pos.x, pos.y - h * 0.5f, pos.z);
|
||||||
|
|
||||||
|
return go;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void UnloadModel()
|
public void UnloadModel()
|
||||||
@@ -205,17 +210,42 @@ namespace NBF
|
|||||||
_model = null;
|
_model = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
_rotating = 0;
|
_rotating = Vector3.zero;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartRotate(float delta)
|
public void StartRotate(Vector3 delta)
|
||||||
{
|
{
|
||||||
_rotating = delta;
|
_rotating = delta;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StopRotate()
|
public void StopRotate()
|
||||||
{
|
{
|
||||||
_rotating = 0;
|
_rotating = Vector3.zero;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取模型的高度
|
||||||
|
private float CalculateModelHeight(GameObject model)
|
||||||
|
{
|
||||||
|
// 获取模型的所有Renderer组件(包括MeshRenderer和SkinnedMeshRenderer)
|
||||||
|
Renderer[] renderers = model.GetComponentsInChildren<Renderer>();
|
||||||
|
|
||||||
|
if (renderers.Length == 0)
|
||||||
|
{
|
||||||
|
Debug.LogWarning("模型没有Renderer组件");
|
||||||
|
return 0f;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 初始化包围盒
|
||||||
|
Bounds bounds = renderers[0].bounds;
|
||||||
|
|
||||||
|
// 合并所有Renderer的包围盒
|
||||||
|
for (int i = 1; i < renderers.Length; i++)
|
||||||
|
{
|
||||||
|
bounds.Encapsulate(renderers[i].bounds);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 返回高度(Y轴尺寸)
|
||||||
|
return bounds.size.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CreateTexture()
|
void CreateTexture()
|
||||||
@@ -266,10 +296,10 @@ namespace NBF
|
|||||||
|
|
||||||
void Render(object param = null)
|
void Render(object param = null)
|
||||||
{
|
{
|
||||||
if (_rotating != 0 && this.modelRoot != null)
|
if (_rotating != Vector3.zero && this.modelRoot != null)
|
||||||
{
|
{
|
||||||
Vector3 localRotation = this.modelRoot.localRotation.eulerAngles;
|
Vector3 localRotation = this.modelRoot.localRotation.eulerAngles;
|
||||||
localRotation.y += _rotating;
|
localRotation += _rotating;
|
||||||
this.modelRoot.localRotation = Quaternion.Euler(localRotation);
|
this.modelRoot.localRotation = Quaternion.Euler(localRotation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
// 本脚本只在不存在时会生成一次。组件逻辑写在当前脚本内。已存在不会再次生成覆盖
|
// 本脚本只在不存在时会生成一次。组件逻辑写在当前脚本内。已存在不会再次生成覆盖
|
||||||
|
|
||||||
|
using System;
|
||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
using FairyGUI;
|
using FairyGUI;
|
||||||
using NBC;
|
using NBC;
|
||||||
@@ -9,30 +10,99 @@ namespace NBF
|
|||||||
public partial class ModelTexture : GComponent
|
public partial class ModelTexture : GComponent
|
||||||
{
|
{
|
||||||
ModelRenderImage _renderImage;
|
ModelRenderImage _renderImage;
|
||||||
|
private Vector2 _startPos;
|
||||||
|
private Vector3 _startRot;
|
||||||
|
private SwipeGesture _swipeGesture;
|
||||||
|
|
||||||
|
public float ZoomValue = 5;
|
||||||
|
public float MinZoom = 1;
|
||||||
|
public float MaxZoom = 15;
|
||||||
|
|
||||||
|
|
||||||
private void OnInited()
|
private void OnInited()
|
||||||
{
|
{
|
||||||
_renderImage = new ModelRenderImage(ModelHolder.asGraph);
|
SetRotateListening();
|
||||||
//RenderImage是不透明的,可以设置最多两张图片作为背景图
|
|
||||||
// _renderImage.SetBackground(contentPane.GetChild("frame").asCom.GetChild("n0"), contentPane.GetChild("n20"));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void LoadModel(string model)
|
/// <summary>
|
||||||
|
/// 加载资产模型
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="configId"></param>
|
||||||
|
public void LoadAsset(int configId)
|
||||||
{
|
{
|
||||||
_renderImage.LoadModel("Role/npc");
|
if (_renderImage == null)
|
||||||
_renderImage.modelRoot.localPosition = new Vector3(0, -1.0f, 5f);
|
{
|
||||||
_renderImage.modelRoot.localScale = new Vector3(1, 1, 1);
|
_renderImage = new ModelRenderImage(ModelHolder.asGraph);
|
||||||
_renderImage.modelRoot.localRotation = Quaternion.Euler(0, 120, 0);
|
}
|
||||||
|
|
||||||
|
var model = _renderImage.LoadModel("Role/npc");
|
||||||
|
_renderImage.modelRoot.localScale = Vector3.one;
|
||||||
|
|
||||||
|
var previewableAsset = model.GetComponent<PreviewableAsset>();
|
||||||
|
if (previewableAsset != null)
|
||||||
|
{
|
||||||
|
_renderImage.modelRoot.localPosition = new Vector3(0, 0, previewableAsset.zoom.zoom);
|
||||||
|
_renderImage.modelRoot.localRotation = Quaternion.Euler(previewableAsset.rotation);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_renderImage.modelRoot.localPosition = new Vector3(0, 0, 3);
|
||||||
|
_renderImage.modelRoot.localRotation = Quaternion.Euler(Vector3.zero);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetBackground(GObject image1)
|
/// <summary>
|
||||||
|
/// 加载角色模型
|
||||||
|
/// </summary>
|
||||||
|
public void LoadRole()
|
||||||
{
|
{
|
||||||
_renderImage.SetBackground(image1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetBackground(GObject image1, GObject image2)
|
private void SetRotateListening()
|
||||||
{
|
{
|
||||||
_renderImage.SetBackground(image1, image2);
|
var dragObj = TouchHolder;
|
||||||
|
var gesture1 = new SwipeGesture(dragObj);
|
||||||
|
gesture1.onMove.Set(OnSwipeMove);
|
||||||
|
gesture1.onEnd.Set(OnSwipeEnd);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void OnSwipeMove(EventContext context)
|
||||||
|
{
|
||||||
|
var gesture = context.sender as SwipeGesture;
|
||||||
|
if (gesture == null) return;
|
||||||
|
var v = Vector3.zero;
|
||||||
|
|
||||||
|
|
||||||
|
if (context.inputEvent.button == 0)
|
||||||
|
{
|
||||||
|
v.y = -gesture.delta.x * 0.2f;
|
||||||
|
v.z = -gesture.delta.y * 0.2f;
|
||||||
|
if (!gesture.snapping)
|
||||||
|
{
|
||||||
|
v.y = 0;
|
||||||
|
v.z = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Mathf.Abs(v.y) < 1) //消除手抖影响
|
||||||
|
v.y = 0;
|
||||||
|
if (Mathf.Abs(v.z) < 1) //消除手抖影响
|
||||||
|
v.z = 0;
|
||||||
|
_renderImage.StartRotate(v);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
v.y = -gesture.delta.y * 0.005f;
|
||||||
|
v.x = gesture.delta.x * 0.005f;
|
||||||
|
//平移
|
||||||
|
var pos = _renderImage.modelRoot.localPosition;
|
||||||
|
_renderImage.modelRoot.localPosition = new Vector3(pos.x + v.x, pos.y + v.y, pos.z);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnSwipeEnd(EventContext context)
|
||||||
|
{
|
||||||
|
_renderImage.StopRotate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -11,17 +11,17 @@ namespace NBF
|
|||||||
{
|
{
|
||||||
public const string URL = "ui://hxr7rc7plvql10";
|
public const string URL = "ui://hxr7rc7plvql10";
|
||||||
|
|
||||||
|
public ModelTexture Model;
|
||||||
public HomeButtonGroups OpGroup;
|
public HomeButtonGroups OpGroup;
|
||||||
public BottomMenu BottomMenu;
|
public BottomMenu BottomMenu;
|
||||||
public ModelTexture Model;
|
|
||||||
|
|
||||||
public override void ConstructFromXML(XML xml)
|
public override void ConstructFromXML(XML xml)
|
||||||
{
|
{
|
||||||
base.ConstructFromXML(xml);
|
base.ConstructFromXML(xml);
|
||||||
|
|
||||||
|
Model = (ModelTexture)GetChild("Model");
|
||||||
OpGroup = (HomeButtonGroups)GetChild("OpGroup");
|
OpGroup = (HomeButtonGroups)GetChild("OpGroup");
|
||||||
BottomMenu = (BottomMenu)GetChild("BottomMenu");
|
BottomMenu = (BottomMenu)GetChild("BottomMenu");
|
||||||
Model = (ModelTexture)GetChild("Model");
|
|
||||||
OnInited();
|
OnInited();
|
||||||
UILanguage.TrySetComponentLanguage(this);
|
UILanguage.TrySetComponentLanguage(this);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ namespace NBF
|
|||||||
UseBottomMenu();
|
UseBottomMenu();
|
||||||
|
|
||||||
|
|
||||||
Model.LoadModel(string.Empty);
|
Model.LoadAsset(0);
|
||||||
// Model.SetBackground(Panel.Back.GetChild("back"));//, Panel.Back.GetChild("icon")
|
// Model.SetBackground(Panel.Back.GetChild("back"));//, Panel.Back.GetChild("icon")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<component size="1920,1080">
|
<component size="1920,1080">
|
||||||
<displayList>
|
<displayList>
|
||||||
<component id="n0_lvql" name="OpGroup" src="lvqln" fileName="Com/Home/HomeButtonGroups.xml" xy="79,179">
|
<component id="n2_5dtx" name="Model" src="5dtxm9" fileName="Com/ModelTexture.xml" pkg="6hgkvlau" xy="1268,181" size="620,758">
|
||||||
|
<relation target="" sidePair="center-center,middle-middle"/>
|
||||||
|
</component>
|
||||||
|
<component id="n0_lvql" name="OpGroup" src="lvqln" fileName="Com/Home/HomeButtonGroups.xml" xy="59,179">
|
||||||
<relation target="" sidePair="center-center,middle-middle"/>
|
<relation target="" sidePair="center-center,middle-middle"/>
|
||||||
</component>
|
</component>
|
||||||
<component id="n1_lvql" name="BottomMenu" src="9mf1z" fileName="Com/Menu/BottomMenu.xml" pkg="6hgkvlau" xy="0,992">
|
<component id="n1_lvql" name="BottomMenu" src="9mf1z" fileName="Com/Menu/BottomMenu.xml" pkg="6hgkvlau" xy="0,992">
|
||||||
<relation target="" sidePair="center-center,bottom-bottom"/>
|
<relation target="" sidePair="center-center,bottom-bottom"/>
|
||||||
</component>
|
</component>
|
||||||
<component id="n2_5dtx" name="Model" src="5dtxm9" fileName="Com/ModelTexture.xml" pkg="6hgkvlau" xy="1189,182" size="760,760">
|
|
||||||
<relation target="" sidePair="center-center,middle-middle"/>
|
|
||||||
</component>
|
|
||||||
</displayList>
|
</displayList>
|
||||||
</component>
|
</component>
|
||||||
@@ -76,7 +76,7 @@ QualitySettings:
|
|||||||
globalTextureMipmapLimit: 0
|
globalTextureMipmapLimit: 0
|
||||||
textureMipmapLimitSettings: []
|
textureMipmapLimitSettings: []
|
||||||
anisotropicTextures: 2
|
anisotropicTextures: 2
|
||||||
antiAliasing: 8
|
antiAliasing: 2
|
||||||
softParticles: 0
|
softParticles: 0
|
||||||
softVegetation: 1
|
softVegetation: 1
|
||||||
realtimeReflectionProbes: 1
|
realtimeReflectionProbes: 1
|
||||||
|
|||||||
@@ -9,35 +9,35 @@ EditorUserSettings:
|
|||||||
value: 18134705175a055722080a3115371d4a0d55006876786860616b0471b8b07a68ffab74f9ee2a3a30300cea1a11320d0beb1a0c25f7060f494b4cc80018eb09361fc211cb1f862d19c51d19dcc413d6ade0d8ddfcddf9f4d9d29195fcfde6ebeae6f0a9c9afa6f8c5b89ff7a1aacececac4eba4d7c9d28bda
|
value: 18134705175a055722080a3115371d4a0d55006876786860616b0471b8b07a68ffab74f9ee2a3a30300cea1a11320d0beb1a0c25f7060f494b4cc80018eb09361fc211cb1f862d19c51d19dcc413d6ade0d8ddfcddf9f4d9d29195fcfde6ebeae6f0a9c9afa6f8c5b89ff7a1aacececac4eba4d7c9d28bda
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-0:
|
RecentlyUsedSceneGuid-0:
|
||||||
value: 560951030302595f545e5e2144715d44441640737a7d20672b7a4d36b4b6633a
|
|
||||||
flags: 0
|
|
||||||
RecentlyUsedSceneGuid-1:
|
|
||||||
value: 560302005d0259580e5a0a2148215d44134f1b78787b76697c2c1837e1b83060
|
|
||||||
flags: 0
|
|
||||||
RecentlyUsedSceneGuid-2:
|
|
||||||
value: 0108005f01005908095d0a7b497a5e44434f487b2f7973627e2b1964b3e4356e
|
value: 0108005f01005908095d0a7b497a5e44434f487b2f7973627e2b1964b3e4356e
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-3:
|
RecentlyUsedSceneGuid-1:
|
||||||
value: 5400500755040a0d08590a7211735d44454e402f7570226528784530e6b56160
|
value: 5400500755040a0d08590a7211735d44454e402f7570226528784530e6b56160
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-4:
|
RecentlyUsedSceneGuid-2:
|
||||||
value: 5457020056060c59085c5e7a43205d44104f4a2b7c7170622c7e1c65bbb1306e
|
value: 5457020056060c59085c5e7a43205d44104f4a2b7c7170622c7e1c65bbb1306e
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-5:
|
RecentlyUsedSceneGuid-3:
|
||||||
value: 55075754550459095a0a0a2747270f444e4f1e7c7f7d23662b7a4f67e6b1646a
|
value: 55075754550459095a0a0a2747270f444e4f1e7c7f7d23662b7a4f67e6b1646a
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-6:
|
RecentlyUsedSceneGuid-4:
|
||||||
value: 06540050040c085a5e0b0d7741755d44454f4b732d7e75607e2b4a67b5b6316a
|
value: 06540050040c085a5e0b0d7741755d44454f4b732d7e75607e2b4a67b5b6316a
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-7:
|
RecentlyUsedSceneGuid-5:
|
||||||
value: 020801035c53500a580c0f7145700c4444164d2e797d7f332c704963b0b06260
|
value: 020801035c53500a580c0f7145700c4444164d2e797d7f332c704963b0b06260
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-8:
|
RecentlyUsedSceneGuid-6:
|
||||||
value: 5302565f50030d0f0f595f2315250944444e4c2c2e797562742c4a32b3b16c3b
|
value: 5302565f50030d0f0f595f2315250944444e4c2c2e797562742c4a32b3b16c3b
|
||||||
flags: 0
|
flags: 0
|
||||||
RecentlyUsedSceneGuid-9:
|
RecentlyUsedSceneGuid-7:
|
||||||
value: 0704555600540b5d58575c73427b59444515407879792766752b4c66e1b9613e
|
value: 0704555600540b5d58575c73427b59444515407879792766752b4c66e1b9613e
|
||||||
flags: 0
|
flags: 0
|
||||||
|
RecentlyUsedSceneGuid-8:
|
||||||
|
value: 55520c5555570a0f0b0b0e20487a0744464f487f2a7d20662b7b4c36bab16760
|
||||||
|
flags: 0
|
||||||
|
RecentlyUsedSceneGuid-9:
|
||||||
|
value: 5505015f5c515a085f5b092149760f441716407a787d7564287b1b36e7e1366e
|
||||||
|
flags: 0
|
||||||
UnityEditor.ShaderGraph.Blackboard:
|
UnityEditor.ShaderGraph.Blackboard:
|
||||||
value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9afeffa9ffff8e85dd8390e2969e8899daa7
|
value: 18135939215a0a5004000b0e15254b524c030a3f2964643d120d1230e9e93a3fd6e826abbd2e2d293c4ead313b08042de6030a0afa240c0d020be94c4ba75e435d8715fa32c70d15d11612dacc11fee5d3c5d1fe9ab1bf968e93e2ffcbc3e7e2f0b3ffe0e8b0be9afeffa9ffff8e85dd8390e2969e8899daa7
|
||||||
flags: 0
|
flags: 0
|
||||||
|
|||||||
Reference in New Issue
Block a user