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 ...
随机推荐
- 关于static、内部类
1.static不能修饰外部类的原因 static修饰的成员是属于某个类的.而外部类的上一级程序单元是包,所以static不能修饰外部类. 2.外部类,内部类有不同访问权限的原因 外部类的上一级程序单 ...
- 易忘的mysql语句
1.修改主键 ALTER TABLE `resource` DROP PRIMARY KEY ,ADD PRIMARY KEY ( `rid` ) 2.加上auto_increment ) NOT N ...
- BUG笔记:Win8 IE10下input[type="password"]内字符显示被截取问题
这个BUG发生的截图: 这是发生在Windows8 IE10下,type为password的input文本框内输入长串字符后,初次失去焦点的时候会发生的一个BUG. 发生BUG的原因是这个文本框上应用 ...
- Oracle与Sql server 在SQL上的不同
Oracle与Sql server都遵循SQL-92标准:http://owen.sj.ca.us/rkowen/howto/sql92F.html,但是也有一些不同之处,差别如下: Oracle中表 ...
- Dom最常用的API
document方法: getElementById(id) Node 返回指定结点的引用 getElementsByTagName(name) NodeList 返回文档中所有匹配的元素的集合 cr ...
- 001-pro ant design 升级2.0后变更
一.更新点 1.目录调整 2.本地代理服务器调整 roadhog→umi 配置方式 在这个config/config.js配置 "proxy": { "/api" ...
- Flask中'endpoint'(端点)的理解
翻译整理自Stack Overflow:http://stackoverflow.com/questions/19261833/what-is-an-endpoint-in-flask 原文中用到了m ...
- ZOJ:2833 Friendship(并查集+哈希)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2833 A friend is like a flower, a rose ...
- [LeetCode] 1. Two Sum_Easy tag: Hash Table
Given an array of integers, return indices of the two numbers such that they add up to a specific ta ...
- Android下基于线程池的网络访问基础框架
引言 现在的Android开发很多都使用Volley.OkHttp.Retrofit等框架,这些框架固然有优秀的地方(以后会写代码学习分享),但是我们今天介绍一种基于Java线程池的网络访问框架. 实 ...