搜集了一些面试的时候问的图形学相关的题目,并且整理了下来,后续会不断的完善。1、三大主流的Shader Language?HLSL、GLSL、CG2.OpenGL的渲染流程?(不同的管线流程应该是有去别的,大体上是这样的)读取顶点数据→执行顶点着色器→组装图元→光栅化图元→执行片段着色器→写入帧缓冲区→显示在屏幕上。3、Unity Shader的详细流程:(1)顶点数据(2)几何阶段
转载
2024-08-05 23:01:09
79阅读
*****最近研究了一下unity中人物模型的换装系统感觉挺有意思的!特意来分享给大家。*****
首先给大家介绍一下3D人物模型的相关知识:模型一般分为静态模型和动态模型嘛!静态模型简单的来说就是不会动的模型。那么要给一个静态模型换装是不是很简单了!只需要替换它的网格和材质就行了呗!很容易的完成一个换装。但是要是一个动态模型呢?就稍微有点复杂了哦!
我们继续来谈谈一个动态模型它的换装复杂在哪
转载
2024-05-04 14:09:04
23阅读
本文以下面这个A-Pose的三视图为例,介绍如何在blender 2.8x中设置参考图1. 添加前视图参考图切换到正交前视图Shift + A添加图像中的参考 选择图片这样正交前视图的图片就加载进来了按快捷键G再按Shift + Y将前视图移到合适的位置,并按F2修改这个参考图的名字为“front” 选择这个“front” 在它的物体数据属性中深度:设为后(不会遮挡模型)边:·设为前(在背面时不显
转载
2024-04-28 11:49:07
247阅读
一、gui概念无论摄像机拍摄到的图像怎么变换,GUI永远显示在屏幕上,不受变形、碰撞、光照的影响。对话框、战斗值、能量等。示例:用手机录像,摄像的参数不会随着拍摄场景变换。GUI基础GUI部分是每帧擦除重绘的,只应该在OnGUI中绘制GUI,按钮:GUILayout.Button(“Hello”);只读标签GUILayout.label()[注意脚本要实例化到GameObject上](引申)GUI
转载
2024-09-29 14:52:18
100阅读
在我们DirectX课程中,我们讲过一个模型最少拥有网格和材质,可以没有动画。游戏场景中的静态物体就可以是这样的模型,例如花草树木,建筑物等等,他们通过MeshRenderer就可以渲染。对于一个带有动画的FBX文件,里面不仅仅包含了网格和材质,还包括了“骨架”和动画数据,这里的动画数据其实就是骨架中每块骨骼的移动和旋转变换数据。这里大家一定要分清骨架和骨骼两个概念哦。这样的模型需要使用SkinM
转载
2024-06-19 22:20:56
53阅读
研究一下Unity3d自带的AngryBots项目,了解基本的游戏运行机制:
1. 人物的动作控制逻辑
***Player对象***
[外形]
Player对象里有一个对象具有Skinned Mesh Renderer组件,该组件使用的Mesh名为main_player_lorez。
类似的还有表达武器的,名为main_weapon001的GameObject。[操作]: (InputMa
转载
2024-06-11 10:27:07
28阅读
在游戏行业和虚拟现实的推动下,数字化虚拟角色得到了大量的应用。我们对“虚拟角色”的理解已经从单一的虚拟形象演变为玩家设计自己的角色,玩家通过选择不同的皮肤/皱纹/眼影/腮红/唇彩/纹身/痣/晒痕/指甲等脸部妆容创造出独具个性的形象。本文给出一种在unity中基于贴图混合的自定义妆容方案,实现实时的更换眉毛/胡子/腮红等功能。 自定义妆容方案思路如下:美术为整张脸准备一张基础贴图 (只有皮肤的Bas
转载
2024-04-19 13:36:16
110阅读
1. 写在前面 前几天看了cgcookie的一个教程,学习了下怎么根据已有人物模型制作一个仿版的NPC人物,感觉挺好玩的,整理一下放到博客里!先看一下教程里面的最终效果。是不是很像个幽灵~下面是我在自己的工程中实验的结果。中间是游戏角色,两遍两个就是NPC啦。这种技术得到的效果和贴图关系很大,所以如果效果不好再画一张贴图吧2. 实现实现非常简单,一共包含三个部分:改变Mesh材质,给Mesh添加P
Texture(纹理)纹理:是Unity最基础的图片形式 对,纹理就是一个图片,纯粹的图片。 从项目的外部选择一张绿色图片拉到项目Assets/Texture文件夹中, 如下图 点击绿色图片->进入视图Inspector中查看图片的属性Texture Type:图片类型。 如图所示,U3D中纹理的类型分为以上8种(Advanced这种类型已经 被淹没在历史的尘埃里了)。 Default:
转载
2024-03-26 16:50:02
537阅读
版本:unity 5.3.4 语言:C# 这边主要参考了猫也能学会Shader的文章。话说之前是不是说暂时不研究Shader?没事哈,不要在意那么多细节,要的就是莽,疯狂加点就行了。 这边主要是把猫大写的Shader仔细注释了一下,以便以后查阅,暂时不系统的学习Shader。 Shader其实相当于一个后期的处理,在已经有的模型上加个特效什么的,让它的显示
转载
2024-06-07 13:09:49
85阅读
unity在模型上绘制贴图前言在我的上一篇文章【基于高度进行混合的shader】里面分享了如何利用高度图进行贴图的混合,里面使用了T4M插件来绘制控制混合的control贴图。 像T4M这样直接在mesh上对贴图进行绘制的功能对于美术的同学肯定不陌生,很多建模工具都支持直接在模型上对贴图进行绘制,如C4D的bodypaint工具、allegorithmic公司推出的Substance Painte
转载
2024-03-04 02:21:01
111阅读
遮挡贴图遮挡贴图用于提供关于模型哪些区域应接受高或低间接光照的信息。间接光照来自环境光照和反射,因此模型的深度凹陷部分(例如裂缝或折叠位置)实际上不会接收到太多的间接光照。遮挡纹理贴图通常由 3D 应用程序使用建模器或第三方软件直接从 3D 模型进行计算。遮挡贴图是灰度图像,其中以白色表示应接受完全间接光照的区域,以黑色表示没有间接光照。有时,对于简单的表面而言,这就像灰度高度贴图一样简单(例如前
转载
2024-08-05 10:36:26
44阅读
我们都知道,一个三维场景的画面的好坏,百分之四十取决于模型,百分之六十取决于贴图,可见贴图在画面中所占的重要性。在这里我将列举一些贴图,并且初步阐述其概念,理解原理的基础上制作贴图,也就顺手多了。 我在这里主要列举几种UNITY3D中常用的贴图,与大家分享,希望对大家有帮助。 01 首先不得不说的是漫反射贴图: 漫反射贴图diffuse map 漫反射贴图在游
unity学习笔记脚本生命周期单例模式模型和贴图的关系 脚本生命周期项目越写到后面,越发现需要初始化的脚本和物体数量在剧增,并且由于很多重复的功能,需要设置一些管理类去进行管理对后面的维护和修改才能高效完成,所以了解生命周期很重要 比如awake是比start更早开始的,而且如果一个单例挂载在多个物体上,awake的执行顺序不一样会导致加载资源的时候出现问题,比如a物体的awake比b的快,但是
转载
2024-07-02 20:46:54
54阅读
文章目录一、前言二、直观感受法线贴图三、表面法线1、表面法线的概念2、空间与坐标系2.1、世界空间——世界坐标系2.2、局部空间——局部坐标系2.3、切线空间——切线坐标系2.4、小结四、法线贴图1、法线贴图如何存储法线数据2、有法线贴图与无法线贴图效果对比3、徒手画法线贴图凹凸效果五、场景法线颜色可视化1、shader,法线信息转rgb颜色2、摄像机应用shader,Camera.SetRep
unity3d利用lighmapping(光照贴图技术)来烘培物体,这种技术是一种增强场景光照效果的技术,它可以通过较低的性能来使得场景看上去更加真实、丰富,以及更加有立体感。下面简单介绍一下如何烘培物体1. 3dMax模型导出导出时一定要勾选“EmbedMedia”(嵌入媒体)并且最好fbx格式,否则在导入Unity时会成为无贴图的“裸模”2. 模型导入Unityunity去掉勾选“Auto G
转载
2024-04-05 19:49:57
223阅读
优化,老生常谈。游戏的优化和网站、软件优化没有任何不同,除了编码质量和使用技巧以外,都是那些空间<>时间、效果<>性能的老套路。 带*号的,都是极其重要的优化手段,就算没用上你也必须要懂。Debug工具介绍内存优化【适当的GC(Garbage Collection垃圾回收)】GC有两种触发方式,1内存不足自动触发,2手动触发。 首先内存不足时自动GC,经反复测试,并不是很好
转载
2024-05-30 11:50:50
132阅读
Unity自带了很多shader,其中就包含卡通渲染和描边的shader。但是我在实际开发游戏的过程中还是遇到了这些shader无法解决的问题。 于是,我们需要理解如何写Unity的shader,并且按照我们自己的需求编写一个新的shader。 大多数情况下,我们遇到的实际问题要比一个酷炫的demo复杂和恶心。就像Daikon Forge GUI插件非常完善的Atlas图集功能却因为我们的GUI
转载
2024-08-08 15:19:01
133阅读
原理一、 SkinedMeshRender:该对象负责网格绘制。主要数据成员包括var bones : Transform[] 骨骼var materials : Material[] 材质var sharedMesh : Mesh 网格其中Mesh的主要成员是
vertices : Vector3[] 顶点boneWeights :&
当谈到游戏角色的3D模型风格时,有几种不同的风格:写实风格:这种风格追求高度真实感和细节,力求让角色看起来与现实世界中的人物相似。卡通风格:卡通风格通常更夸张和简化,特征更为突出,颜色更加鲜艳,给人一种轻松愉快的感觉。像素风格:像素风格是将角色呈现为像素化的图像,类似于早期8位或16位游戏中使用的风格,有一种怀旧感。手绘风格:手绘风格的角色模型看起来就像是手工绘制的一样,线条更加柔和,给人一种
转载
2024-06-21 22:55:23
0阅读