unity3D 游戏角色血条屏幕适配问题 20C

做一个3D游戏,要给游戏中的人物头顶上做一个跟随的血条,出现如下问题:
当改变屏幕的分辨率时,血条位置发生巨大偏移。求大神解决。

一下是我unity 工程里的一些参数

Canvas 参数:
UI Scale Mode Scale With Screen Size
Reference Resolution : X:960 Y:640
Screen Match Mode : Match Width Or Height
Match :1
图片说明

图片说明

图片说明
以下是血条跟随人物的代码:

 void Update () {
                    if (target == null)//target 是被跟随的角色
            Destroy (this.gameObject);
        else {
                        pos = target.transform.position;//角色世界坐标
                pos = Camera.main.WorldToScreenPoint (pos);//角色屏幕坐标
            pos = pos * 640 / Screen.height;//适配,为什么这条语句不能达到适配的目的
            pos.x -= Screen.width >> 1;
            pos.y -= Screen.height >> 1;
            this.transform.localPosition = pos;
        }
    }

如果我讲得不清楚,欢迎加我QQ 497262647 来为我解答,感激不尽

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Unity3D 精灵血条
比UGUI更方便的血条控制,以及跟随人物或者敌人 即使在3D游戏中渐远也可以用代码控制血条大小 直接把图片拖放为需要移动角色(敌人)的子物体下 再把精灵图片的中心的选择如下图: Pivot中x点为0,即图片的最左边,根据需求随意更改 控制Transform中Scale中x的大小,即可显示多少 如果需要显示文字,也可以用数字的图片使用精灵领10个数字为预制物体 在改血条
Unity3D血条的制作
我们都知道,在Unity3D中,所有的组件缩放都是两头缩放,有时候我们需要一头缩放,比如游戏中的血条,血量减少的时候都是从一头缩短,一头固定不动。如何做到一头缩放呢? 1.我们首先在场景中添加一个Quad的组件,然后我们对此拉伸。 2.我们创建一个材质球,给材质球的填充颜色为红色,并把此材质球,拖动添加在Quad组件上。 3.我们创建一个空物体(Create Empty),然后标记一下此空物体
Unity3d血条的生成
     血条的生成用到了UI组件中的Canvas,生成canvas后将其调整为适当尺寸,并在其基础上添加hpBarBG背景(黑色),以及hpbar(红色)。 之后要因为HpBar时动态变化,且左侧总是和Canvas对齐的,要将其Image组件设置如下(Filled),且要添加实在的Source Image。其中的fillamount就是后面要在程序中动态改变的。 之后在玩家的sc...
Unity3d——UI(血条制作)
血条(Health Bar)制作。具体要求如下 分别使用 IMGUI 和 UGUI 实现 使用 UGUI,血条是游戏对象的一个子元素,任何时候需要面对主摄像机 分析两种实现的优缺点 IMGUI 效果图: (血条红色不是很明显,为了显示IMGUI,因此把整个界面都截图了) The “Immediate Mode” GUI system (also known as IMGUI...
Unity3d 三种血条的制作
方法一:(推荐) 结果:血条跟随目标物体移动,血条一直面向摄像机 步骤一: 1.制作一个血条(Image)的预设体; 2.在Canvas 中添加一个Plane,作为血条的父物体; 3.(1,2)准备工作做完了,思路:在生成游戏物体时,生成血条,把游戏物体的3D坐标转换为屏幕坐标,让血条的坐标等于游戏物体的屏幕坐标,如果要修改,可以添加一些偏移, 代码如下 public class E
unity3d制作弧形血条,魔条
第一步,我们需要先准备好一张弧形素材图片资源: 第二步,把该资源在unity中按照如下设置: 第三步,在unity中创建一个image,并且把资源拖给该image,就变为如下所示 需要注意点击一下set native size,图片才会显示真实大小 第四步,给该图片添加一个材质,并给该材质添加一个带透明通道的着色器,为此我们需要动手写一个着色器 附上shaoder: 第
unity3d创建一个跟随人物的血条
在游戏的战斗中经常需要使用到一个能够跟随人物位置变化而变化的血条,由于项目用到,就动手写了一个,作为巩固一下里面需要用到的坐标变换的知识。 我们项目中ui层使用的照相机跟场景中的照相机是独立的,所以这个例子中需要两个照相机,一个用来显示血条,另外一个用来显示角色,当然,需要保证角色的屏幕坐标跟血条的屏幕坐标要保持一致。惯例先来上最终效果图: 上面三幅图中,不管球体怎么移动,血条在屏
unity3D制作血条跟随的研究
在制作游戏的时候都会用到血条
怎么获取游戏角色的血量值
最近在玩网游,总是自己给角色加血,很麻烦。于是乎,想做个自动加血的辅助工具,用spy++只能获取游戏界面的ID。各位大大有什么好办法吗?不妨讨论讨论啊!
Unity3D——屏幕适配
这里参考了大神的博文,再加一些自己的理解。 原文链接: http://www.jianshu.com/p/95cb4621206e 一、像素 单位面积中构成图像的点的个数。单位面积中像素越多,分辨率就越高,效果就越好。 二、分辨率 显示分辨率:屏幕图像的精密度,是指显示器所能显示的像素有多少。分辨率的单位:dpi点每英寸,ipi线每英寸,ppi像素每英寸。 图像分辨率:图像本身所带的...
Direct3D的血条制作问题
刚好在做人物的血条公告板,发现一个诡异的地方,那就是,一开始血条一直在人物的上方,之后死亡了,换位置了就不在人物上方了。 之后发现他是按照我的人物的移动半径来旋转血条的。但是这不是我想要的,因为血条永远都要在人物上方嘛。因为以前学过opengl的关系,所以后来想到了是要将矩阵的旋转和平移分开写,要先旋转在平移,因为在原点旋转了,那就不会再影响到后面的平移了。 这里使用DX封装好的函数:
Unity3D 第三人称的游戏角色的单选和移动
个人比较喜欢制作策略类的第三人称游戏,可以召唤怪物,不知道大家喜不喜欢!如果喜欢的话就支持我一下吧!当然,如果你有一些好的功能和想法,可以一起讨论研究!欢迎大家来这里做客!         所以今天来分享一下最近做的项目中的,游戏角色的单选和移动! 我用的是Unity3D中的自动寻路组件来实现的,下面是游戏角色的组件,要看仔细哦!           首先在游戏对象的下面添加一个2D
【Unity】-UIGI简易血条的制作,环形血条,不规则血条,自定义图形血条的制作
                           利用UIGI制作的简易的自定义图形血条 目录 1.效果展示 2.内容简介 3.具体内容和思路 .Image相关属性介绍 .效果图一具体实现方法 .效果图二具体实现方法 .效果图三具体实现方法 4.资源包下载 5.结语 1.效果展示                                              ...
血条控制制作
unity血条制作,用于游戏血条制作,描述生命值
血条或者进度条
用Unity做血条或进度条真的很方便,GUI里scrollbar就可以轻松实现,再加上lerp一个血条或进度条就完成了。   using UnityEngine; using System.Collections; public class BloodBarTest : MonoBehaviour { public GUISkin theSkin; public f...
2D 血条
void Update () { //设定血条的颜色,根据玩家的血量在绿色和红色间成比例实现 healthBar.material.color = Color.Lerp (Color.green,Color.red,1 - health*0.01f); //设置血条的尺寸,与血量成比例 healthBar.transform.local
血条跟随人物
// 血条 public GameObject hpImage; // 改变血条的XY轴 public int posX, posY; void Start () { } void Update () { // 世界坐标转换成屏幕坐标 Vector2 pos = Camera.main.WorldToScreen...
制作敌人血条
玩儿过塔防游戏吗?听说过《保卫萝卜》和《塔防战争》吗?本系列课程使用简单易懂的逻辑带你一起剖析这类游戏制作的过程。本案例完美展示了该类项目从搭建到完成的完整架构体系,无论代码设计还是结构布局都是悉心安排。想知道如何使用四元数跟随目标旋转吗?想知道如何使用曲线实现淡入淡出吗?本课程经过精心录制,带你轻松学习更多知识,只要你对Unity有一些基本操作的认识,就可以跟着老师一起完成这款游戏。
HUD血条跟随
先将HUD导入到项目中 建一个cube当做小怪,建个slider作为血条,给cube建一个空的子物体 给slider加一个组件 给cube加一个脚本 这里的textPrefab是一个label的预制体,用来展示飘血的效果 给预制体加一个组件HUD Text 想要控制血条上飘,自己将自己删除,可以给预制体加一个脚本 cube上挂载的脚本为 ...
血条跟随
把准备好的Canvas拖成预置体,然后从面板删除掉public GameObject helthBar;//实例化血条,在面板上把把预置体拖进去 helthBar.transform.localScale = new Vector3(current_health / Health, 1, 1);//current_health表示当前的血量,这样是缩短了血条,达到血条跟随
多层血条Demo
多层血条的自制工具,拖拽进去就能使用,省去了自己制作的麻烦,简单小巧易使用。
人物血条的变化
using UnityEngine; using System.Collections; using UnityEngine.UI; public class HpMove : MonoBehaviour { private RectTransform rec; private float hp=221;//血量最大值 private float mp=204;//法力最大值 publ
Unity血条实现
用unity中的2D->sprite实现血条,首先创建一个空物体title,接着创建一个2D->Sprite命名为BG,将Sprite Renderer的Sprite设置成框的图片,在BG下创建一个子物体2D->Sprite将sprite设置为红色血条图片。 将以下脚本挂载在BG下。并将红色血条拖入Front,通过Value调值。 using UnityEngine; using System
角色血条跟随
GameObject分为2D & 3D,然而血条Slider是UI系统里的,要跟随的话我目前找到了两种方法:   1. main camera跟随角色移动(拉成子对象,或者镜头上挂脚本控制),在scene里调整好slider的位置,播放时血条就跟随了。但效果很差,往往角色先跑到一个地方,血条一个大漂移才跟随上了。 这是2D 对象的跟随,如果对象时3D,则要把slider所在的canv...
UI 血条
using UnityEngine; using System.Collections; using UnityEngine.UI; public class HealthController : MonoBehaviour { //当前对象是血条还是蓝条 public bool isHealth = false; //虚拟轴,横轴,纵轴 private flo
【UGUI】血条
首先看下样子吧 可以使用UGUI里的Slider直接代替,这里我自己写一个; 要求: 绿色血条不能与鼠标进行交互; 只能通过代码控制绿色血条显示进度;实现: 在最上面Image上添加Slider组件; 指定FillRect 为Green; HandRect 用不着,不管;谢盖Green的的ImageType属性为Filled;
AI血条
UnrealEngine4作为一款次世代引擎。提供了百分之百开放的源代码,编辑器,Max/Maya的输出插件,以及一些公司内部开发游戏所使用到的游戏代码。   n 虚幻的蓝图脚本语言还提供了许多自动化的原数据供游戏开发人员参考和使用。让没有程序基础的初学者与美术人员也能很快上手游戏开发。
血条的制作
本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。
优化血条
本课程介绍如何使用unity3D 制作一款5V5MOBA爆款手游《王者荣耀》,教程详细讲解了王者荣耀4大核心功能点,其中包括unity常用界面的讲解使用、动画机的使用、防御塔的制作、战斗场景的搭建、小兵的制作、子弹移动控制、英雄的制作及开始/局结束界面制作、技能实现、血条制作、UI页面使用、商店背包制作等等。
Unity3D 五星级自定义游戏角色工程文件
五星级游戏角色工程 UNITY3D 美工极致体现 美工制作十分精美的工程文件 游戏开发参考必备
unity3d 三维FPS游戏角色控制
要先把摄像机镜头放在player里 public class PlayerController : MonoBehaviour { Vector3 movement; Rigidbody playerRigidbody; // player移动速度 public float speed = 6f; private float x; private float
unity 血条 进度条 减血效果
unity血条 进度条 减血效果 这一章我们讲处理HUD的显示与隐藏,首先我们找到在第一章所提供的下载链接中找到Resources—》Content3中找到HUD.Unitypackage包,把它导入到我们的项目包中。这时我们会发现在Prefabs文件夹中多了一个HUD预设。 我们把HUD预设拖到场景中
人物血条制作
1.创建一个Canvas,Render Mode设置为World Space(游戏里面实际的大小)2.canvas的大小改为一般的血条大小即可,放在人物的头顶,canvas要拖放到角色的子层,在canvas里面创建一个Image,大小和canvas一样即可。。3.Source Image选一个白色的,好调试。Image Type设置为Fille,Fill Method设置为Horizontal。效...
血条映射函数
/// <summary> /// 血条映射 /// </summary> /// <param name="value"></param> /// <param name="min"></param> /// <param name=&qu
多重血条效果
描述: 1.当受到伤害较小时,出现“残血”效果 2.当受到伤害较大时,出现“流水”效果 血条由4部分组成 1.剩余学条数 2.当前血条剩余血量image 3.过度血条image 4.下一血条显示颜色 image 注意:这里的血条显示image 需要将Image.Type设置为Filled,fill Method设置为水平, using UnityEngine; u
UGUI血条显示
public class UGUI_HPShow : MonoBehaviour {     //Overly模式     public bool isCamMode = true; //是否是Camera模式     //Camera模式     public Camera UICam; //depthOnly depth>MainCam.Depth UI层     priv
血条显示
本课程是基于Spine骨骼动画实现的动作类手游,手游功能包括文本文件加密,技能系统,战斗系统,buff系统等,是一个功能齐全的游戏。
unity3d c#用于两个坦克对打血条的增减
/// 作用于两个玩家互相攻击血条的增减
Unity3D UGUI 血条跟随角色——几种方案对比
【方案一】 把Canvas设置成Worldspace模式,放到角色下,变成子对象,自然就跟着角色移动了。 问题:角色旋转,血条也会跟着旋转,即便通过Update函数,修正rotation,强行等于Camera的rotation,也会出现摆动的现象。 教程地址:http://www.jianshu.com/p/a9fd13594f18 【方案二】 把角色的Position投射到屏幕上,转化...
Unity3D战斗系统中的血条表现与伤害判定
Blood Slot Display and Damage Introduction 在战斗系统中,血条显示必不可少,而伤害的浮动数值表现也与血条相辅相成。这个DEMO主要实现了简单的战斗中血条表现与伤害数值浮动显示 Blood Slot 在Unity3D中可以用UGUI中的Slider简单实现一个血条UI: 创建一个Canvas与Slider,并删除Slider中的Handl...
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件