Unity3D中使物体自发光

第一次写博客,能力有限,如有错误还请指正

在网上找了很久能使unity中的游戏物体发光的方法,但是都失败了,偶然看到VRTK-SteamVR Unity Toolkit这个插件中的039_CameraRig_AdaptiveQuality场景里的发光小球就研究了一番,终于困扰多时的问题终于解决.话不多说直接上操作

1,首先打开Unity.  我这里用的是2018.4.11中国增强版,在Hierarchy面板中右键创建一个Cube

2,选中Cube右键添加一个点光源并设置点光源属性和你喜欢的颜色

3,在Asset文件夹下右键创建材质球并调整材质球属性

勾选Emission(勾选上则材质切换为发光模式)点击Color左边的小点为物体选择贴图,点击右边的小笔为物体吸取发光的颜色

4,最后点击Cube为其添加相关组件点击Add Component在输入框中输入需要添加的组件名并把我们创建好的材质球拖到我们创建的Cube上

红框中的两个组件为必须添加的组件,剩下的两个可以不添加

原文地址:https://www.cnblogs.com/XiaoBaiZhaDao/p/11827580.html

时间: 2024-08-01 09:51:01

Unity3D中使物体自发光的相关文章

unity3d中的物体,在Scene窗口中可以看到,而在Game窗口中看不到的原因

unity3d中的物体,在Scene窗口中可以看到,而在Game窗口中看不到的原因: 多半是因为物体所属Layer与照相机的culling mask不一致导致的,或者超出照相机的可视范围. 如果游戏中有多个相机,每个相机都有自己的可视范围和culling mask,物体在移动的过程中,进入不同的相机,其可见性可能是变化的,取决与物体所属Layer与当前相机是否一致

(转)Unity3D中移动物体位置的几种方法

1. 简介 在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale). 其实所有的移动都会导致position的改变,这里所说的通过Transform组件来移动物体,指的是直接操作Transform来控制物体的位置(position). 2.1 Transform.Tra

unity3d中获得物体的size

以size的x方向为例 1:gameObject.renderer.bounds.size.x;//这个值的结果真实反应出有MeshRenderer这个组件的模型的尺寸.不需要再乘以localScale.x. 2:gameObject.GetComponent<MeshFilter>().mesh.bounds.size.x;//通过MeshFilter获得原始模型的mesh,该值返回的结果是原始mesh的尺寸. 若要获得模型的尺寸大小还需要乘以模型的localScale.x. 即:gameO

unity3D中使角色朝着鼠标的方向

思路:首先要获得鼠标的世界坐标(鼠标的位置坐标默认的是屏幕坐标),当鼠标点击时,角色朝着鼠标的方向移动: input.mousePosition获得的是鼠标的屏幕坐标: Vector3 world; public float speed; void Update() {     if(Input.GetMouseButtonDown(0))     {         Vector3 m_pos=Input.mousePosition;         Vector3 player_pos=Ca

Unity3D 中的灯光与渲染

最近仔细研究了Unity3D中的灯光以及渲染,有了全新的认识,在这里整理记录下来.博主所使用的是Unity3D 2017.3.1f1这个版本. 一.Unity3D中的灯光 Directional Light:平行光,用来模拟太阳发射的光. Point Light:点光源,用于模拟场景中的灯和其他本地光源. Spot Light:聚光灯,通常用于人造光源,如手电筒,汽车前灯和探照灯. Area Light:区域光,只能用于烘焙中. Reflection Group:反射探针,用于准确反射周围环境.

关于Unity3D中鼠标移动指定物体的解决方案

一.鼠标拾取物体的原理 在Unity3D当中,想要在观察面(Aspect)中拾取物体(有碰撞属性)的方法一般如下: 1.声明一个观察的摄像机.一个从摄像机原点出发的射线Ray以及一个用于检测碰撞的RaycastHit: 2.将射线Ray定义为从摄像机原点出发并且指向当前鼠标所在的坐标(屏幕坐标): 3.定义碰撞RaycastHit为射线Ray与有碰撞属性的物体的碰撞点. 具体代码实现如下(C#代码): using System.Collections; using System.Collecti

Unity3D中事件函数的运行顺序

Unity3D中脚本的生命周期是依照预先定义好的事件函数的运行流程来演化的,详细流程例如以下: Editor模式下Reset: 当脚本第一次被挂到GameObject上或用户点击Resetbutton时,Reset被调用初始化脚本属性,最经常使用于在Inspector视图中呈现好的默认值. 载入第一个场景First Scene Load: 场景启动时会对场景中的每一个对象运行一遍例如以下事件函数: Awake:游戏启动之前初始化不论什么变量和游戏状态,仅在脚本生命周期中调用一次.不能做协程,St

(转)Unity3d中的碰撞检测

很多时候,当我们的主角与其他GameObject发生碰撞时, 我们需要做一些特殊的事情,比如:子弹击中敌人,敌人就得执行一系列的动作.这时,我们就需要检测到碰撞现象,即碰撞检测.这一篇,我来具体谈谈自己所了解的碰撞检测,希望高手不佞赐教. 首先,我们得明确一点:即产生碰撞信息所需要的条件.事实上,在unity3d中,能检测碰撞发生的方式有两种,一种是利用碰撞器,另一种则是利用触发器.这两种方式的应用非常广泛.为了完整的了解这两种方式,我们必须理解以下概念:    (一)碰撞器是一群组件,它包含了

Unity3D中的线性插值Lerp()函数解析

转自:http://www.aichengxu.com/view/2446604 在unity3D中经常用线性插值函数Lerp()来在两者之间插值,两者之间可以是两个材质之间.两个向量之间.两个浮点数之间.两个颜色之间,其函数原型如下: 1.Material.Lerp 插值 function Lerp(start : Material, end : Material, t : float) : void 在两个材质之间插值 2.Vector2.Lerp 插值 static functionLer