unity 3D 学习笔记
1、父对象的初始位置设,即刚开始的空对象的根节点位置应当设置成(0,0,0) 这样设置可以避免以后出现奇怪的坐标。 GameObject实际上就是一些组件的容器。
unity 使用公用变量原因是,在Unity的Inpsector视图中可以修改这些共有变量。从而调节对象的参数。
Rotate() 在默认的情况下是基于本地坐标进行旋转的,(本地坐标是每一个对象否具有的,一样有三个轴,并且这个坐标轴耕者自己的对象进行移动。是完全绑定在自己的对象上的)不过可以使用Space 来指定旋转参照的坐标系, Space.World 世界坐标系, Space.Self 自身坐标系。
Rotate( 0,speed,0 ,Space.World) 前三个参数指的是X, Y Z, 轴 ,speed指定旋转的速度 ,向量把多个数字存储为一个单元, Vector3 () 有三个数组分别是(X,Y,Z)、需要创建一个新的向量 Vector3不是修改原有的向量,transform是只读的,
使用四元数用于表示在旋转值之间插值(就是通过一些中间值来慢慢从一个值编程另一个值) ,看起来更加的平滑和自然。欧拉角和四元数之间可以切换。
禁止对玩家进行物理旋转,因为场景中的所有事物会受到复杂仿真的影响,会导致对象呗弹开,或者跌倒,当玩家的旋转需要单独是的有鼠标控制的时候,就不能受到物理仿真的影响。 设置通过输入脚本设置玩家的rigibody的freeaeRotation属性,在 void Start(){} 中添加检查玩家刚性 的属性 Rigidbody(刚体) 是对象拥有一个额外的组件,物理仿真作用于刚体并处理他们接触到物体。
Rigidbody body = GetComponent<Rigidbody>();
if (body != null) {
body.freezeRotation = true;
}
2、玩家鼠标控制旋转代码

3、玩家控制 水平移动代码
void Start () {
transform.Translate(0, speed, 0);
//使用键盘的鼠标的输入来控制玩家的角色的移动
float deltaX = Input.GetAxis("Horizontal") * speed;
float deltaZ = Input.GetAxis("vertical") * speed;
transform.Translate(deltaX, 0, deltaZ);
}
4、调整游戏的独立运行的速率,使得其独立于计算机。
transform.Translate(deltaX * Time.captureFramerate, 0, deltaZ * Time.deltaTime);//乘以延迟时间,使得运动独立于计算机的影响
5、调整玩家在受限制的空间中运动,不会跑出空间。 移动CharacterController
unity 3D 学习笔记的更多相关文章
- Unity 3D学习笔记(三)——关于脚本
在脚本中定义的类成员,如果是公共的话,在脚本与游戏对象绑定之后,是可以在Inspector中编辑的,例如下面这个脚本: using UnityEngine; using System.Collecti ...
- Unity Shader学习笔记-1
本篇文章是对Unity Shader入门精要的学习笔记,插图大部分来自冯乐乐女神的github 如果有什么说的不正确的请批评指正 目录 渲染流水线 流程图 Shader作用 屏幕映射 三角形遍历 两大 ...
- AutoCAD/Civil 3D 学习笔记
Civil学习笔记 1.环境配置 1.添加引用: Civil二次开发需要5个基本的AutoCAD的dll引用-acdbmgd.dll, acmgd.dll, accoremgd.dll, AecBas ...
- Unity 3D学习心得,程序员开发心得分享!
Unity开发之路 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创新! ...
- 从0开始学习Unity的学习笔记(I 界面学习和简单模型拼装)
先给一个大致今天学习的图,然后后面是细节 1.下载Unity :官网下载需要版本 2.Unity安装:一定不要有中文路径:一台电脑可以安装不同版本的Unity,但是要安装在不同的文件夹下: 3. 新建 ...
- 【Unity Shader学习笔记】Unity基础纹理-单张纹理
1 单张纹理 1.1 纹理 使用纹理映射(Texture Mapping)技术,我们把一张图片逐纹素(Texel)地控制模型的颜色. 美术人员建模时,会在建模软件中利用纹理展开技术把纹理映射坐标(Te ...
- Unity 3D学习之《Unity 3D 手机游戏开发》1
P10: 设置断点步骤02,在Project窗口右键(是在下图中的红色区域,点右键)选择[Sync Mono Develop Project],打开MonoDevelop编辑器 P11: " ...
- Unity 3D学习之 Prime31 Game Center插件用法
http://momowing.diandian.com/post/2012-11-08/40041806328 It's my life~: 为app 连入Game Center 功能而困扰的朋友们 ...
- css3 3d学习笔记
几个属性: -webkit-perspective:0;景深(默认0), -webkit-perspective-origin:center center;景深基点(默认中间), -webkit-tr ...
随机推荐
- Python18 Django 基础
本节内容 上节项目基础语法补充 Django请求的生命周期 通过这张图,我们可以很好的解释一下这个问题. Django请求的生命周期是由客户端的请求开始:经由路由系统找到相对应的视图函数:视图函数到h ...
- jsp映射为其他地址上去 ???
在web.xml 里面配置servlet不起作用,所以配置jsp,然后在jsp里面跳转到servlet去 ??? 第八天中的<08-jsp常用标签.avi> 在web.xml里面先设 ...
- python - psutil 系统信息模块
# .psutil是一个跨平台库能够轻松实现获取系统运行的进程和系统利用率(包括CPU.内存.磁盘.网络等)信息. # 它主要用来做系统监控,性能分析,进程管理. # 它实现了同等命令行工具提供的功能 ...
- nginx 开启静态 gzip 配合 Vue 构建
在站点配置添加如下代码: location ~* \.(css|js)$ { gzip_static on; } 这是 nginx 的静态 gzip功能,会自动查找对应扩展名的文件,如果存在 gzip ...
- android java 字符串正则表达式 分离特殊字符串
Java中正则表达式的使用 在Java中,我们为了查找某个给定字符串中是否有需要查找的某个字符或者子字串.或者对字符串进行分割.或者对字符串一些字符进行替换/删除,一般会通过if-else.for 的 ...
- [Kubernetes]安装和配置kubectl
安装kubectl 安装kubectl比较简单,几条命令即可(#后面为注释内容): #下载最新版本: curl -LO https://storage.googleapis.com/kubernete ...
- Rasterization 学习笔记
======================Barycentric interpolation====================================== <1>2d/3d ...
- platform模块
import platform ''' python中,platform模块给我们提供了很多方法去获取操作系统的信息 如: import platform platform.platform() #获 ...
- 用Openssl计算ECDSA签名
ECDSA的全名是Elliptic Curve DSA,即椭圆曲线DSA.它是Digital Signature Algorithm (DSA)应用了椭圆曲线加密算法的变种.椭圆曲线算法的原理很复杂, ...
- linux服务器上配置多个svn仓库
linux服务器上配置多个svn仓库 1.在指定目录建立仓库保存总目录,本文示例目录设定为:/usr/local/svn/svnrepos # mkdir -p /usr/local/svn/svnr ...