服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C# - Unity实现简单场景分层移动

Unity实现简单场景分层移动

2022-12-02 14:57我寄人间雪满头丶 C#

这篇文章主要为大家详细介绍了Unity实现简单场景分层移动,分为前景、场景、背景等,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Unity实现简单场景分层移动的具体代码,供大家参考,具体内容如下

前言

开发游戏经常需要用到把前景、场景、背景等不同层级的物体进行不同速度的移动以实现真实感。

效果

云、建筑、地面、前景植被各层次场景分层移动。

Unity实现简单场景分层移动

代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using UnityEngine;
 
public class DistantView : MonoBehaviour
{
    public GameObject follow;
    public float scaleOffset;
    public bool isHorizontal = true;
    public bool isVertical = true;
    Vector2 pos;
    Vector2 followPos;
    float offsetX;
    float offsetY;
 
    private void Start()
    {
        if (follow != null)
            followPos = follow.transform.localPosition;
    }
 
    void LateUpdate()
    {
        if (follow!=null)
        {
            pos = transform.localPosition;
 
            if (isHorizontal)
            {
                offsetX = (follow.transform.localPosition.x - followPos.x) * scaleOffset;
                pos.x += offsetX;
            }
 
            if (isVertical)
            {
                pos.y += offsetY;
                offsetY = (follow.transform.localPosition.y - followPos.y) * scaleOffset;
            }
 
            transform.localPosition = pos;
            followPos = follow.transform.localPosition;
        }
        
    }
}

用法

将不同层级的物体放入不同的父物体下分别管理。

Unity实现简单场景分层移动

给每个父物体挂上脚本。

Unity实现简单场景分层移动

Follow为跟随的基准对象。(比如玩家,相机等)
ScaleOffset为移动速率,1为和目标移速一致,越小越慢,越大越快。0为不移动,负值为反向移动。(前景可能要用到负值)
Hor和Ver为跟随哪个轴。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/qq_39162826/article/details/118723153

延伸 · 阅读

精彩推荐
  • C#C# String字符串案例详解

    C# String字符串案例详解

    这篇文章主要介绍了C# String字符串案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    8232022-11-24
  • C#C#根据IP地址查询所属地区实例详解

    C#根据IP地址查询所属地区实例详解

    这篇文章主要介绍了C#根据IP地址查询所属地区实例详解,调用的接口是免费的接口,有需要的同学可以研究下...

    祝君圆梦4562022-11-04
  • C#Unity实现粒子光效导出成png序列帧

    Unity实现粒子光效导出成png序列帧

    这篇文章主要为大家详细介绍了Unity实现粒子光效导出成png序列帧,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    langresser3902022-07-13
  • C#浅谈C#中的委托、事件与异步

    浅谈C#中的委托、事件与异步

    本文主要介绍了C#中的委托、事件与异步的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧...

    sxyy6202021-12-29
  • C#C# DateTime.Compare()方法案例详解

    C# DateTime.Compare()方法案例详解

    这篇文章主要介绍了C# DateTime.Compare()方法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    xusong6102022-11-30
  • C#如何使用C#从word文档中提取图片

    如何使用C#从word文档中提取图片

    图片和文字是word文档中两种最常见的对象,在微软word中,如果我们想要提取出一个文档内的图片,只需要右击图片选择另存为然后命名保存就可以了,今...

    C#教程网11752021-11-12
  • C#C#对多个集合和数组的操作方法(合并,去重,判断)

    C#对多个集合和数组的操作方法(合并,去重,判断)

    下面小编就为大家带来一篇C#对多个集合和数组的操作方法(合并,去重,判断)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过...

    C#教程网11152021-12-14
  • C#C#与C++与互操作实例讲解

    C#与C++与互操作实例讲解

    在本篇文章里小编给大家整理了关于C#与C++与互操作实例以及相关内容,需要的朋友们可以学习下。...

    zhaotianff4982022-08-04