Unity3D 学习

2013.1.15

I kinematic 运动学
  不受物理引擎影响,只受Transform。

电梯

II 公司的U3D培训【 Unity3D的脚本编程】
1.不同语言的相互调用
1.1 目录级别,分成编译优先级
       先编译目录的脚本可以当成类库来使用,不区分语言。
1.2 SendMessage
特殊的方法调用【"方法名 + 1个参数"】
不过最好是统一语言C#

2.private是默认级别

3.函数重载
   virtual  虚函数
   override 说明函数是基类虚函数的实现
   new 隐藏基类的函数

PS:C#编程指南

4.MonoBehavior
脚本组件的基类

Q:其他基类?
// 比如做插件的基类

5.C#有没有接口?

6.Awake Vs Start
A:只调用1次 先于S
S:激活时调用【enable】 调用多次

7.相对坐标的使用
可以通过把一个obj挪到一个已知obj的下面,重设坐标{0,0,0},调整好坐标后,再挪出来。

8.AddComponentMenu
[AddComponentMenu("Transform/Follow Transform")]
添加脚本的一种快捷方式‘

9.LateUpdate()  obj的update先后顺序无法保证,但是LateUpdate是在所有的Update之后。就好比分层,一般camera定位用。
   FixedUpdate() 固定帧率,跟FPS没关系,就好比在不同FPS下【硬件缘故】向前走的距离都一样,跟帧数无关。一般用在涉及到 Rigidbody的部分。

10.Quaternion 四元数,一般用作旋转【TODO】

11. 走格子移动的2种方式
  11.1 根据按键先计算目标点,update走到目标点
  11.2 有按键时一直走,按键停止时,在计算目标点

2013.1.11

公司的U3D培训【 Unity3D的光影世界 & 坦克大战场景制作】

1.先制作了一个简单坦克大战的场景

    snap setting的使用  ——> 【ctrl + 鼠标移动】单位整数移动,方便摆放场景。

    摆件的高宽最好做成整数

    所有的object最好都做成prefab

    bake 烘焙 静态光相关【TODO】


    light probes 灯光探测器 模拟动态光

        http://game.ceeger.com/Manual/LightProbes.html


    image effect  camera的组件 后期的图片效果处理

    粒子系统 


2013.1.8

1.法线图的使用

2013.1.6

1.公司的U3D培训【basic_3d.pdf】:3d的基础知识

2.如何显示多个tooltip?
添加一个临时变量
	private string lastTooltip = "";
	if (lastTooltip != GUI.tooltip) {
		GUI.Label(new  Rect(10, 150, 100, 20), GUI.tooltip);
		lastTooltip = GUI.tooltip;
	}


2013.1.1

1.为什么模型都是加在某个Cube里? // 便于碰撞检测
2.tank爬山 - 物理引擎 - 添加一个刚体
3.运行期间修改-临时的
4.Component - Camera - Control 一些预制简单的camera脚本
5.

2012.12.27

1.昨天参加了一次公司的U3D培训,为新项目准备。第一讲大概介绍了下unity,基本的界面以及简单的操作,还有一个简单的小例子。
2.脚本语言统一用C#
3.脚本互调 
        OtherScript otherScript = GetComponent<OtherScript>();
        otherScript.DoSomething();
Q:挂在同一个object下的script?
//
4.寻找子/父 obj

	transform.Find("Hand")

这样就可以访问字/父 obj下面的component

 	transform.Find("Hand").GetComponent<OtherScript>().foo = 2;
        transform.Find("Hand").GetComponent<OtherScript>().DoSomething("Hello");
        transform.Find("Hand").rigidbody.AddForce(0, 10, 0);

Q:挂在同一个object下的script?

// 嗯

5.访问所有的children

        foreach (Transform child in transform) {
            child.Translate(0, 10, 0);
        }

Q:transform怎么成了所有children?之前不是只本obj的transform组件么?

//

6.通过哦名字 tag 获取obj

        GameObject go = GameObject.Find("SomeGuy");
        go.transform.Translate(0, 1, 0);
        GameObject player = GameObject.FindWithTag("Player");
        player.transform.Translate(0, 1, 0);


Unity Manual 用户手册


http://game.ceeger.com/Manual/


Mac下MonoDevelop中文乱码解决方法

http://www.cocoachina.com/bbs/read.php?tid-78563.html


官方网站:

http://unity3d.com/unity/publishing/android


学习网站

http://unity3d8.com/

http://game.ceeger.com/

http://www.u3dpro.com/


Blog

http://blog.csdn.net/libeifs/article/details/6612919


问题:

1. MonoDeveloper 不能运行

需要安装 .Net 3.5

2. MonoDeveloper 调试

使用Unity内置的MonoDeveloper

MonoDeveloper 设置:


(1).在 Unity Editor 的 Project 窗口点击鼠标右键, 在弹出菜单中选择 Sync MonoDevelop Project, 将自动运行 MonoDevelop 并打开对应的项目;

(2).关闭 Unity Editor ;

(3).在 MonoDevelop 中为源代码设置断点,点击调试按钮或者按 F5 开始调试,在自动打开的 Unity Editor 中选择 Play 按钮,断点就开始起作用了;

3. 错误 

3.1 Error Error: System.IO.FileNotFoundException: 未能找到文件“C:\Documents”。 (Error: System.IO.FileNotFoundException) (Assembly-UnityScript-firstpass)

解决方法:修改环境变量

参考:It is because your Enviromental Variables TEMP and TMP are set to "C:\Documents and Settings\%username%" by default. After I changed them to "C:\temp" the problems are solved.


3.2 MonoDevelop 应用程序错误

内存不能为read


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值