`
dengzhangtao
  • 浏览: 677603 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

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.两种阴影判断的方法工作原理
 答:难道是OrthographicPerspective么??????
 
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.CharacterControllerRigidbody的区别
答: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功能
 
0
3
分享到:
评论

相关推荐

    unity 3D基础教程

    ### Unity 3D基础教程:构建3D平台游戏 #### 引言 Unity是一款功能强大的跨平台游戏开发引擎,被广泛应用于2D和3D游戏的制作中。本教程将带领初学者逐步学习如何在Unity中创建一个基本的3D平台游戏。教程不仅覆盖了...

    基于HTC VIVE的Unity3d基础开发内容

    基于HTC VIVE的Unity3d基础开发内容基于HTC VIVE的Unity3d基础开发内容基于HTC VIVE的Unity3d基础开发内容基于HTC VIVE的Unity3d基础开发内容基于HTC VIVE的Unity3d基础开发内容基于HTC VIVE的Unity3d基础开发内容

    Unity3d基础教学

    Unity3d基础教学 Unity3D是一款强大的跨平台游戏开发工具,由Unity Technologies开发,用于创建包括三维视频游戏、建筑可视化、实时三维动画等多种类型的互动内容。它提供了一个集成的开发环境,支持Windows和Mac ...

    unity3d实验报告.docx

    7. Unity 3D 脚本编程基础 8. Unity 3D 碰撞检测和响应方法 五、Unity 3D 在游戏开发中的应用 1. Unity 3D 在 2D 游戏开发中的应用 2. Unity 3D 在 3D 游戏开发中的应用 3. Unity 3D 在游戏physics引擎中的应用 4....

    Unity3D基础界面和功能介绍.pdf

    Unity3D 基础界面和功能介绍 Unity3D 是一个功能强大且灵活的游戏引擎,具有强大的编辑器和丰富的功能。下面我们将对 Unity3D 的基础界面和功能进行介绍。 Unity3D 基础界面 Unity3D 的基础界面非常友好,...

    Unity3D游戏开发入门教程整理.pdf

    通过本教程,读者将掌握 Unity3D 的基本操作、游戏开发基础知识、游戏世界创建、角色控制器、脚本编写等方面的知识。 第1章:体验第一个游戏雏形 * Unity 3D 简介: Unity3D是跨平台、功能强大的游戏引擎,支持2D...

    Unity3D飞机大战

    1. **Unity3D基础** Unity3D使用C#作为主要脚本语言,它具有直观的可视化编辑器,支持场景、游戏对象、组件等概念。在"飞机大战"项目中,我们需要创建游戏对象(如飞机、子弹、敌人)并赋予它们各自的行为和属性。 ...

    Unity 3D网络游戏实战(全)+Unity3D手机游戏开发第2版金玺曾+Unity3D游戏开发宣雨松合集压缩包

    《Unity3D游戏开发》可能出自宣雨松之手,这可能是一本更全面的教程,涵盖了从基础到高级的游戏开发流程。这可能包括了Unity的基础操作,如场景构建、对象创建、脚本编写(C#语言),以及更复杂的技术,如光照、动画...

    Unity3D教程:基础入门中文版参考.pdf

    Unity3D教程:基础入门中文版参考.pdf

    一系列unity3d基础教程 一共7讲

    总的来说,这个7讲的Unity3D基础教程覆盖了从环境搭建、基本操作到核心功能的全面讲解,对于想要踏入游戏开发领域的初学者来说,是一个非常好的起点。通过系统学习和实践,你将能够掌握Unity3D的基本技能,为后续的...

    Unity3D坦克大战 源代码(3D).zip

    开发者需要理解面向对象编程概念,掌握C#的基础语法以及Unity3D的API调用。 4. **动画系统**:Unity3D的Animator组件使得游戏对象可以有复杂的动画效果。坦克的开火、转动、爆炸等动作都需要相应的动画配合,这涉及...

    Android Unity3D基础.pdf

    根据提供的文件信息,本文将对《Android Unity3D基础.pdf》这一资料中可能涉及的关键知识点进行详细阐述。尽管部分内容未能给出具体的章节或细节,但基于标题、描述以及通常这类教材会涵盖的内容,我们可以推断出...

    Unity 3D自学教程.docx

    本套自学教程将全面解析Unity 3D的基础知识,帮助初学者快速上手。 在第一章中,我们将了解Unity 3D的基本概念,它是一个跨平台的开发工具,支持创建3D和2D内容,并能在Windows、Mac、iOS、Android、Linux、WebGL等...

    Unity3D教程:计算机3D图形基础在Unity中的实现2

    《Unity3D教程:计算机3D图形基础在Unity中的实现2》 在Unity3D中,3D图形的构建和操作离不开向量和矩阵的概念。向量和矩阵是3D图形学中的核心工具,它们在Unity中有着广泛的应用,尤其是在物体的位置、旋转和缩放...

    unity3d材质资源包 unity3d材质资源包

    Unity3D是一款强大的跨平台游戏开发引擎,广泛应用于游戏制作、虚拟现实(VR)、增强现实(AR)以及可视化应用等领域。在Unity3D中,材质(Materials)是至关重要的组成部分,它们定义了游戏对象在渲染时的颜色、...

    unity3d基本教程 包括gui和script入门 非常适合入门的教程

    本教程专注于基础,旨在帮助初学者快速掌握Unity3D的基本操作,包括GUI系统和Script编程,为后续深入学习打下坚实基础。 GUI(Graphical User Interface)在Unity3D中用于创建游戏界面和交互元素,例如菜单、按钮、...

    Unity3D入门基础中文版

    ### Unity3D入门基础知识点详解 #### 一、Unity3D技术基础教程概览 **Unity3D**是一款跨平台的游戏开发引擎,被广泛应用于2D/3D游戏开发、建筑可视化、虚拟现实(VR)及增强现实(AR)等领域。对于初学者而言,《Unity...

    Unity3D高级手册中文版

    当遇到阴影相关的问题时,Unity3D提供了疑难解答指南,帮助开发者解决阴影效果不佳或性能下降的问题。这包括阴影大小的计算、阴影细节的调整等。 7. 优化图形性能(Optimizing Graphics Performance) 优化游戏的...

    Unity3D常用代码集合1

    Unity3D 常用代码集合 Unity3D 是一款功能强大且功能丰富的游戏引擎,提供了许多实用的功能和API供开发者使用。本文将对 Unity3D 中的一些常用代码进行总结和解释...这些技术都是 Unity3D 开发中必不可少的基础知识。

    Unity3D 游戏开发 PDF完整版

    本书适合具备一定编程基础的人员阅读,特别是对那些想要快速入门Unity3D游戏开发的人来说是一本必备的指南。通过本书的阅读和实践,读者不仅可以学会Unity的基本使用,还能通过实例巩固知识点,提高开发能力。 ...

Global site tag (gtag.js) - Google Analytics