1.transform.translate是增加transform面板相应的数值x,y,z是以本地坐标系为方向;transform.transformdirection是以世界坐标系为方向,可以去测试感受下。

2.碰撞检测函数movedirection.y -= gravity*Time.deltaTime;controller.Move(movedirection*Time.deltaTime);角色移动只受到碰撞的约束。角色遇到碰撞时将会沿着碰撞盒滑动(你懂得)。返回值是对移动过程中遇到的碰撞信息的汇总。Move函数并不使用重力。

bool SimpleMove(Vector3 speed)Y轴的速度将会被忽略。速度单位是米每秒。重力自动生效。返回值是角色是否着地。建议每帧之调用一次Move或者SimpleMove。

3.将一个摄像机放在一个胶囊体上,将摄像机坐标设为0,0,0,他将出现在胶囊体身上。

4.if (Input.GetKey(KeyCode.Q)){transform.Rotate(0,-25*Time.deltaTime,0,Space.Self)},以自身坐标系绕轴旋转。

5.第一人称角色控制器视野移动和摄像机rotation.y有关,与摄像机坐标轴和胶囊体坐标轴夹角有关,最好绕y轴旋转。

6.一个animation蝴蝶当原本是在平面上飞的,当把它拉高时,运动时就看不到了,因为他在底下的平面上飞,它只在固定坐标上运动。

7.规范化窗口视图Viewport Rect 1确实是满屏,但是5却不是中屏。x=0,w=0.2显示不出来,w=1却是满屏。x=0.9,w=0.1显示不出来,x=0.6,w=0.2满屏。y=0,h=0.3显示不出来,0.9满屏。原因是运行时场景框上方scale!=1。

8.theCube1.SendMessage(“Start”);.调用对象,类内有各种数据类型匹配不同的函数,是这个类的类型就能访问这些函数。

9.transform.parent.animation.Play;找到一个物体的父物体进行操作。transform.root——不管多少级,访问最顶级的物体!!!

10.GameObject变量 = GameObject.Find(“cube”),变量 = GameObject.FindWithTag(“txt”)。

11.var audio: AudioSource = GetComponent.<AudioSource>();可以不设置变量audio,GetComponent.<AudioSource>().Pause();这样使用。

12.gameObject.Find("Canvas/wenzi").GetComponent(Text).text="恭喜过关!";

13.碰撞--------------------function OnControllerColliderHit(hit: ControllerColliderHit){---------------if(hit.gameObject.tag == "tong")

--------------------------- hit.gameObject.GetComponent.<AudioSource>().Play();                 if(hit.gameObject == "barrel")编译无错,但是没效果。要用标签

14.声音,hit.gameObject.GetComponent.<AudioSource>().PlayOneShot(tong_sound);         var tong_sound :AudioClip;但是声音感觉比上面大很多导致失真。

15.hit.gameObject.GetComponent.<Animation>().Play("fly");

16.下面是几种交互模式,(1).碰撞器

function OnControllerColliderHit(hit: ControllerColliderHit){
    if(hit.gameObject.tag == "tong"){
        hit.gameObject.GetComponent.<AudioSource>().PlayOneShot(tong_sound);

(2).光线透射,编译没出错但是没有效果。

var hit: RaycastHit;
if (Physics.Raycast(transform.position,transform.foward,hit,3)){
    if(hit.collider.gameObject.tag == "hudie"){
        var pzhuangobject: GameObject = hit.collider.gameObject;
        pzhuangobject.SendMessage("mou ge han shu");

(3).触发器trigger,脚本放在物体上,不在主角上。可以正常使用,但是会穿过物体即便是把刚体组件去除了。可以在物体内加一个空物体放触发器组件。还有一个兄弟叫

OnTriggerExit(col:Collider)

chu  fa qi.
function OnTriggerEnter(col:Collider){
    if(col.gameObject.tag == "hudie"){
        transform.Findchild("door").SendMessage("dooropen")

(4) OnCollisionEnter 检测圆形碰撞器间的碰撞。

17.Destroy(gameObject.transform.parent.gameObject);销毁父物体。

18.AudioSource.PlayClipAtPoint(collectSound,transform.position); 这种声音是3D离得远就听不到了。

19.GUItexture,现在只有UI Image和UI RawImage。不知道有什么区别,Raw应该就是GUItexture。var powerui_raw: RawImage;powerui_raw.enabled = true;

可以通过变量控制开关!!!!!!!!!!!!!

20.Renderer类型,变量.material.mainTexture。

21.static变量不会出现在检视面板,并且可以很轻松的被其他脚本引用。

22.忽视碰撞!!!!!!!!!!!!!Physics.IgnoreCollision(transform.root.collider,变量.collider,true);子弹不与枪碰撞。

23.private var n:Animation 动画类型! n = transform.parent.transform.parent.animation

24.协同程序。   StartCoroutine(“targethit”)效果等于 targethit();执行这个函数。

25.暂停程序。    yield new WaitForSeconds(resettime); var resettime:float;

26.设置变量  Light类。

27.自定义数组,var arr = new Array();Sort顺序,Reverse反序。

28.欧拉角,绝对位置。var old:Vector3;  old = transform.eulerAngles;   transform.LookAt(主角);   transform.eulerAngles = old;

30.计数器,将98转化成字符串,取得第一个元素,想得到9.必须再转为整数。。leftTime = 98;

index = System.Int32.Parse(((leftTime.ToString())[0].ToString()));

31.保存信息到注册列表。PlayerPrefs.SetInt(“player_charge”,inventory.charge);PlayerPrefs.Save;    PlayerPrefs.GetInt; 只读。

32.js的枚举类型。enum GameState{idle,runleft,runright},gameState = GameState.idle访问,配合Switch语句,var gameState:GameState;在别的脚本也可以使用这个类型,,var jiaoben2:GameState

33.js里每一个脚本都是一个类,名字就是类名,,,可以声明这个脚本类,并引用脚本里的成员。通过GetComponent获得使用权。

34.偏移图片形成动画效果

frameNumber=frames.Length;

	if(!oneTime){
		myTime += Time.deltaTime;
		myIndex=myTime*(frameNumber-1)/timeLength;
		index=myIndex%frameNumber;
	}
	//更换图片
	GetComponent.<Renderer>().material.mainTexture=frames[index];

frameRate = 1.0f/frameNumber;
GetComponent.<Renderer>().material.mainTextureScale=new vector2(frameRate,1);
GetComponent.<Renderer>().material.mainTextureOffset=new vector2(index*frameRate,1);


35.移动摄像机移动场景

newPositionx = Mathf.SmootDamp(transform.position.x,target.transform.position.x,velocity:float,time:float);

transform.position = new Vector3(。。。);

if(enemy:GameObject != null)。。。

unity3d 知识点随记的更多相关文章

  1. Elementui实战知识点随记

    1. Elementui实战知识点随记 1.1. 表单验证 对于复杂数据,类似于对象里面包含数组,每个数组又包含多个对象,表单验证我查看了网上很多资料都说Elementui不支持,实际上,经过我官网的 ...

  2. unity3d API知识点随记

    1.transform.translate是增加transform面板相应的数值x,y,z是以本地坐标系为方向:transform.transformdirection是以世界坐标系为方向,可以去测试 ...

  3. unity3D 知识点随手记

    最近闲来无事,记记unity3D相关的一些知识点吧,也当作笔记存储.转载请标明出处:http://www.cnblogs.com/zblade/ 1.unity是如何调用Start/Awake等相关函 ...

  4. Unity3D知识点

    世界空间(World):整个虚拟世界的3d空间,在Unity3d中以米作为单位,如长100米宽100米高100米的立体空间. 屏幕空间(Screen):屏幕2d空间,大小就是屏幕的大小,以像素作为单位 ...

  5. UGUI&amp;&amp;Animator模块知识点随记

    1.Render Texture,把这个赋给摄像机,这个对象就保存了摄像机拍摄到的纹理,再把他赋给Raw Image. 2.给Button添加事件关联时,函数不能带有yield WaitForSeco ...

  6. java 知识点随记

    JAVA 读取配置文件: Properties props= new Properties();//文件在src目录下,编译会被加载到classpath下. Props.load(Test.class ...

  7. Halcon知识点随记(每日更新)

    部分积累自重码网视频 1.dev_update_off.dev_update_on 一般dev_update_off放在开始,dev_update_on放在程序结束 dev_update_window ...

  8. C语言若干知识点归记

    一.C语言指针学习架构 1.基本数据类型---指针 2.字符串---指针 3.数组---指针 4.函数---指针 5.结构体---指针 6.共用体---指针 7.枚举---指针 8.位域---指针 9 ...

  9. 【腾讯Bugly干货分享】彻底弄懂 Http 缓存机制 - 基于缓存策略三要素分解法

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/qOMO0LIdA47j3RjhbCWUEQ 作者:李 ...

随机推荐

  1. C语言输出规定长度的整数,不够位数前面补零

    今天在做ACM题目的时候,遇到了这么一个问题,还真别说,这个以前真的没用过,当时就傻掉了,还好这个世界有Google,通过搜索了解了输出这种格式的C语言实现方法.但是没有找到C++的实现方法,希望知道 ...

  2. GS初始化

    开启GameServer模式 init函数,现在看看这个大函数干什么的 //这个init也是GameServerUI里面调的,这个线程其实就做了一些初始化的工作,其实这里面没有什么主不主线程,都是在一 ...

  3. linux 进入包含空格文件名的文件夹

    可以使用加英文的引号cd  /usr/chen/java/"MyeClips\ 如果"\"在行末,是说明本行还未结束,下面一行和本行是一起的意思. 一般短格式的选项(一个 ...

  4. javascript 的对象

    所有事物都是对象 JavaScript 提供多个内建对象,比如 String.Date.Array 等等. 对象只是带有属性和方法的特殊数据类型. 布尔型可以是一个对象. 数字型可以是一个对象. 字符 ...

  5. 使用WCF订阅替换轮训

    之前因为某些特定岗位的人不知道是不方便还是什么的原因,所以随便做了个独立于所有系统之外的邮件审批服务,功能是那些人在邮件里给待审批单据发个“同意”就自动审批通过,大致分为3部分:第一部分每隔固定时间去 ...

  6. Linux系统采用netstat命令查看DDOS攻击的方法

    Linux系统采用netstat命令查看DDOS攻击的方法 来源:互联网 作者:佚名 时间:07-05 15:10:21 [大 中 小] 这篇文章主要为大家介绍了Linux系统采用netstat命令查 ...

  7. MySQL5.6生产库自动化安装部署

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://suifu.blog.51cto.com/9167728/1846671 自动化运 ...

  8. 读书笔记 effective c++ Item 38 通过组合(composition)为 “has-a”或者“is-implemented-in-terms-of”建模

    1. 什么是组合(composition)? 组合(composition)是一种类型之间的关系,这种关系当一种类型的对象包含另外一种类型的对象时就会产生.举个例子: class Address { ...

  9. Mvc Swagger报错的解决办法。

    报错信息:Not supported by Swagger 2.0: Multiple operations with path ‘xxxx.aspx’ and method 'POST' 解决办法出 ...

  10. R数据导入导出(一): read.table()和read.csv()的区别

    之前也参考过一些资料,虽然是这么简单的两个buildin,还是仔细对比了一下,我有两张txt,都是从cube中导出的,就意味着每一列的列数是不一样的.R语言官方文档中有这样一句话不知道大家注意到了没有 ...