unity开发c#代码

1.摄像头跟随主角移动,并支持旋转。

开发过程中需要摄像头以一定距离跟随player,同时会进行旋转,属于一种常见的跟随方式。

using UnityEngine;
using System.Collections;

public class CameriaTrack : MonoBehaviour {
    private Vector3 offset = new Vector3(0,5,4);//相机相对于玩家的位置
    private Transform target;
    private Vector3 pos;

    public float speed = 2;

    // Use this for initialization
    void Start () {
        target = GameObject.FindGameObjectWithTag("Player").transform;

    }

    // Update is called once per frame
    void Update () {
        pos = target.position + offset;
        this.transform.position = Vector3.Lerp(this.transform.position, pos, speed*Time.deltaTime);//调整相机与玩家之间的距离
        Quaternion angel = Quaternion.LookRotation(target.position - this.transform.position);//获取旋转角度
        this.transform.rotation = Quaternion.Slerp(this.transform.rotation, angel, speed * Time.deltaTime);

    }
}

这里值得注意的是:需要记得将主角的tag设置为player。

原理非常简单,一直将摄像机和玩家距离控制在一个值之内,旋转角度上相减取差值即可。

觉得位置不太好的话,改一下最开始的offset即可。同时别忘了吧脚本挂在摄像头上。

原文地址:https://www.cnblogs.com/lixiaoyao123/p/9678201.html

时间: 2024-08-30 10:58:24

unity开发c#代码的相关文章

[Unity开发]NGUI代码实现ScrollView(放大视图)

下载NGUI包 导入NGUI3.9.1版本package 创建MainCameraScript.cs脚本 MainCameraScript.cs using UnityEngine; using System.Collections; public class MainCameraScript : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame

unity 开发入门

---恢复内容开始--- 使用Unity开发一个打飞机的初级入门小游戏. 实现功能: 一.界面UI:3个界面:1开始界面,2游戏界面,3解释界面. 1.开始界面: 主要代码: using UnityEngine;using System.Collections; public class projectile : MonoBehaviour { private Transform m_projectile; private Rigidbody goprojectile; void Start (

蓝鸥Unity开发基础——If 语句学习笔记

蓝鸥Unity开发基础--If 语句学习笔记 本节内容:程序的三种结构,if语句,问号表达式 程序的三种结构 顺序结构:顺序执行语句 分支结构:通过进行判断,在多个语句块中选择某一个执行 循环结构:条件满足时,反复执行同一语句块 If语句 用if语句可以构成分支结构 它根据给定的条件进行判定,用来决定要执行某个程序段 一.if(条件表达式){语句1} using System; namespace Lesson11{    class MainClass    {        public s

2017年Unity开发环境与插件配置安装(总体介绍)

最近(2017年初)有朋友问,Unity客户端开发如何在机器配置一般的情况下,配置更高效的开发环境,进一步加快开发进度. 推荐如下: Win10(或者Win8)+Unity5.5.1版本(2017年2月最新)+VS2012(或者VS2015) +UnityVS(支持Unity5.x版本)插件+Resharp8.0插件. 解释如下: 1: 操作系统推荐Win10或者Win8系统. 目前Unity5.0  以上版本都支持64位系统,带来更高的性能体验,所以不是太老的机器,一定用64位的Win操作系统

【《Effective C#》提炼总结】提高Unity中C#代码质量的22条准则

本文由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/53869998 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 引言 我们知道,在C++领域,作为进阶阅读材料,必看的书是<Effective C++>. 而<Effective C#>之于C# ,是类似<Effective C++>之于C++一样的存在. 这篇文章,

Leap Motion 之Unity 开发指南(一. 基本概念与制作手预制件)

LeapMotion 之Unity开发指南(一.基本概念和手的预制件) [序言] 最近用Leap Motion + 国产的3Glass眼镜构建了房地产.数字矿山的一些应用,感觉这是很经济的一个VR架构方案,比用Oculus和HTC的硬件要省钱得多,并且效果也不错. 在行业VR应用中,其实重在培训教育.生产安全的仿真演练上,更多地通过一些UI互动.基础性的手势(比如开关设备.拾起灭火装备等)来进行交互,这些并不一定需要非常昂贵的激光定位设备.复杂的硬件套件才可实现,而手势识别在未来也是一个趋势.

用Unity开发移动平台的游戏 不可避免的会遇到屏幕分辨率

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 用Unity开发移动平台的游戏  不可避免的会遇到屏幕分辨率的问题 不同的分辨率上会使得原本正常的UI变得乱七八糟 我们知道  在Unity中可以拿一个plane作为背景 UI则是绘制在离摄像机最近的位置  可以认为是绘制在摄像机上的 因此分辨率的不同会导致UI的位

蓝鸥Unity开发基础二——课时3 访问修饰符

[蓝鸥Unity开发基础二]课时3 访问修饰符 一.访问修饰符 public --公共的,在哪里都能用 private  --私有的,只能够在当前机构体重使用,其他任何地方都不能 访问修饰符举例说明 using System; namespace Lesson_03{           struct Point2{        //public--公共的,在哪里都能用        public float x;        //private  --私有的,只能够在当前机构体重使用,其他

蓝鸥Unity开发基础—— 一维数组学习笔记

蓝鸥Unity开发基础-- 一维数组学习笔记 一.数组 之前我们学过很多数据类型,今天我们来学习数字,数字也是一种数据类型,那么,具体的数组是如何定义的? 数组:相同数据类型的成员组成的一组数据 Int类型数组:4  7  12  3  5--数组元素 Float数据类型数字:11.5 4.62 7.1 2.21 9.3--数组元素 数组中每一个元素都会分配一个数组下标,数组下标是从0开始的,有序排列,如:0 1 2 3 4 二.声明并初始化数组: 数组也是数据类型,所以也可以声明变量.使用ne