文档章节

技术分享:unity3d基础问题

科技创造
 科技创造
发布于 2015/03/19 17:51
字数 1951
阅读 30
收藏 0


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功能

本文转载自:http://www.cnblogs.com/ablansetaimeng/p/4351127.html

科技创造
粉丝 37
博文 199
码字总数 174505
作品 0
徐汇
程序员
私信 提问
汽车运输、影视动画、建筑施工,Unite 2019 看技术如何颠覆传统?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csdnnews/article/details/89084821 当人工智能、云计算和大数据开始成为整个互联网的新型基础设施时,作为世...

csdn资讯
04/08
0
0
Unite Beijing 2018|行业应用精彩议题曝光

我们不久之前为大家提前曝光了部分大会精彩技术议题,引起了大家的广泛关注。作为世界顶尖的内容创作引擎,Unity不仅仅可用于跨平台的游戏开发,越来越多的开发者将Unity运用到制造业,汽车,...

weixin_41849687
2018/04/20
0
0
2017Unity开发者大会(上海站 UNITE 2017)

因楼主不能及时查看2017Unity开发者大会(上海站 UNITE 2017)报名信息,还望各位参会者能移步至活动家官网进行在线报名 报名地址:https://www.huodongjia.com/event-3159939.html 早鸟票2...

活动家
2017/02/21
204
0
倒计时 5 天!年度开发者盛会 Unite Shanghai 2019 全日程揭晓(附表)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csdnnews/article/details/89847507 技术沉淀,华丽蜕变。跨越十四个春秋,Unity 在不断迭代的过程中已成为全...

CSDN资讯
05/05
0
0
倒计时 4 天!年度开发者盛会 Unite Shanghai 2019 全日程揭晓(附表)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csdnnews/article/details/89913043

CSDN资讯
05/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
10
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部