unity学习笔记

一、Transform类

在Unity中,Transform 类是一种用于表示和操作游戏对象位置、旋转和缩放的类。每个游戏对象都有一个关联的 Transform 组件,该组件定义了对象在场景中的空间变换信息。

1.常见属性和方法

获取位置

相对与世界坐标系:Debug.Log(transform.position);

相对于父物体:Debug.Log(transform.localPosition);

获取旋转

相对与世界坐标系:Debug.Log(transform.rotation);

相对于父物体:Debug.Log(transform.localRotation);

相对于都物体的缩放:Debug.Log(transform.localScale);

获取向量

前方:Debug.Log(transform.forward);

右方:Debug.Log(trahsform.right);

上方:Debug.Log(transform.up);

物体的前方方向指向指定的位置:

transform.LookAt(Vector3.zero);

围绕物体自身的"上"轴旋转指定角度:

transform.Rotate(Vector3.up,1);

使物体绕指定点以及指定轴旋转指定角度:

transform.RotateAround(Vector3.zero, Vector3.up,5);

沿着物体自身的前方方向移动物体:

transform.Translate(Vector3.forward * 0.1f);

2.通过脚本控制父子关系

获取父物体

transform.parent.gameObject;

子物体个数

Debug.Log(transform.childCount);

解除与子物体的父子关系

transform.DetachChildren();

获取指定的子物体,返回值是Transform

通过名字去获取:Transform trans = transform.Find("Child");

通过索引去获取:trans = transform.GetChild(0);

判断一个物体是不是另外---个物体的子物体

bool res = trans.lsChildOf(transform);

二、虚拟轴

在Unity中,虚拟轴(Virtual Axes)是一种用于处理输入的抽象概念。它们允许你以一种更灵活的方式处理用户输入,而不直接关注具体的输入设备(如键盘、鼠标或手柄)。

在Unity中,可以通过 Input Manager 配置输入设置,包括虚拟键和虚拟轴。可以在Unity编辑器中通过选择"Edit" -> "Project Settings" -> "Input Manager"来设置输入管理器。

使用虚拟轴:

1.在输入管理器中定义一个虚拟轴,例如给它一个名称(比如"Horizontal"或"Vertical")。

2.在你的脚本中,通过Input.GetAxis或Input.GetAxisRaw来获取虚拟轴的输入值。

float horizontalInput = Input.GetAxis("Horizontal");
float verticalInput = Input.GetAxis("Vertical");

虚拟轴可以用于移动控制、摇杆控制和视角控制。

注意事项:

1.虚拟轴值的范围:Input.GetAxis 返回在-1到1之间的浮点数,表示输入的强度。0表示没有输入,-1表示负方向输入,1表示正方向输入。

2.虚拟轴的初始值:Input.GetAxisRaw 返回在-1、0和1之间的整数,它不会进行平滑处理。

三、触摸输入

在Unity中,触摸输入是指对支持触摸屏的设备(例如智能手机、平板电脑)上的用户触摸进行响应的功能。

获取的触摸对象

Touch touch = Input.touches[0];

获取触摸的位置

Debug.Log(touch.position);

检查触摸的阶段

switch(touch.phase){

case TouchPhase.Began:// 触摸开始

break;

case TouchPhase.Moved:// 触摸移动

break;

case TouchPhase.Stationary:// 触摸静止

break;

case TouchPhase.Ended:// 触摸结束

break;

}

相关推荐
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.6 分钟前
Keepalived VIP迁移邮件告警配置指南
运维·服务器·笔记
ling___xi1 小时前
《计算机网络》计网3小时期末速成课各版本教程都可用谢稀仁湖科大版都可用_哔哩哔哩_bilibili(笔记)
网络·笔记·计算机网络
星火开发设计1 小时前
类型别名 typedef:让复杂类型更简洁
开发语言·c++·学习·算法·函数·知识
Gorgous—l2 小时前
数据结构算法学习:LeetCode热题100-多维动态规划篇(不同路径、最小路径和、最长回文子串、最长公共子序列、编辑距离)
数据结构·学习·算法
中屹指纹浏览器2 小时前
中屹指纹浏览器底层架构深度解析——基于虚拟化的全维度指纹仿真与环境隔离实现
经验分享·笔记
Hello_Embed2 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
无聊的小坏坏3 小时前
实习笔记:用 /etc/crontab 实现定期数据/日志清理
笔记·实习日记
香芋Yu3 小时前
【机器学习教程】第04章 指数族分布
人工智能·笔记·机器学习
●VON3 小时前
Flutter for OpenHarmony 21天训练营 Day03 总结:从学习到输出,迈出原创第一步
学习·flutter·openharmony·布局·技术
香芋Yu3 小时前
【大模型教程——第四部分:大模型应用开发】第1章:提示工程与上下文学习 (Prompt Engineering & ICL)
学习·prompt