unity3d面试题与参考答案

1、C#程序题


1

2

3

4

5

6

7

8

9

10

11

private static void aaa(int x) { x = 10; }

private static void bbb(ref int x) { x = 10; }

static void Main(string[] args)

{

 int x = 0; aaa(x);   //现在x的值是:___

 bbb(ref x);            //现在x的值是:___

}

  

答案:0,,10。

 详细解答:一个是复制一份值过去,一个是把地址传过去

2、英文翻译题(把下面文字翻译成中文)

Transform.LocalPosition

var localPosition:Vector3;

Description:

Position of the transform relative to the parent transform.

If the transform has no parent,it is the same as Transform.position.

Note that the parent transform‘s world rotation and scale are applied to the local position when calculating the world position.This means that while 1 unit in Transform.position is always 1 unit in transform.localPosition will get scaled by the scale of all ancestors.

描述:

相对于父级的变换的位置。

如果该变换没有父级,那么等同于Transform.position。

注意当计算世界的位置时,父级变换的世界旋转和缩放被应用到自身的位置。意思是说Transform.position的1个单位是1个单位,Transform.localPosition的1个单位将由所有祖先的缩放获得缩放,简单来所自身位置的1单位将受它所有上级的缩放影响。

详细解答:文章来自于《unity圣典》,参考http://game.ceeger.com/Script/Transform/Transform.localPosition.html

3、U3D提供了一个用于保存读取数据的类,(playerprefs),请列出保存读取整形数据的函数。

答案:PlayerPrefs.SetInt();

详细解答:

PlayerPrefs类可保存与读取3种基本的数据类型,它们是浮点型、整形和字符串型,涉及的方法如下:

SetFloat();保存浮点类型

SetInt();保存整形

SetString();保存字符串型

GetFloat();获取浮点类型

GetInt();获取整形

GetString();获取字符串

4、请简述向量点乘的含义:

向量u点乘向量v;u的长度与v在u上的投影长度的乘积,它是一个标量,而且可正可负。

物理意义:叉乘 点乘,也叫向量的内积、数量积。顾名思义,求下来的结果是一个数。 向量a·向量b=|a||b|cos<a,b> 在物理学中,已知力与位移求功,实际上就是求向量F与向量s的内积,即要用点乘。 叉乘,也叫向量的外积、向量积。顾名思义,求下来的结果是一个向量,记这个向量为c。 |向量c|=|向量a×向量b|=|a||b|sin<a,b> 向量c的方向与a,b所在的平面垂直,且方向要用“右手法则”判断(用右手的四指先表示向量a的方向,然后手指朝着手心的方向摆动到向量b的方向,大拇指所指的方向就是向量c的方向)。 因此 向量的外积不遵守乘法交换率,因为 向量a×向量b=-向量b×向量a 在物理学中,已知力与力臂求力矩,就是向量的外积,即叉乘。 将向量用坐标表示(三维向量), 若向量a=(a1,b1,c1),向量b=(a2,b2,c2), 则 向量a·向量b=a1a2+b1b2+c1c2 向量a×向量b= | i j k| |a1 b1 c1| |a2 b2 c2| =(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1) (i、j、k分别为空间中相互垂直的三条坐标轴的单位向量)。

参考:

http://hi.baidu.com/cly84920/item/7bc79fdf97ff4f91260ae733

http://wenku.baidu.com/link?url=9Nq1MttA0DqgPgYWYIix7hpqUTDv8ifyq4xK09LtzaWpLNxYpnsjhqU1kWS5Tg4ZiLPTAJsqCB4U3Ka_4L4lL1oKfb1yTXSHck6DX1QRrdO

5、物体发生碰撞的必要条件是什么。

答案:两个物体都必须带有碰撞器(Collider),其中一个物体还必须带有Rigidbody刚体。

6、程序题:aaa()函数的意义,以及test()执行以后在控制台输出什么?

public delegate void DoHurt();

protected DoHurt hurtCall;


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<br>public void aaa(DoHurt call)

{

this.hurtCall=(DoHurt)Delegate.Combine(this.hurtCall,call);

}

public void myHurt001()

{

Debug.log("调用1");

}

public void myhurt002(int a,int b)

{

Debug.Log("调用2");

}

public void test()

{

this.aaa(myHurt001);

this.aaa(myHurt002);

this.hurtCall();

}

  

答案:貌似this.aaa(myHurt002)会报错。

详细解答:如果hurtCall为null,call不为null时,hurtCall这个委托变量就指向call指向的方法,如果hurtCall不为null,call为null时,hurtCall这个委托变量就指向hurtCall指向的方法。aaa方法的参数为一个无参的委托变量,这里面指向了myHurt002,而myHurt002是一个有参数的方法。这道题欢迎探讨。

7、游戏对象B是游戏对象A的子物体,游戏对象A经过了旋转,请写出游戏对象B围绕自身的Y轴进行旋转的脚本语句,以及游戏对象B围绕世界坐标的Y轴旋转的脚本语句。

对象B围绕自身的Y轴进行旋转:B.transform.Rotate(Vector.up);

对象B围绕世界坐标的Y轴旋转:B.transform.RotateAround(Vector.up);

详细解答:transform.Rotate();用于设置模型自身旋转;transform.RotateAround();用于设置模型围绕某一个点旋转。

Vector.right:X轴方向;

Vector.up:Y轴方向;

Vector.forward:Z轴方向。

8、已知三维空间中的A、B两个点的坐标,请写出在X-Z平面上, 两个之间的距离的计算函数。

其实就是求A、B两个点在XOZ平面上的投影的距离。投影以后,Y坐标等于0,X、Z不变,AB投影的距离就是两个X坐标和两个Z坐标的差的平方的和,再开方。

9、假设一个只能火力点,它将攻击任何出现在其正前方30度内的、距离在10米之内的敌人,请为其书写开火判断AI脚本。

AI不熟悉,在研究中...

时间: 2024-08-05 14:56:18

unity3d面试题与参考答案的相关文章

(转载)非常全的linux面试笔试题及参考答案

一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 i节点来标识.4. 全部磁盘块由四个部分组成,分别为引导块 .专用块 . i节点表块 和数据存储块.5. 链接分为: 硬链接 和 符号链接 .6. 超级块包含了i节点表 和 空闲块表等重要的文件系统信息.7. 某文件的权限为:d-rw-_r--_r--,用数值形式表示该权限,则该八进制数为: 644 ,该文件属性是 

unity3d最新面试题与参考答案汇总

1.在类的构造函数前加上static会报什么错?为什么? 构造函数格式为 public+类名,如果加上static会报错(静态构造函数不能有访问修饰符)原因:静态构造函数不允许访问修饰符,也不接受任何参数: 无论创建多少类型的对象,静态构造函数只执行一次: 运行库创建类实例或者首次访问静态成员之前,运行库调用静态构造函数: 静态构造函数执行先于任何实例级别的构造函数: 显然也就无法使用this和base来调用构造函数. 2.C# String类型比stringBuilder类型的优势是什么? 如

雅虎公司C#笔试题及参考答案

Question 1. (单选) 在计算机网络中,表征数据传输可靠性的指标是——2 1. 传输率2. 误码率3. 信息容量4. 频带利用率 Question 2. (单选) 以下关于链式存储结构的叙述中哪一条是不正确的?——3 1. 结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构2. 逻辑上相邻的结点物理上不必邻接3. 可以通过计算直接确定第i个结点的存储地址4. 插入.删除运算操作方便,不必移动结点 Question 3. (单选) 以下哪一个不是栈的基本运算——2 1. 删除栈顶

【转载】经典10道c/c++语言经典笔试题(含全部所有参考答案)

经典10道c/c++语言经典笔试题(含全部所有参考答案) 1. 下面这段代码的输出是多少(在32位机上). char *p; char *q[20]; char *m[20][20]; int (*n)[10]; struct MyStruct { char dda; double dda1; int type ; }; MyStruct k; printf("%d %d %d %d %d",sizeof(p),sizeof(q),sizeof(m),sizeof(n),sizeof(

阿里2015暑期实习生业务型产品笔试题(附部分参考答案)

注:加粗部分为参考答案,仅供参考. 1.以下哪些不是以B2B模式为主营的公司? 1688.com唯品会中国化工网我的钢铁网hao123.com慧聪网 2.天猫和淘宝商品有哪些付款方式?支付宝余额付款货到付款财付通付款信用卡付款 3.DAU代表什么意思?日用户点击量月活跃用户数量日活跃用户数量网站独立访客 4.关于去哪儿网.携程网.穷游网.艺龙网,以下说法正确的是? 去哪儿是旅游产品类搜索引擎,携程是代理商 去哪儿和艺龙主要是代理商,携程是旅游产品类搜索引擎 艺龙.携程均主要是旅游产品搜索引擎 去

2019届[月考01]高三理科数学试题参考答案

试题,暂时隐藏 参考答案 原文地址:https://www.cnblogs.com/wanghai0666/p/9650755.html

史上最全Java面试题整理(附参考答案)

下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 1.面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来构造类. 继承:基于基类创建新类. 封装:将数据隐藏起来,对数据的访问只能通过特定接口. 多态性:不同子类型对象对相同消息作出不同响应. 2.访问修饰符public,private,protected,以及不写(默认)时的区别? ? protected 当前类,同包,异包子类. 3.String 是

2016年上半年软考网络工程师考试上午试题参考答案第一时间发布

在广大网友的大力支持下,我们攻克要塞团队第一时间给大家提供2016年软考相关信息,提供的参考答案仅供参考,由于时间关系,并没有进行校验和审核,若有任何疑问,可以加入我们攻克要塞软考团队"网络工程师考试交流群QQ 487697066".

2016年上半年软考网络工程师考试下午试题参考答案第一时间发布

在广大网友的大力支持下,我们攻克要塞团队第一时间给大家提供2016年软考相关信息,提供的参考答案仅供参考,由于时间关系,并没有进行校验和审核,若有任何疑问,可以加入我们攻克要塞软考团队"网络工程师考试交流群QQ 487697066".