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.外部类,内部类有不同访问权限的原因 外部类的上一级程序单 ...
- java-信息安全(十一)-非对称加密算法ECC以及ECDSA签名
概述 信息安全基本概念: ECC算法(Elliptic curve cryptography,椭圆曲线密码学) 一.ECC加密解密[暂时无意义] 椭圆加密算法(ECC)是一种公钥加密体制,最初由Kob ...
- 扩展的friend语法
Java中没有定义friend. friend用于声明类的友元,可以无视类中成员的属性.无论成员3p中的哪一种,友元类或友元函数都可以访问,破坏了封装性,此关键字备受争议.专家会建议程序员使用get/ ...
- [LeetCode] 301. Remove Invalid Parentheses_Hard tag:BFS
Remove the minimum number of invalid parentheses in order to make the input string valid. Return all ...
- MongoDB 工具助手类(.NET)
在开发过程中,需要用到MongoDB,本身MongoDB自己对类的封装就特别好了.为了更加符合我们平时的开发使用,我现在进行了一个简单的封装操作. 连接数据库类:MongoDBContext usin ...
- VUE滚动条插件——vue-happy-scroll
最近自己在自学vue2.0,然后就自己摸索做一个简单的后台管理系统,在做的过程中,总感觉不同浏览器自带的滚动条样式不统一,也很难看,所以就在网上找一些使用vue的滚动条插件.最开始用的是Easy-sc ...
- sql查询一列 重复的数据
select * from 表 where num in(select num from 表 group by num having count(num)>1)
- zw版【转发·台湾nvp系列Delphi例程】HALCON MirrorImage2
zw版[转发·台湾nvp系列Delphi例程]HALCON MirrorImage2 procedure TForm1.Button1Click(Sender: TObject);var op: HO ...
- hdu5195 二分+线段树+拓扑序
这题说的给了n个点m条边要求保证是一个有向无环图,可以删除至多k条边使得这个图的拓扑序的字典序最大,我们知道如果我们要排一个点的时候一定要考虑比他大的点是否可以.通过拆边马上拆出来,如果可以拆当然是拆 ...
- quartz开源作业调度框架的配置
quartz开源作业调度框架的job服务实现,Quartz是一个完全由java编写的开源作业调度框架,使用时候需要创建一个实现org.quartz.Job接口的java类,Job接口包含唯一的方法: ...