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 ...
随机推荐
- 2F+1模式才是高可用 途牛旅游网 还是通过proxy层
2F+1模式才是高可用 途牛旅游网 还是通过proxy层 f f f f f f f f f
- XPath轴
XPath 轴翻译:Linyupark / 2006-03-24 The XML Example DocumentXML举例文档 We will use the following XML docum ...
- [LeetCode] 561. Array Partition I_Easy tag: Sort
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...
- Winsock网络编程
Winsock是Windows下网络编程的标准接口.使用Winsock编程的步骤一般是比较固定的. 首先要包含头文件#include <WinSock2.h>,同时要添加WS2_32.li ...
- iOS UI基础-1.0加法计算器
1.打开Xcode,新建一个项目 2.Single View Application是最适合初学者的模板 3.填写该应用相关信息 4.搭建UI界面 项目创建完毕后,自动帮我们做了很多配置,也自动生成了 ...
- 分布式一致性Hash
转载: https://blog.csdn.net/bntX2jSQfEHy7/article/details/79549368 为什么要有Hash一致性算法?就像以前介绍为什么要有Spring一样, ...
- CE寻找游戏基址
什么是游戏基址? 游戏基址是保持恒定的两部分内存地址的一部分并提供一个基准点,从这里可以计算一个字节数据的位置.基址伴随着一个加到基上的偏移值来确定信息准确的位置(绝对地址). 全局基址 一级基址 二 ...
- Python 迭代器切片
函数itertools.islice() 正好适用于在迭代器和生成器上做切片操作 >>> def count(n): ... while True: ... yield n ... ...
- linux常用命令:diff 命令
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...
- Linux中Postfix基于SSL收发邮件(九)
其中在整个一套邮件服务器中,默认信息传输都是明文传输的,所以这个在安全性上面就不是那么好.但是如果说一封邮件从发生到对方接受想要全程做到加密处理这个也是很难的.因为一封邮件从一个域转到另外一个域服务器 ...