首页 > 其他分享 >Unity3D角色移动控制脚本

Unity3D角色移动控制脚本

时间:2023-12-01 14:32:21浏览次数:20  
标签:脚本 Unity3D vertical 角色 GetAxis move transform var Input



Unity3D角色移动控制脚本

  • 键盘控制方向
  • 鼠标控制方向


键盘控制方向

private CharacterController controller;
public float Speed = 1f;
public float RotateSpeed = 1f;

void Start(){
	controller =  transform.GetComponent<CharacterController>();
}

void Update(){
	//键盘控制
	Move();
	//鼠标控制
	MoveMouse();
}

private void Move(){
	var horizontal = Input.GetAxis("Horizontal");
	var vertical = Input.GetAxis("Vertical");
	
	var move = transform.forward * Speed * vertical * Time.deltaTime;
	controller.Move(move);

	transform.Rotate(Vector3.up, horizontal * RotateSpeed);
}

鼠标控制方向

private void MoveMouse(){
	var horizontal = Input.GetAxis("Horizontal");
	var vertical = Input.GetAxis("Vertical");

	var direction = new Vector3(horizontal, 0, vertical).normalized;
	var move = direction * Speed * Time.deltaTime;
	controller.Move(move);
	
	var playerScreenPoint = Camera.main.WorldToScreenPoint(transform.position);
	var point = Input.mousePosition - playerScreenPoint;
	var angle = Mathf.Atan2(point.x, point.y) * Mathf.Rad2Deg;

	transform.eulerAngles = new Vector3(transform.eulerAngles.x, angle, transform.eulerAngles.z);
}


标签:脚本,Unity3D,vertical,角色,GetAxis,move,transform,var,Input
From: https://blog.51cto.com/xiaokesong/8646028

相关文章

  • 通过PowerShellPlus示例脚本学习PowerShell-使用SMO创建MSSQL任务
    ##=====================================================================##Title:Create-MSSQLJob-UsingSMO##Description:CreateadailySQLjobtocallapowershellscript##Author:Idera##Date:9/1/2008##Input:-serve......
  • 如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件
    ​ 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下,“Dll加固混淆针对Unity游戏,对Dll模块的变量名、函数名、类名进行加密混淆处理,有效提高静态分析门槛”。 通过动态分析了它的保护......
  • 如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件
    ​ 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下,“Dll加固混淆针对Unity游戏,对Dll模块的变量名、函数名、类名进行加密混淆处理,有效提高静态分析门槛”。 通过动态分析了它的保护......
  • 在 Linux 下执行 Jmeter 脚本
    前言Jmeter这款接口测试工具,已经在越来越多的公司被要求会使用了。而且,现在应该部分小伙伴们都开始用起来了。但是,你们知道除了在Windows用图形化界面的Jmeter执行脚本之外,还有其他可以执行的方法吗??今天就来告诉你们,如何在Linux服务器里执行Jmeter的jmx。前提准备:1.Linux下......
  • 『Jmeter超级干货』| Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程
    (『Jmeter超级干货』|Linux下Jmeter安装配置、脚本设计执行、监控及报告完整过程)注意:1、之前写过一个是windows平台的,本文是Linux平台的;2、另外需要注意的是,本文仅为示例过程,所以将客户端和服务器都用在同一台机器上。一般情况下不建议这么做,会影响性能结果的准确性。1JDK......
  • Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
    ​ Unity3D导出的apk进行混淆加固、保护与优化原理(防止反编译)目录 前言:准备资料:正文:1:打包一个带有签名的apk2:对包进行反编译3:使用ipaguard来对程序进行加固 前言:对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿失了,这篇文章就是解决Unity打包出来的包进......
  • 网页正常性监控脚本
    #!/bin/bash#Scriptname:httpmonitor.sh#Author:wanghongwei#Date:2023-11-30#Version:1.0#Description:Ascripttomonitorhttprequestandsendemailalerts#Description:使用cURL请求网页,如果连续三次失败,则发送告警信息#Usage:./httpmonitor.sh......
  • SFTP文件本地及远程创建,上传,下载,删除,获取脚本
    关键参数:sftp_route:远程路径local_route:本地路径(windows需要r解析)header:txt表头字段(列表方式)data:txt内容信息(列表嵌套列表方式)filename_success:是否创建success文件默认为falsefilename:文件名称(无需带后缀默认为txt文件) 注意:上传文件需要带文件名称下载只需要到文件路......
  • VBA脚本
    PrivateConstSt1Name="下拉菜单源"PrivateConstRng1Address="B6:B25"PrivateSubWorksheet_Change(ByValTargetAsRange)'多级下拉菜单触发宏'编制人:王备(千顷云)'本代码免费提供学习使用,但请勿用于商业售卖和课程使用。'网站转载请注明来源。'当改变目标单元格数......
  • centos 实现开机运行脚本
    Craftedby[Genie](https://marketplace.visualstudio.com/items?itemName=genieai.chatgpt-vscode)Youcentos实现开机运行脚本Genie在CentOS系统中,如果您希望在开机时自动运行一个脚本,可以采用以下几种方法之一来实现:方法1:使用cron的@reboot打开当前用户的crontab编......