高粱玉米对比页面BUG

This commit is contained in:
huqibin 2025-05-26 19:45:33 +08:00
parent 5597565df0
commit 5d5d8a9051
9 changed files with 394 additions and 18 deletions

128
Assets/HQB/LineFlare.mat Normal file
View File

@ -0,0 +1,128 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 8
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: LineFlare
m_Shader: {fileID: 4800000, guid: 650dd9526735d5b46b79224bc6e94025, type: 3}
m_ValidKeywords: []
m_InvalidKeywords: []
m_LightmapFlags: 4
m_EnableInstancingVariants: 1
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2013
stringTagMap:
RenderType: Opaque
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BaseMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Ints: []
m_Floats:
- _AlphaClip: 0
- _Blend: 0
- _BlendOp: 0
- _BumpScale: 1
- _ClearCoatMask: 0
- _ClearCoatSmoothness: 0
- _Cull: 2
- _Cutoff: 0.5
- _DetailAlbedoMapScale: 1
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _EnvironmentReflections: 1
- _GlossMapScale: 0
- _Glossiness: 0
- _GlossyReflections: 0
- _Metallic: 0
- _OcclusionStrength: 1
- _Parallax: 0.005
- _QueueOffset: 13
- _ReceiveShadows: 1
- _SampleGI: 0
- _Smoothness: 0.5
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _Surface: 0
- _WorkflowMode: 1
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 0.18066758, g: 1, b: 0.051886797, a: 1}
- _Color: {r: 0.18066755, g: 1, b: 0.051886775, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
m_BuildTextureStacks: []
--- !u!114 &4563437184854181132
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 5

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 349b9c4bed5bcee4e93531e193b78099
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -144,7 +144,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a5549af0ab4860f4982ec854145a825c, type: 3}
m_Name:
m_EditorClassIdentifier:
rextualPanel: {fileID: 4007482462058298327}
rextualPanel: {fileID: 0}
targetRawImage: {fileID: 0}
--- !u!1 &103622424108342245
GameObject:
@ -5154,7 +5154,7 @@ GameObject:
serializedVersion: 6
m_Component:
- component: {fileID: 4949156397131831978}
- component: {fileID: 4007482462058298327}
- component: {fileID: -2053597471533093755}
m_Layer: 5
m_Name: UI_PlantComparisonPanel
m_TagString: Untagged
@ -5184,7 +5184,7 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &4007482462058298327
--- !u!114 &-2053597471533093755
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
@ -5193,12 +5193,12 @@ MonoBehaviour:
m_GameObject: {fileID: 3213127863992522820}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 39a57370865ba71489611c8402e8de4f, type: 3}
m_Script: {fileID: 11500000, guid: a3f6b08a228f8d54a9764628dab61c5c, type: 3}
m_Name:
m_EditorClassIdentifier:
rawImage: {fileID: 0}
ToptextMeshProUGUI: {fileID: 0}
ContentTextMeshProUGUI: {fileID: 0}
ToptextMeshProUGUI: {fileID: 4009316998971189925}
ContentTextMeshProUGUI: {fileID: 9213132001424090846}
--- !u!1 &3326583893673649304
GameObject:
m_ObjectHideFlags: 0
@ -11574,7 +11574,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: a5549af0ab4860f4982ec854145a825c, type: 3}
m_Name:
m_EditorClassIdentifier:
rextualPanel: {fileID: 4007482462058298327}
rextualPanel: {fileID: 0}
targetRawImage: {fileID: 0}
--- !u!1 &7027306909045918957
GameObject:
@ -14511,6 +14511,7 @@ GameObject:
- component: {fileID: 2404267383160180}
- component: {fileID: 843251802214501615}
- component: {fileID: 1958389020031708348}
- component: {fileID: 395113591}
m_Layer: 5
m_Name: "\u9AD8\u7CB1RawImage"
m_TagString: Untagged
@ -14559,20 +14560,34 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_Texture: {fileID: 8400000, guid: fb2169cf27c4ec54aa65469ee996e57a, type: 2}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &395113591
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8114533561954947977}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01b62ba21085e1b4d9bb07e1113f23af, type: 3}
m_Name:
m_EditorClassIdentifier:
rextualPanel: {fileID: -2053597471533093755}
targetRawImage: {fileID: 1958389020031708348}
--- !u!1 &8134453354313840729
GameObject:
m_ObjectHideFlags: 0
@ -15810,6 +15825,7 @@ GameObject:
- component: {fileID: 5554581364043024722}
- component: {fileID: 2197527208233419064}
- component: {fileID: 3802914729905730975}
- component: {fileID: 395113590}
m_Layer: 5
m_Name: "\u7389\u7C73RawImage"
m_TagString: Untagged
@ -15835,7 +15851,7 @@ RectTransform:
m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 815, y: 584}
m_SizeDelta: {x: 679, y: 584}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &2197527208233419064
CanvasRenderer:
@ -15858,20 +15874,34 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Texture: {fileID: 0}
m_Texture: {fileID: 8400000, guid: 76c94c4c4c4548a4c9cbc8d1ea0c1236, type: 2}
m_UVRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
--- !u!114 &395113590
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8915531652701088100}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 01b62ba21085e1b4d9bb07e1113f23af, type: 3}
m_Name:
m_EditorClassIdentifier:
rextualPanel: {fileID: -2053597471533093755}
targetRawImage: {fileID: 3802914729905730975}
--- !u!1 &8928618135586076302
GameObject:
m_ObjectHideFlags: 0

View File

@ -61,7 +61,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
- {fileID: 2100000, guid: 349b9c4bed5bcee4e93531e193b78099, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@ -188,7 +188,7 @@ MeshRenderer:
m_RenderingLayerMask: 1
m_RendererPriority: 0
m_Materials:
- {fileID: 2100000, guid: 31321ba15b8f8eb4c954353edc038b1d, type: 2}
- {fileID: 2100000, guid: 349b9c4bed5bcee4e93531e193b78099, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
@ -260,7 +260,7 @@ MonoBehaviour:
StObj: {fileID: 1414645914767451568}
EdObj: {fileID: 1414645913928041328}
IsRt: 1
LineWidth: 0.05
LineMat: {fileID: 2100000, guid: d704fb960bf87f043b794a93136b57e2, type: 2}
LineColor: {r: 1, g: 1, b: 1, a: 1}
LineWidth: 0.02
LineMat: {fileID: 2100000, guid: 349b9c4bed5bcee4e93531e193b78099, type: 2}
LineColor: {r: 0.13154629, g: 1, b: 0.033018887, a: 1}
unittype: 100

View File

@ -62,7 +62,7 @@ public class SorghumController : PermanentTriggerBase
targetHD.SetActive(false);
targetSD.SetActive(true);
GameManager.UIMgr.ShowPanel<UI_BGPanel>(E_UI_Layer.Top);
GameManager.UIMgr.ShowPanel<UI_GraphicRextualPanel>(E_UI_Layer.Top, (p) => { p.Init(); });
GameManager.UIMgr.ShowPanel<UI_PlantComparisonPanel>(E_UI_Layer.Top, (p) => { p.Init(); });
}
}
}

View File

@ -0,0 +1,77 @@
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class UI_PlantComparisonPanel : BasePanel
{
public RawImage rawImage;
//¶¥²¿ÎÄ×Ö
public TextMeshProUGUI ToptextMeshProUGUI;
//ÄÚÈÝ
public TextMeshProUGUI ContentTextMeshProUGUI;
//public RawImageScript rawImageScript_Left;
//public RawImageScript rawImageScript_Right;
public plantsInfo plantsInfo;
public void Init()
{
plantsInfo = JsonManager.Instance.LoadData<plantsInfo>("plantsInfo");
ToptextMeshProUGUI.text = "";
ContentTextMeshProUGUI.text = "";
}
public void showPlantPartOnRawImage(GameObject partObj)
{
ToptextMeshProUGUI.text = "";
ContentTextMeshProUGUI.text = "";
plantsInfo.allPlants.ForEach(plant => {
if (partObj.transform.parent.gameObject.name == plant.plantName)
{
string title = plant.plantName + ":";
plant.plantParts.ForEach(part =>
{
if (partObj.name == part.partName)
{
ToptextMeshProUGUI.text = (title += part.partName);
ContentTextMeshProUGUI.text = part.partIntro;
return;
}
});
}
});
}
protected override void Awake()
{
base.Awake();
}
public override void ShowMe()
{
base.ShowMe();
}
public override void HideMe()
{
base.HideMe();
}
protected override void OnClick(string btnName)
{
switch (btnName)
{
case "returnBtn":
GameManager.UIMgr.HidePanel<UI_PlantComparisonPanel>();
GameManager.UIMgr.HidePanel<UI_BGPanel>();
//LiveSceneManger.Instance.TipBtn.gameObject.SetActive(true);
break;
}
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: a3f6b08a228f8d54a9764628dab61c5c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,111 @@
using HighlightPlus;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;
public class RawImageScript_SC : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerMoveHandler
{
//正常植株和病株对比面板
public UI_PlantComparisonPanel rextualPanel;
public RawImage targetRawImage;
HighlightEffect _highlight = null;
public void OnPointerEnter(PointerEventData eventData)
{
}
public void OnPointerMove(PointerEventData eventData)
{
GameObject hoveredObject = eventData.pointerEnter;
RawImage rawImage = this.GetComponent<RawImage>();
// 步骤1转换为RawImage局部坐标
RectTransformUtility.ScreenPointToLocalPointInRectangle(
targetRawImage.rectTransform,
Input.mousePosition,
null,
out Vector2 localPos);
Vector2 uv = CalculateUV(localPos);
if (uv.x < 0 || uv.x > 1 || uv.y < 0 || uv.y > 1) return;
Camera renderCamera = null;
int layerMask = 0;
if (hoveredObject.name == "高粱RawImage")
{
Debug.Log("我进高粱了");
renderCamera = GameObject.Find("Camera_Normal").GetComponent<Camera>();
layerMask = 1 << LayerMask.NameToLayer("Split_Normal");
// 步骤3生成射线
}
else if (hoveredObject.name == "玉米RawImage")
{
Debug.Log("我进玉米了");
renderCamera = GameObject.Find("Camera_Disease").GetComponent<Camera>();
layerMask = 1 << LayerMask.NameToLayer("Split_Disease");
}
else
{
renderCamera = Camera.main;
layerMask = 1 << LayerMask.NameToLayer("Default");
}
Ray ray = renderCamera.ViewportPointToRay(uv);
if (Physics.Raycast(ray, out RaycastHit hit,
renderCamera.farClipPlane,
layerMask))
{
Debug.Log($"选中物体:{hit.collider.name}", hit.collider.gameObject);
if (_highlight != null)
{
_highlight.SetHighlighted(false);
_highlight = null;
}
_highlight = hit.collider.gameObject.GetComponent<HighlightEffect>();
if (_highlight != null)
{
_highlight.SetHighlighted(true);
rextualPanel.showPlantPartOnRawImage(hit.collider.gameObject);
}
}
else
{
if (_highlight != null)
{
_highlight.SetHighlighted(false);
_highlight = null;
}
}
}
public void OnPointerExit(PointerEventData eventData)
{
GameObject hoveredObject = eventData.pointerEnter;
if (hoveredObject.name == "正常高粱")
{
Debug.Log("我退出正常了");
}
else if (hoveredObject.name == "病株")
{
Debug.Log("我退出病株了");
}
}
private Vector2 CalculateUV(Vector2 localPos)
{
Rect rect = targetRawImage.rectTransform.rect;
// 处理不同锚点模式
Vector2 pivot = targetRawImage.rectTransform.pivot;
Vector2 offset = new Vector2(
localPos.x + rect.width * pivot.x,
localPos.y + rect.height * pivot.y
);
return new Vector2(
offset.x / rect.width,
offset.y / rect.height
);
}
}

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 01b62ba21085e1b4d9bb07e1113f23af
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: