Browse Source

fixed bug 3D空间转UI canvas屏幕坐标

woso_javan 2 months ago
parent
commit
b70f46ed01

File diff suppressed because it is too large
+ 390 - 122
assets/module_storm_sunder/Prefabs/Map.prefab


+ 1 - 1
assets/module_storm_sunder/Script/Component/TornadoAIComponent.ts

@@ -154,7 +154,7 @@ export class TornadoAIComponent extends TornadoComponent {
     private escapeFrom(target: Node) {
         this.isEscaping = true;
         console.log(`AI 逃离行为->>>>>>>>>>>>>>`);
-        const direction = this.node.position.clone().subtract(target.position).normalize().multiplyScalar(20);
+        const direction = this.node.position.clone().subtract(target.position).normalize().multiplyScalar(100);
         const escapePosition = this.node.position.clone().add(direction);
 
         PathfindingManager.getInstance().moveTo(this.node, escapePosition, this.escapeDuration);

+ 5 - 4
assets/module_storm_sunder/Script/GameUtil.ts

@@ -218,10 +218,11 @@ export class GameUtil {
         const mainCamera = StormSunderGlobalInstance.instance.camera;
         const screenPos = mainCamera.worldToScreen(targetWorldPos);
         const uiPos = new Vec3();
-        localNode.getComponent(UITransform)!.convertToNodeSpaceAR(
-            new Vec3(screenPos.x, screenPos.y, 0),
-            uiPos
-        );
+        // localNode.getComponent(UITransform)!.convertToNodeSpaceAR(
+        //     new Vec3(screenPos.x, screenPos.y, screenPos.z),
+        //     uiPos
+        // );
+        mainCamera.convertToUINode(target.worldPosition, localNode, uiPos);
         return uiPos;
     }
 

+ 3 - 3
assets/module_storm_sunder/Script/Manager/Effect2DUIMgr.ts

@@ -43,8 +43,8 @@ export class Effect2DUIMgr {
         const bloodUI = StormSunderGlobalInstance.instance.bloodUI;
         const uiPos = GameUtil.worldToScreenLocal(target, bloodUI).clone();
         // 设置位置偏移
-        const offsetY = 200;
-        const offsetX = 100;
+        const offsetY = 50;
+        const offsetX = 0;
         bloodNode.setPosition(uiPos.x + offsetX, uiPos.y + offsetY);
 
         // 更新血量显示
@@ -94,7 +94,7 @@ export class Effect2DUIMgr {
 
     private setPlayerInfoPosition(infoNode: Node, target: Node, parentUI: Node) {
         const uiPos = GameUtil.worldToScreenLocal(target, parentUI);
-        infoNode.setPosition(uiPos.x + 70, uiPos.y + 250);
+        infoNode.setPosition(uiPos.x, uiPos.y + 150);
     }
 
     //更新对应玩家信息

File diff suppressed because it is too large
+ 123 - 309
assets/module_storm_sunder/rooster_stormsunder.scene


Some files were not shown because too many files changed in this diff