Unity3D学习笔记(五):坐标系、向量、3D数学
Unity复习
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Question : MonoBehaviour {
int a = ;
Transform target;
#region Question
// 1、有哪些事件函数
// Awake Start Update FixedUpdate LateUpdate OnEnable OnDisable OnDestroy OnGUI
// OnCollisionEnter(Collision col) OnCollisionStay(Collision col) OnCollisionExit(Collision col)
// OnTriggerEnter(Collider o) OnTriggerStay(Collider o) OnTriggerExit(Collider o) // 2、如何查找场景中游戏物体
// GameObject obj = GameObject.Find("ObjName/ChildObjName") // 3、将自己设置为 找到的那个游戏物体的 父物体
// obj.transform.parent = transform; // 4、挂载脚本的必要条件
// 继承MonoBehaviour 、所有的代码无错误、文件名和类名一致、不能是抽象类 // 5、物体的移动、旋转 // 改变位置的移动
// 1)、往世界的前方移动
// transform.position += Vector3.forward;
// 2)、往自身的前方移动
// transform.position += transform.forward; // API移动
// 1)、往世界的前方移动
// transform.Translate(Vector3.forward, Space.World);
// 2)、往自身的前方移动
// transform.Translate(transform.forward, Space.World);
// transform.Translate(Vector3.forward, Space.Self); // 使物体旋转 (自身)
// 改变欧拉角的形式 来旋转
// 世界的Y轴转
// transform.eulerAngles += Vector3.up;
// 自身的Y轴转
// transform.eulerAngles += transform.up; // API
// 世界的Y轴转
// transform.Rotate(Vector3.up, Space.World)
// 自身的Y轴转
// transform.Rotate(transform.up, Space.World)
// transform.Rotate(Vector3.up) // 使物体旋转 (绕其他物体)
// GameObjet obj; (被绕的游戏物体)
// 绕Y轴转(世界的)
// transform.RotateAround(obj.transform.position, Vector3.up, 1);
// 绕Y轴转(被绕的游戏物体)
// transform.RotateAround(obj.transform.position, obj.transform.up, 1); // 6、如何生成、销毁游戏物体? // 生成(需要有预制体) BulletPrefab
// public GameObject bulletPrefab; // 引用资源中的预制体
// Transform spawnTrans; // 生成的位置及方位
// Instantiate(bulletPrefab, spawnTrans.position /*位置 Vector3*/, Quaternion.identity /*spawnTrans.rotation*/ /*方位 Quaternion*/) // 销毁
// 不要循环调用
// 销毁当前的脚本组件
// 销毁的时机: 在 Update 之后,渲染之前
// Destroy(this);
// 销毁当前的游戏物体
// Destroy(gameObject);
// 5秒以后销毁 当前脚本组件
// Destroy(this, 5); // 7、物体之间发生碰撞的必要条件
// 1)、双方都必须有碰撞器 2)、至少有一个非休眠的刚体 3)、如果一方是运动学刚体,另一个必须是非运动学刚体
// 触发的事件函数 双方的
// OnCollisionEnter(Collision col) OnCollisionStay(Collision col) OnCollisionExit(Collision col)
// 如果勾选了 IsTrigger 会? 在所有的 Collider上
// 会变成触发器,不会再有碰撞效果了 // 什么情况下会触发 触发器
// 1)双方都有碰撞器,至少有一方勾选了IsTrigger 2)、至少有一个有刚体
// 触发的事件函数 双方的
// OnTriggerEnter(Collider o) OnTriggerStay(Collider o) OnTriggerExit(Collider o)
#endregion
// Use this for initialization
void Start () {
Destroy(this);
a = ; } // Update is called once per frame
void Update () { }
}
发生碰撞(触发)的必要条件


简单写法,用normalized函数



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement; // 场景管理
public class MenuControl : MonoBehaviour {
public float w = ;
public float h = ;
// Use this for initialization
void Start () { } // Update is called once per frame
void Update () { }
void OnGUI()
{
// w h Sceen.Width Sceen.Height x = (Screen.width - w)/2 y = (Screen.height - h)/2
float x = (Screen.width - w) / ;
float y = (Screen.height - h) / ;
if (GUI.Button(new Rect(x, y, w, h), "开 始 游 戏"))
{
// 切换到 游戏场景 同步加载(当前场景会卡主) 异步加载(不会阻塞当前场景的运行)
SceneManager.LoadScene("GameScene");//可以添加Build Setting里的字符串
}
if(GUI.Button(new Rect(x, y + * h, w, h), "退 出 游 戏"))
{
Application.Quit(); // 退出游戏 发布以后才有作用 编辑器状态无效
}
}
}
Unity3D学习笔记(五):坐标系、向量、3D数学的更多相关文章
- Directx11学习笔记【九】 3D渲染管线
原文:Directx11学习笔记[九] 3D渲染管线 原文地址:http://blog.csdn.net/bonchoix/article/details/8298116 3D图形学研究的基本内容,即 ...
- Unity3D学习笔记2——绘制一个带纹理的面
目录 1. 概述 2. 详论 2.1. 网格(Mesh) 2.1.1. 顶点 2.1.2. 顶点索引 2.2. 材质(Material) 2.2.1. 创建材质 2.2.2. 使用材质 2.3. 光照 ...
- Unity3D学习笔记3——Unity Shader的初步使用
目录 1. 概述 2. 详论 2.1. 创建材质 2.2. 着色器 2.2.1. 名称 2.2.2. 属性 2.2.3. SubShader 2.2.3.1. 标签(Tags) 2.2.3.2. 渲染 ...
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
- muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor
目录 muduo网络库学习笔记(五) 链接器Connector与监听器Acceptor Connector 系统函数connect 处理非阻塞connect的步骤: Connetor时序图 Accep ...
随机推荐
- (3.13)mysql基础深入——mysql日志分析工具之mysqlsla【待完善】
(3.13)mysql基础深入——mysql 日志分析工具之mysqlsla 关键字:Mysql日志分析工具.mysqlsla 常用工具 [1]mysqldumpslow:官方提供的慢查询日志分析工具 ...
- mysql 数据操作 多表查询 目录
mysql 数据操作 多表查询 准备 多表连接查询介绍 mysql 数据操作 多表查询 多表连接查询 笛卡尔积 mysql 数据操作 多表查询 多表连接查询 内连接 mysql 数据操作 多表查询 多 ...
- druid部署
Quickstart单机测试 http://druid.io/docs/0.10.1/tutorials/quickstart.html (1)Getting started 下载安装Druid: c ...
- golang 的精髓--pipeline流水线,对现实世界的完美模拟
https://blog.golang.org/pipelines https://www.cnblogs.com/junneyang/p/6215785.html 简介 Go语言的并发原语允许开发者 ...
- 关于Flag的定义
最近在维护项目的代码,发现了由于Flag不一致导致的很多问题,现在对这一问题总结. 1,flag分为两种,可以组合的和不可以组合的.可以组合的flag适合用每一位表示一个含义.不适合组合的flag适合 ...
- python输出测试报告测试成功
import unittest # import HtmlTestRunner import HTMLTestRunner class DemoTest(unittest.TestCase): def ...
- selenium webdriver窗口切换(下)
多窗口切换有时候需要在不同的窗口切换,从而操作不同的窗口上的元素.在selenium1.0 中这个问题比较难处理.但WebDriver 提供了switcTo.window()方法可以切换到任意的窗口. ...
- 使用JDBC+POI把Excel中的数据导出到MySQL
POI是Apache的一套读MS文档的API,用它还是可以比较方便的读取Office文档的.目前支持Word,Excel,PowerPoint生成的文档,还有Visio和Publisher的. htt ...
- #C++初学记录(sort函数)
sort函数 前言:当进行贪心算法的学习时,需要用到sort函数,因为初学c++汇编语言,sort的具体用法没有深入学习,所以这里进行sort学习记录并只有基础用法并借用贪心算法题目的代码. 百度百科 ...
- excel 批量在一列数据添加单引号以及逗号
在A列后插入一列B1输入="'"&a1&"'," 然后向下填充 就ok 了 向下填充:选中上方连续单元格,鼠标放在选中区域右下角处(会显示“十” ...