Unity_实现小地图功能

这篇具有很好参考价值的文章主要介绍了Unity_实现小地图功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Unity中,模拟类似英雄联盟和csgo中 左上角小地图的功能

思路:在游戏中,玩家有两个视角,一个是玩家的游戏主视角,一个是小地图的视角,每个视角所看到的画面是不一样的,我们只需要创建两个摄像机,一个摄像机负责渲染玩家视角,另一个摄像机负责渲染玩家小地图视角即可

1.搭建好场景,创建游戏物体,一个平面,一个立方体,一个球体,假设我们的玩家是立方体,给它重命名Player,游戏场景地形就是平面,随便换个材质,使得它显眼一点

unity小地图功能,Unity,unity,学习,游戏引擎

 2.在Player和小球身上分别创建子物体Quad,用来代表我们游戏场景中的两个物体 并分别把他们分别都沿Y轴向上平移5,沿X旋转90度,然后缩小一点XYZ,代表Player的Quad换成绿色,代表小球的Quad换成红色

unity小地图功能,Unity,unity,学习,游戏引擎

unity小地图功能,Unity,unity,学习,游戏引擎

3.思路:前面我们提到,两个摄像机只需要渲染各自的画面就可以实现这个功能,我们先看一下此时的游戏画面unity小地图功能,Unity,unity,学习,游戏引擎

 上图,这是我们主摄像机所渲染出来的画面,我们只需要再创建一个小摄像机,并把他平行于地面,俯视着看我们的场景,并且在小摄像机中我们只负责看绿色和红色以及地面不就可以了吗,这样两个摄像机各司其职,主摄像机看主要画面,小摄像机看红绿两点即可

unity小地图功能,Unity,unity,学习,游戏引擎

4.由上图可以看到,将小摄像机设为Player的子物体,并设置好位置,沿X旋转90度,垂直于地面,再将Y轴拉高一点,这样就差不多是小地图的视角了(PS:因为创建了一个新的摄像机默认深度为0,而我们主摄像机深度为-1,Game视图里那个摄像机深度大就设为Game里的画面,我们还要把主摄像机的深度改为1就行),做好以上后,还需要把小摄像机改为正交,不是透视相机,避免近大远小

unity小地图功能,Unity,unity,学习,游戏引擎

 unity小地图功能,Unity,unity,学习,游戏引擎

 5.我们的小摄像机只需要看代表Player和小球的绿红两点和地面就行,不需要看到两个游戏物体,这时我们在将他们的层级改变一下,两个Quad置为UI层,Plane置为Water层,游戏物体Player和小球默认Default层,将小摄像机只渲染UI和Water层,主摄像机只渲染Default和Water层,这样就好啦!

unity小地图功能,Unity,unity,学习,游戏引擎

unity小地图功能,Unity,unity,学习,游戏引擎

unity小地图功能,Unity,unity,学习,游戏引擎

 6.看下效果,小窗口是小摄像机,Game是主摄像机,大致完成了,先让Player动起来试一试是否成功,给Player添加一个move脚本

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

public class move : MonoBehaviour
{
    
    void Update()
    {
        float x = Input.GetAxis("Horizontal");
        float y = Input.GetAxis("Vertical");
        transform.Translate(new Vector3(x, 0, y) * Time.deltaTime * 10);
    }
}

 unity小地图功能,Unity,unity,学习,游戏引擎

基本成功了,但这只是我们在编辑器里看到的,还需要让他显示在游戏画面Game视图中,才能达到真正的效果,如何去做,最后几步go on

7.在Assets中创建一个Render Texture,将Render Texture拖入小摄像机Target Texture中,这时小摄像的渲染的画面就会显示在Render Texture里面了

unity小地图功能,Unity,unity,学习,游戏引擎

8.创建一个RawImage 重命名为Map 将场景先转换为2D 然后改变位置和大小 如图

unity小地图功能,Unity,unity,学习,游戏引擎

 9.再将Render Texture里面的画面给我们的Map,因为Render Texture存放的是小摄像机的画面,然后我么将Render Texture又给了Map,这样Map里面显示的就是小摄像机的画面了,也就实现了小地图

unity小地图功能,Unity,unity,学习,游戏引擎

 10.最后我们运行,至此,小地图功能实现

unity小地图功能,Unity,unity,学习,游戏引擎文章来源地址https://www.toymoban.com/news/detail-535717.html

到了这里,关于Unity_实现小地图功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 在Unity中通过Camera实现类似地图拉拽缩放的功能

    在最近的工作中任务是制作一个导览图系统,需要用到的一个需求就是可以拖动和放大地图,参考网上有很多UI描点大法的实现,我想尝试在摄像机上去实现。 由于地图偏平面,我使用的是用2D模式下的摄像机,将摄像机的 Projection (投影)属性设置成, Orthographic。 我首先想到

    2024年02月09日
    浏览(36)
  • 【Unity3D】如何用使用Unity实现退出游戏的功能

    1、使用Unity编译器时: 2、打包后: 很多时候,我们都知道Application.Quit()代码,但是我们在Unity编译器调试的时候发现即使挂上了这个代码的组件或物体都无法退出编译,因为该代码只在打包后可以实现退出功能。 所以我们可以把两个实现代码同时写入脚本,这样既可以在编

    2024年02月11日
    浏览(79)
  • 【毕业论文】| 基于Unity3D引擎的冒险游戏的设计与实现

    📢博客主页:肩匣与橘 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 肩匣与橘 编写,首发于 CSDN 🙉 📢生活依旧是美好而又温柔的,你也是✨  基于Unity3D引擎的冒险游戏的设计与实现 📢前言 摘要 Abstract 1 绪论 1.1 选题背景 1.2 研究目的及意义 2 开发工具

    2024年02月05日
    浏览(66)
  • 游戏思考17:寻路引擎recast和detour学习三:客户端角度学习(unity专题导航系统,阶段三完结)

    1)导航系统作用 帮助角色进行AI智能移动:朝目标移动,绕过障碍物,上下台阶… 2)导航系统包括 ①导航网格(NavMesh):下图的蓝色地形,可以行走的表面 ②导航网格代理组件(NavMesh Agent):模拟人物移动和寻路 ③导航网格障碍物(NavMesh Obstacle):定义物体为障碍物,这样导航网

    2023年04月12日
    浏览(61)
  • 【unity3D】退出游戏功能的实现

    💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的退出游戏功能的实现 新建一个button按钮,在Hierachy面板点击右键,然后UI—Button。 调节Button位置和Button下面Text文本的内容和大小。 新建一个脚本 新建一个空物体,然后

    2024年02月11日
    浏览(69)
  • Unity 游戏开发、01 基础篇 | 知识大全、简单功能脚本实现

    Unity默认窗口布局 Hierarchy 层级窗口 Scene 场景窗口,3D视图窗口 Game 游戏播放窗口 Inspector 检查器窗口,属性窗口 Project 项目窗口 Console 控制台窗口 恢复默认布局 Window | Layouts | Default 调大页面字体 Preference | UI Scaling 新项目默认创建了 SampleScene 场景 {摄像机,平行光} SampleScen

    2024年02月09日
    浏览(59)
  • Unity 游戏开发、01 基础知识大全、简单功能脚本实现

    Unity默认窗口布局 Hierarchy 层级窗口 Scene 场景窗口,3D视图窗口 Game 游戏播放窗口 Inspector 检查器窗口,属性窗口 Project 项目窗口 Console 控制台窗口 恢复默认布局 Window | Layouts | Default 调大页面字体 Preference | UI Scaling 新项目默认创建了 SampleScene 场景 {摄像机,平行光} SampleScen

    2024年02月09日
    浏览(62)
  • Unity之Photon PUN2开发多人游戏如何实现组队功能

    Photon Unity Networking 2 (PUN2) 是一款基于Photon Cloud的Unity多人游戏开发框架。它提供了一系列易于使用的API和工具,使开发者可以快速构建多人戏,并轻松处理多人游戏中的网络同步、房间管理、玩家匹配等问题。 我们在查看Pun2的Demo时,会发现Demo中自带了一个简易的PhotonTeam和

    2024年02月11日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包