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 API知识点随记的更多相关文章

  1. Unity3D重要知识点(转)

    Unity3D重要知识点 数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个人基础,综合能力小公司看你实际工作能力,看你的Demo. 1.什么是渲染管道? 是指在显示器上为了显示出图像而经过的 ...

  2. Elementui实战知识点随记

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

  3. vue API 知识点(2)---选项总结

    一.选项 / 数据 1.data 当一个组件被定义,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例,如果 data 仍然是一个纯碎的对象,则所有的实例将被共享引用同一个 ...

  4. unity3d 知识点随记

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

  5. 记vue API 知识点

    1. v-cloak指令:这个指令保持在元素上直到关联实例结束编译.和 CSS 规则如 [v-cloak] { display: none } 一起用时,这个指令可以隐藏未编译的 Mustache 标 ...

  6. Unity3D重要知识点

    数据结构和算法很重要!图形学也很重要!大的游戏公司很看重个人基础,综合能力小公司看你实际工作能力,看你的Demo. 1.什么是渲染管道? 是指在显示器上为了显示出图像而经过的一系列必要操作. 渲染管道 ...

  7. 关于iOS和OS X废弃的API知识点

    今天在查看苹果接口文档时,突然对于接口的声明知识点比较感兴趣,再网络找到下面这个比较不错的文章,记录一下并分享: 如你所知,已废弃(Deprecated)的API指的是那些已经过时的并且在将来某个时间 ...

  8. API知识点总结

    一.开发api接口开放给其他人调用的api接口(短信接口,支付宝api) 二.api安全弱点数据窃取(解决加密),数据篡改(解决MD5),数据泄露(爬虫技术)(解决令牌)1.加密(HTTPS传输-收费 ...

  9. unity3d API汇总

    using UnityEngine; using System.Collections; public class AllFunction : MonoBehaviour { /* API Versi ...

随机推荐

  1. CS229 6.3 Neurons Networks Gradient Checking

    BP算法很难调试,一般情况下会隐隐存在一些小问题,比如(off-by-one error),即只有部分层的权重得到训练,或者忘记计算bais unit,这虽然会得到一个正确的结果,但效果差于准确BP得 ...

  2. Fragment onActivityResult提前响应,startActivityForResult执行后立即响应onActivityResult的解决方法

    找不到病根真是让人愁白了头: 今天写了一个startActivityForResult,开启一个Activity并拿到返回的结果,但是startActivityForResult刚走,onActivi ...

  3. fastle

    昨晚梦见日本和中国打仗, 发过来了很多导弹, 但是飞行速度很慢, 我还能看到上面的辐射三角号 之后我就趴在地上躲导弹 然后感觉身体被蒸发, 意识逐渐模糊, 就醒了 attack大爷的休闲(修仙)题 感 ...

  4. 《机器学习实战》PCA降维

    注释:由于各方面原因,理论部分不做介绍,网上很多自行百度吧! pca.py import numpy as np import matplotlib.pyplot as plt import math ...

  5. linux 下的常用操作命令

    一,Linux的介绍 略. 二,文件类的常用命令 三,权限类的常用命令

  6. thinkphp在linux下报mkdir()错误

    这个主要是由于缓存文件的权限不够,一般我们git下来的文件时,这个runtime是没有下来的. 解决办法:进入到TP项目下:修改父级目录权限为0777即可linux: chmod -R 777 ./r ...

  7. scala-class

    object Scala { def main( args : Array[ String ] ) : Unit = { val p = , ); println( p ); p.move( , ); ...

  8. 重识linux-压缩文件的原理

    1 一种压缩原理 在系统中,系统使用byte作为最小单位来描述文件大小,但是计算机最小的单位是bit 一个byte=8bit,通常描述一个文件,计算机是使用0和1来存储的,所以系统工程师利用技术把为0 ...

  9. 8.Appium的基本使用-3(安装JDK、android-sdk)

    1.下载安装JDK :https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html安装教程参 ...

  10. spring mvc 常见错误

    1 返回400, —— 请求参数不正确 2 返回406, HTTP ERROR: 406 NOT_ACCEPTABLE ———— @RequestMapping(value = "/user ...