技术分享:unity3d基础问题

1.请描述游戏动画有哪几种,以及其原理

答:主要有关节动画、单一网格模型动画(关键帧动画)、骨骼动画。

关节动画把角色分成若干独立部分,一个部分对应一个网格模型,部分的动画连接成一个整体的动画,角色比较灵活Quake2中使用了这种动画;

单一网络模型动画由一个完整的网格模型构成,在动画序列的关键帧里记录各个顶点的原位置及其改变量,然后插值运算实现动画效果,角色动画较真实。

骨骼动画,广泛应用的动画方式,集成了以上两个方式的优点,骨骼按角色特点组成一定的层次结构,由关节相连,可做相对运动,皮肤作为单一网格蒙在骨骼之外,决定角色的外观。皮肤网格每一个顶点都会受到骨骼的影响,从而实现完美的动画。

2.alpha blend 工作原理

答:alpha blend 用于做半透明效果。Color = (源颜色 *    源系数) OP (   目标颜色* 目标系数);其中OP(混合方式)有加,减,反减,取最小,取最大;

????

3.写光照计算中的diffuse的计算公式

答:漫反射光(diffuse)计算公式为:Idiffuse = Dintensity*Dcolor*N.L ; (Dintensity表示漫反射强度,Dcolor表示漫反射光颜色,N为该点的法向量,L为光源向量)

其他,3D渲染中,物体表面的光照计算公式为:

I = 环境光(Iambient) + 漫反射光(Idiffuse) + 镜面高光(Ispecular);

其中,环境光(ambient)计算公式为:

Iambient= Aintensity* Acolor; (Aintensity表示环境光强度,Acolor表示环境光颜色)

漫反射光(diffuse)计算公式为:

Idiffuse = Dintensity*Dcolor*N.L ; (Dintensity表示漫反射强度,Dcolor表示漫反射光颜色,N为该点的法向量,L为光源向量)

镜面光照(specular)计算公式为:

Ispecular = Sintensity*Scolor*(R.V)n; (Sintensity表示镜面光照强度,Scolor表示镜面光颜色,R为光的反射向量,V为观察者向量)

综上所得:整个光照公式为:

I = Aintensity* Acolor+ Dintensity*Dcolor*N.L + Sintensity*Scolor*(R.V)n ;

将一些值合并,并使用白色作为光照颜色,则上述公式可简化为:

I = A + D*N.L + (R.V)n

4.lod是什么,优缺点是什么

答:LOD技术即Levels of Detail的简称,意为多细节层次。LOD技术指根据物体模型的节点在显示环境中所处的位置和重要度,决定物体渲染的资源分配,降低非重要物体的面数和细节度,从而获得高效率的渲染运算。

缺点:?????

5.两种阴影判断的方法工作原理

答:难道是Orthographic和Perspective么??????

5.Vertex Shader是什么?怎么计算?

答:顶点着色器,怎么计算哦???

6.MipMap是什么?作用?

答:在三维计算机图形的贴图渲染中有一个常用的技术被称为Mipmapping。为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为 MIP map 或者 mipmap。

7.用u3d实现2d游戏,有几种方式?

答:1.用本身的GUI

2.把摄像机的Projection调成Orthographic,物体的Z轴不考虑了。

8.u3d中碰撞器和触发器的区别?

答:碰撞器会有碰撞的效果,IsTrigger = false,可以调用OnCollisionEnter/Stay/Exit函数。    触发器没有碰撞效果,isTrigger = true,可以调用OnTriggerEnter/stay/exit函数

9.物体发生碰撞的必要条件

答:其中至少一个物体(运动的)必须带有碰撞器(collider)+刚体(Rigidbody)或者CharacterController,另一个物体也必须至少带有collider。

10.CharacterController和Rigidbody的区别

答:CharacterController自带胶囊碰撞器,里面好像封装了一个刚体

Rigidbody就是刚体,使物体带有物理的特性

11.物体发生碰撞时,有几个阶段,分别对应的函数

答:三个阶段,OnCollisionEnter/Stay/Exit函数

12.u3d中,几种施加力的方式,描述出来。

答:rigidbody.AddForce/AddForceAtPosition,都在rigidbody系列函数

13.什么叫做链条关节

答:Hinge Joint ,他可以模拟两个物体间用一根链条连接在一起的情况,能保持两个物体在一个固定距离内部相互移动而不产生作用力,但是达到固定距离后就会产生拉力。

14.物体自旋转使用的函数叫什么

答:transform.Rotate

15.物体绕某点旋转使用函数叫什么

答:transform.RotateAround

16.u3d提供了一个用于保存读取数据的类,(playerPrefs),请列出保存读取整形数据的函数

答:PlayerPrefs.SetInt(“CoinNum”,100);PlayPrefs.getInt("coinNum");

17.unity3d提供了几种光源,分别是什么

答:4种,Directionl light ,Point Light ,Spot Light,Area Light

18.unity3d从唤醒到销毁有一段生命周期,请列出系统自己调用的几个重要方法。

答:Awake --->  Start ---> Update  --> FixedUpdate --> LateUpdate --->OnGUI -->Reset --> OnDisable -->OnDestory;

19.物理更新一般在哪个系统函数里?

答:FixedUpdate,每固定帧绘制时执行一次,和update不同的是FixedUpdate是渲染帧执行,如果你的渲染效率低下的时候FixedUpdate调用次数就会跟着下降。FixedUpdate比较适用于物理引擎的计算,因为是跟每帧渲染有关。Update就比较适合做控制。

20.移动相机动作在哪个函数里,为什么在这个函数里。

答:LateUpdate,在每帧执行完毕调用,他是在所有update结束后才掉,比较适合用于命令脚本的执行。官网上例子是摄像机的跟随,都是在所有update操作完才跟进摄像机,不然就有可能出现摄像机已经推进了,但是视角里还未有角色的空帧出现。

21.当游戏中需要频繁创建一个物体对象时,我们需要怎么做来节省内存。

答:使用prefab,动态创建对象

22.一个场景放置多个camera并同时处于活动状态,会发生什么

答:游戏界面可以看到很多摄像机的混合。可以用depth(深度),Layer(层)+ Culling Mask,enable = false/true来控制

23.简述prefab的用处和环境

答:Prefab在实例化的时候用到,主要用于经常会用到的物体,属性方便修改。

24.如何销毁一个UnityEngine.Object以及其子类

答:Destory

25.为什么u3d会出现组件上数据丢失的情况

答:一般是组件上绑定的物体对象(文件)被删除了。

26.u3d下如何安全的在不同工程迁移asset数据

答:方法1,可以把assets目录和Library目录一起迁移,

方法2,导出包,

方法3,用unity带的assets server功能

时间: 2024-10-06 21:16:02

技术分享:unity3d基础问题的相关文章

全景视频外包团队:技术分享Unity3D全景漫游

作者:未知 1.建模中使用的图片.文件.文件夹等以及模型中物体.材质等的名称都不能使用中文或者特殊符号,可以使用英文字母.数字.下划线等 2.调整Max的单位为米 3.烘培光影的设置 4.模型的中的植物效果,第一种是单面片植物,需要设置其轴心为其物体的对称中心:第二种是十字交叉的植物效果:第三种则是到Unity3D编辑器中通过地形编辑器系统添加     基本设置 5.Fbx导出插件下载地址: http://usa.autodesk.com/adsk/servlet/item?siteID=123

Coding for Speed 技术分享

上周和公司技术同事们作了次<Coding for Speed>技术分享,本来这只是再普通不过的技术探讨和交流(虽然挂了个颇有噱头的名称),但分享的时候逻辑没理好,语速很快,时间也太紧,因此难言是合格的"分享"."探讨",所以我觉得有必要以简短的文章形式对原 PPT 作点补充,即便分享的内容很少也很简单. 本文将按原 PPT 的内容顺序分别作扩展说明或阐述,部分敏感信息将隐去,或只会简单提及. 作本技术分享的初衷,一是在工作中了解及接触了一些我个人认为可优

UWP 手绘视频创作工具技术分享系列

开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做一个全新的 “来画Pro” 出来,历经三个月的世间,这个产品终于正式上架. (做个小广告,在 Windows 应用商店搜索 “来画Pro” 就可以找到,目前公司定位为收费应用,但是有一个月试用期,如果大家感兴趣,可以跟我要免费代码.这里是 IT之家的报道:https://www.ithome.com

UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制

本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持. 首先我们来看一下 SVG 的文件结构和组成 SVG (Scalable Vector Graphics) 是一种可缩放矢量图形,使用 XML 格式来定义,是一种 W3C 标准,图像在放大或改变尺寸的情况下其图形质量不会有所损失. 下面是一个简单的 SVG 的文件结构例子: <?xml version="1.0" standalone=&

【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D

[Unity3D基础教程]给初学者看的Unity教程(零):如何学习Unity3D http://www.cnblogs.com/neverdie/p/How_To_Learn_Unity3D.html 作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! Unity3D有什么优势 Unity3D是一个跨平台的游戏引擎,如果您开始看这篇博客的话,你一定实在权衡学习或者使用哪种游戏引擎来开发您的游戏,

走进神秘面纱---测试技术分享交流第17期

飞测说:之前介绍过我们的技术分享( http://mp.weixin.qq.com/s?__biz=MzIyMDE3NTcwNA==&mid=402928075&idx=1&sn=8a35b8b22ba2937ae13283f588e52e06#rd ),今天我们刚好第17期的分享结束,在此和大家一起走进去看看-- 以下是技术分享后的汇报总结详情(原邮件内容): 年后我们的的技术分享从本次(第17期)完全恢复到正常轨迹,话说昨晚时光匆匆,2个小时太快了,意犹未尽,因为有收获,所以我

公开运维技术分享的一些经验

技术分享三条实战经验: ● 良好的逻辑性 ● 自己真实经验总结 ● 多练习 首先,说明下,我不是技术分享高手,分享了次数比较多,有点心得:另外,听的分享多了,对好坏也有一些感受. 还有,在此特别感谢下西山居的运维开发架构师,<Puppet实战>的作者刘宇,我的许多分享经验来自于宇哥,并且得到了宇哥多次的,一对一贴身的,手把手的指点. 一 什么是成功的技术分享 判断分享是否成功,关键是看自己要传递的想法,有没有被听众理解和接受,技术分享不是川普竞选,不追求热闹的效果,也不追求所有人都能听懂,一次

UWP 手绘视频创作工具技术分享系列 - 全新的 UWP 来画视频

从2017年11月开始,我们开始规划和开发全新的来画Pro,在12月23日的短视频峰会上推出了预览版供参会者体验,得到了很高的评价和关注度.吸取反馈建议后,终于在2018年1月11日正式推出了全新版本的 UWP App,定名为"来画视频".(根据微软应用商店的命名规则,大家可以继续搜索"来画Pro") 全新版本的 UWP 来画视频,适配了来画平台的手绘视频模板,对创作工具做了全新的改版. 适配来画平台手绘视频模板 来画成立两年多的时间里,一直在积累手绘视频模板,目前

知乎技术分享:从单机到2000万QPS并发的Redis高性能缓存实践之路

本文来自知乎官方技术团队的"知乎技术专栏",感谢原作者陈鹏的无私分享. 1.引言 知乎存储平台团队基于开源Redis 组件打造的知乎 Redis 平台,经过不断的研发迭代,目前已经形成了一整套完整自动化运维服务体系,提供很多强大的功能.本文作者陈鹏是该系统的负责人,本次文章深入介绍了该系统的方方面面,值得互联网后端程序员仔细研究. (本文同步发布于:http://www.52im.net/thread-1968-1-1.html) 2.关于作者 陈鹏:现任知乎存储平台组 Redis 平

2018.09.22 上海大学技术分享 - An Introduction To Go Programming Language

老实说笔者学习 Go 的时间并不长,积淀也不深厚,这次因缘巧合,同组的同事以前是上海大学的开源社区推动者之一,同时我们也抱着部分宣传公司和技术分享的意图,更进一步的,也是对所学做一个总结,所以拟定了这次分享.另外与会的同学大多都是大二大三的"萌新",考虑到受众水平和技术分享的性质,所以实际上这次分享涉及到的知识点都相对基础,当然为了寓教于乐,本人也十分讨厌着重介绍基础语法时可能引起的枯燥,所以加了少少的私货,并且也针对 1.11 及之前版本中或优雅,或局限的特性做了发散性的讲解. 总而