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

[RequireComponent(typeof(CharacterController))]
[RequireComponent(typeof(AudioSource))]
public class PlayerDeviceController : MonoBehaviour
{
    private CharacterController cc;

public float gravity = 0f;
    public float speed = 1f;
    public float rotateSpeed = 1f;
    public float jumpSpeed = 8.0f;

private Vector2 scV2 = Vector2.zero;

private Vector3 moveDirection = Vector3.zero;
    // Use this for initialization
    void Start()
    {
        cc = GetComponent<CharacterController>();
    }

// Update is called once per frame

private void FixedUpdate()
    {
        if (cc.isGrounded)
    {
    if (cc.enabled)
    {
        //让物体朝摄像机观察方向移动
        scV2 = UIManager.ScrollCircle.v2;

Vector3 targetDirection = new Vector3(scV2.x, 0, scV2.y);

float angle = Camera.main.transform.localEulerAngles.y;
        float angleJoystick = Mathf.Atan2(scV2.x, scV2.y) * 180f / Mathf.PI;

this.transform.localEulerAngles = new Vector3(0, angleJoystick,0);

float y = Camera.main.transform.rotation.eulerAngles.y;

targetDirection = Quaternion.Euler(0, y, 0) * targetDirection;

transform.Translate(targetDirection * Time.deltaTime * speed, Space.World);

//transform.Rotate(scV2);
                }
}
else

{
    //先落地
    moveDirection.y -= gravity * Time.deltaTime;
    cc.Move(moveDirection * Time.deltaTime);
    //print (Time.deltaTime);
}

//头朝向始终与摄像机平行
//this.transform.localEulerAngles = new Vector3(0, MainScript.ARCamera.transform.localEulerAngles.y, 0);
}
}

Unity 让物体朝摄像机观察方向移动,已摇杆方向转向的更多相关文章

  1. Unity 3D 简易制作摄像机围绕物体随鼠标旋转效果

    Unity 3D 简易制作摄像机围绕物体随鼠标旋转效果 梗概: 一. 摄像机围绕目标物体旋转, 即摄像机离目标物体有一定的距离且旋转轴心为该物体的位置. 二. 当目标物体被障碍物挡住后, 需要将摄像机 ...

  2. Unity 3d 实现物体跟随摄像机视野运动

    https://blog.csdn.net/qq_31411825/article/details/61623857 Unity 3d 实现物体跟随摄像机视野运动Created by miccall ...

  3. unity做游戏常用功能实现(一)多方向同时输入也能让物体正常移动

    -------小基原创,转载请给我一个面子 网上有很多讲输入控制如何移动,但是多数都是讲单一按下,对于同时按下2个或2个以上按键并没有说明怎么解决,这里小基研究了一下方便大家 (如果你直接写input ...

  4. u3d之世界坐标系,屏幕坐标系,视口坐标系,如何获取物体距离摄像机的距离

    世界坐标系就是unity的左手坐标系 屏幕坐标系是Game视图相机拍摄的场景坐标系,左下角(0,0),右上角(Screen.width,Screen.height),单位是像素.Z的位置是以相机的世界 ...

  5. 【Unity】4.7 摄像机

    分类:Unity.C#.VS2015 创建日期:2016-04-11 一.简介 摄像机(Camera)是为玩家捕捉并展示世界的一种设备.场景中至少需要有一台摄像机,也可以在一个场景中使用多台摄像机.这 ...

  6. Unity 实现物体破碎效果(转)

    感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In ...

  7. Unity查找物体的子物体、孙物体

    Unity查找物体下的所有物体 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分 ...

  8. Mac使用技巧总结-如何独立设置Mac触摸板方向和鼠标滚轮方向?

    Mac使用技巧总结 如何独立设置Mac触摸板方向和鼠标滚轮方向? 苹果Macbook的使用者都知道,Mac自带的触控板非常好用,不仅支持多手势操控,而且手感极佳,使用流畅. 但是如果对鼠标的焦距有高有 ...

  9. 关于Unity中物体分别在本地和世界坐标系对应方向的移动

    方向 Vector3可以定义以世界坐标轴为参考的三维矢量,Vector3.forward,Vector3.up,Vector3.right方别对应物体世界坐标系的Z,Y,X轴方向的单位向量,或者叫三维 ...

随机推荐

  1. JavaScript(四)

    条件语句 通过条件来控制程序的走向,就需要用到条件语句. 运算符 1.算术运算符: +(加). -(减). *(乘). /(除). %(求余)2.赋值运算符:=. +=. -=. *=. /=. %= ...

  2. JQuery 绑定单击事件到某个函数的的方法

    <script> function 我会在加载完页面马上执行() { alert('我会在加载完页面马上执行'); } function 我只会在按钮点击时才执行() { alert('我 ...

  3. Android Notification 详解

    转载自  http://www.cnblogs.com/travellife/  Notification 概述 Notification,是一种具有全局效果的通知,可以在系统的通知栏中显示.当 A ...

  4. [LeetCode] Custom Sort String 自定义排序的字符串

    S and T are strings composed of lowercase letters. In S, no letter occurs more than once. S was sort ...

  5. (转载)CentOS6 Linux系统添加永久静态路由的方法

    https://blog.csdn.net/magerguo/article/details/49636231

  6. PAT甲级1123 Is It a Complete AVL Tree【AVL树】

    题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805351302414336 题意: 给定n个树,依次插入一棵AVL ...

  7. F#周报2019年第9期

    新闻 对于F#,Visual Studio 2019 RC有哪些更新 Visual Studio 2019 RC现在已经发布 C#版本与工具的升级 如何移植桌面应用程序到.NET Core 3.0 对 ...

  8. ublox TMOD2

    Survey_in模式就是为了当满足下面的条件的时候,自动跳转到fixmod

  9. POI导出excel列宽自适应

    让单元格宽度随着列和单元格值的宽度自适应: //存储最大列宽 Map<Integer, Integer> maxWidth = new HashMap<>(); // 将列头设 ...

  10. linux自定义开机自启多个服务的脚本

    linux服务器重启后,每次要启动redis.ftp.tomcat等应用总是很麻烦,于是写了一个自定义脚本,在开机或重启的时候,自动启动多个服务.应用. 很简单,写脚本.设置开机启动.   第一步.准 ...